Numpy线性代数常用函数介绍
线性代数在机器学习中有重要的应用,比如在 PCA 降维中,我们可以使用特征值和特征向量找到降维的空间(后面会详细讲解)。另外线性代数也增强了计算的性能,可以提高计算速度。本节将介绍线性代数中常用的计算函数。示例代码如下。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
In [1]: import numpy as np In [2]: a=np.array([[1,2], ...: [3,4]]) In [3]: b=np.array([[0,1], ...: [2,3]])
1) dot()点乘
dot 方法是计算矩阵点乘的方法,请注意它与之前介绍的 multiply 函数的区别。In [4]: np.dot(a,b) # 矩阵相乘 Out[4]: array([[ 4, 7], [ 8, 15]])
2) vdot()向量点乘
vdot 方法是计算向量点乘的方法。In [5]: np.vdot(a[0],b[0]) # 向量相乘 Out[5]: 2linalg 中的 solve 方法是计算矩阵方程组的方法。
In [6]: np.linalg.solve(a, b[0]) # 解方程组 Out[6]: array([ 1. , -0.5])
3) linalg.inv()逆矩阵计算
linalg 中的 inv 方法是计算逆矩阵的方法。In [7]: np.linalg.inv(a) # 求逆矩阵 Out[7]: array([[-2. , 1. ], [ 1.5, -0.5]])
4) linalg.svd()奇异值计算
linalg 中的 svd 方法是计算奇异值矩阵的方法。In [8]: np.linalg.svd(a) # 奇异值分解 Out[8]: (array([[-0.40455358, -0.9145143 ], [-0.9145143 , 0.40455358]]), array([5.4649857 , 0.36596619]), array([[-0.57604844, -0.81741556], [ 0.81741556, -0.57604844]]))
5) linalg.eig()计算特征值与特征向量
linalg 方法用来计算数组的特征值和特征向量。In [9]: np.linalg.eig(a) # 求特征值和特征向量 Out[9]: (array([-0.37228132, 5.37228132]), array([[-0.82456484, -0.41597356], [ 0.56576746, -0.90937671]]))
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。