下面把一些容易忘记的numpy操作重新总结一下:
array1 = np.array([3,4,1,7,45,6,15,37,1,25])
print(array1[array1>10]) # [45 15 37 25]
np.where(array1>10,0,array1) # 这段把array1中大于10的数,全部重置为0,小于10的不变 a>b?a:b类似
下面给出一张数学计算中可能用到的表(需要说明的是一般默认轴是垂直方向,axis=1,是水平方向):
线性代数的相关的计算,一般都是调用numpy中的子模块linalg进行计算:
下面给一个求特征值和特征向量的例子:
arr2 = np.array([[1,2,5],[3,6,8],[4,7,9]])
# 下面计算特征根和特征向量
x = np.linalg.eig(arr2) # 元组的第一个元素是特征值,第二个元素是特征向量
(array([16.75112093, -1.12317544, 0.37205451]), array([[-0.30758888, -0.90292521, 0.76324346],
[-0.62178217, -0.09138877, -0.62723398],
[-0.72026108, 0.41996923, 0.15503853]]))
计算偏回归系数,这里就不赘述了:
多元回归模型最后可以表示为上面:
解方程也是更好用,给定上面这个方程组,来求解:
求解过程如上所示: