Python numpy函式cov()、linspace()、mgrid()、dstack()、concatenate()用法
阿新 • • 發佈:2018-12-19
import numpy as np
做機器學習專案時候可能會用到這幾個函式,現在記錄下來,以下均舉例說明。
一、np.cov
>>> cov = np.cov(X.T)
# 等價於以下操作
>>> cov1 = np.dot((X-mu).T, (X-mu)) / X.shape[0]
作用是求協方差矩陣。
二、np.linspace
>>> e = np.linspace(1, 2, num=10)
>>> e
# array([1. , 1.11111111, 1.22222222, 1.33333333, 1.44444444,1.55555556, 1.66666667, 1.77777778, 1.88888889, 2. ])
作用是在最大和最小數中間生成num個數。
三、np.mgrid
>>> np.mgrid[0:3, 0:3]
array([[[0, 0, 0],
[1, 1, 1],
[2, 2, 2]],
[[0, 1, 2],
[0, 1, 2],
[0, 1, 2]]])
返回一個密集的網格。
四、np.dstack
>>> a = np.array((1,2,3))
>>> b = np.array((2,3,4))
>>> np.dstack((a,b))
array( [[[1, 2],
[2, 3],
[3, 4]]])
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.dstack((a,b))
array([[[1, 2]],
[[2, 3]],
[[3, 4]]])
將兩個矩陣組合。
五、np.concatenate
作用是將矩陣拼接,在訓練模型時候可能要將驗證集和資料集合並,此時可以使用這個函式。
>>> a = np.array( [[1,2,3,4],[5,6,7,8],[1,2,3,4]])
>>> b = np.array([[1,1,1,1],[2,2,2,2],[3,3,3,3]])
>>> c = np.concatenate((a, b), axis=0)
>>> c
array([[1, 2, 3, 4],
[5, 6, 7, 8],
[1, 2, 3, 4],
[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3]])