NumPy

Numpy常用函数总结。

总结参考机器学习算法原理与编程实践

矩阵的初始化

  • 导入包

    import numpy as np 
    
  • 创建全0和全1矩阵

    myZero = np.zeros([3,5])
    myOnes = np.ones([3,5])
    print myZero, myOnes
    
  • 生成随机矩阵

    myRand = np.random.rand(3,4) #3行4列0到1之间的随机数矩阵
    
  • 单位阵

    myEye = np.eye(3) #3x3的单位阵
    

矩阵的元素运算

from numpy import *
  • 元素相加减

    myOnes = ones([3,3])
    myEye = eye(3)
    print myOnes + myEye
    print myOnes - myEye
    
  • 矩阵数乘

(cA)i,j=cAi,j

    mymatrix = mat( [[1,2,3],[4,5,6],[7,8,9]])
    print 10*mymatrix
  • 矩阵所有元素求和

    sum(mymatrix)
    
  • 矩阵各元素的积

    mymatrix2 = ones([3,3])
    print multiply(mymatrix,mymatrix2)
    
  • 矩阵各元素的n次幂

    power(mymatrix,2)
    

矩阵的乘法

    mymatrix = mat([[1,2,3],[4,5,6],[7,8,9]])
    mymatrix2 = mat([[1],[2],[3]])
    dot(mymatrix,mymatrix2)
    print mymatrix * mymatrix2

矩阵的转置

    mymatrix.T

矩阵的行列数、切片、复制、比较

    [m,n] = shape(mymatrix)
    myscl1 = mymatrix[0]
    myscl2 = mymatrix.T[0]
    mycpmat = mymatrix.copy()

矩阵的行列式

    A = mat( [[1,2,3],[4,5,6],[7,8,9]])
    linalg.det(A)

矩阵的逆

    linalg.inv(A)

矩阵的秩

    linalg.matrix_rank(A)

可逆矩阵求解

    linalg.solve(A,T(b))

向量范数

    linalg.norm(A)

均值、方差、协方差、相关系数

    A = mat([[88,96,104,111],[12,14,16,18]])
    mean(A[0])
    std(A[0])
    cov(A)
    corrcoef(A)

特征值、特征向量

    A = [[8,1,6],[3,5,7],[4,9,2]]
    evals, evecs = linalg.eig(A)
提供的引用内容中未提及Numpy桥的相关信息,不过可以从一般情况介绍Numpy桥。 Numpy桥通常是指在不同系统、框架或者编程语言之间建立起连接,使得它们能够与Numpy进行交互,实现数据的传递和操作。在Python生态系统中,Numpy是一个用于高效数值计算的基础库,很多机器学习框架、数据分析工具等都依赖于Numpy进行数组操作。 ### 介绍 Numpy桥是一种机制或者接口,它允许其他系统或者框架利用Numpy的功能。例如,在深度学习框架中,如TensorFlow、PyTorch等,Numpy桥可以让这些框架与Numpy数组进行无缝转换。这意味着可以将Numpy数组传递给深度学习模型进行训练或者推理,也可以将模型的输出转换回Numpy数组进行后续的分析。 ### 用途 - **数据交换**:方便不同工具之间的数据传递。比如在数据分析阶段使用Pandas处理数据,Pandas底层依赖Numpy数组,通过Numpy桥可以将处理好的数据传递给机器学习模型进行训练。 ```python import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression # 创建一个Pandas DataFrame data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]} df = pd.DataFrame(data) # 通过Numpy桥将DataFrame转换为Numpy数组 X = df['x'].values.reshape(-1, 1) y = df['y'].values # 使用Numpy数组进行机器学习模型训练 model = LinearRegression() model.fit(X, y) ``` - **代码复用**:可以复用基于Numpy开发的大量数值计算代码。不同的科学计算库可能有不同的数组表示方式,通过Numpy桥可以在不改变原有代码的基础上,将这些库与Numpy集成。 - **性能优化**:Numpy本身经过高度优化,使用Numpy桥可以利用Numpy的高效计算能力,提高整个系统的性能。 ### 相关信息 许多开源项目都提供了与Numpy的桥接功能。例如,在Python中,像Scikit - learn、Matplotlib等库都可以直接使用Numpy数组作为输入。在其他编程语言中,也有一些工具可以实现与Numpy的交互,如R语言中的reticulate包可以在R环境中调用Python的Numpy库。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值