1. 程式人生 > >Python numpy函式cov()、linspace()、mgrid()、dstack()、concatenate()用法

Python numpy函式cov()、linspace()、mgrid()、dstack()、concatenate()用法

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]])