1. 程式人生 > >初學資料分析(一)【利用numpy實現矩陣標準化】

初學資料分析(一)【利用numpy實現矩陣標準化】

大資料分析中許多情況下需要用到矩陣標準化(使該矩陣每一列的平均值為0,標準差為1)

Here is the formula: (X-mean())/std()


以上運算是按列進行的,因為通常大資料分析中的矩陣X N*M,其中每一行代表一個數據,而列代表不同的性質,既是N個數據,每個資料有M種性質

應用:

假設現在已經有一個.npy元資料檔案,我們打算用numpy來將它標準化,於是首先將其load進來,然後分別計算mean和std,如下:

import numpy as np

X = np.load('data.npy')

X-=np.mean(X,axis=0)

X/=np.std(X,axis=0)

有必要解釋一下numpy中的這兩個函式

np.mean(X,axis=0) 表示按列求X的平均值,axis=0表示按列進行

np.std(X,axis=0) 表示按列求X的標準差,axis=0表示按列進行

關於這兩個函式的用法和引數,詳見這裡https://docs.scipy.org/doc/numpy/reference/generated/numpy.std.html

於是現在便得到了X的標準化矩陣了

當然我們之後還能將它顯示出來,將矩陣生成圖形之後,plt.show()顯示圖形即可