下面把一些容易忘記的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]]))
計算偏回歸係數,這裏就不贅述了:
多元迴歸模型最後可以表示爲上面:
解方程也是更好用,給定上面這個方程組,來求解:
求解過程如上所示: