sklearn 笔记:数据归一化(StandardScaler)
生活随笔
收集整理的這篇文章主要介紹了
sklearn 笔记:数据归一化(StandardScaler)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1?StandardScaler原理
?
????????去均值和方差歸一化。且是針對每一個特征維度來做的,而不是針對樣本。?
,其中μ為所有樣本數據的均值,σ為所有樣本數據的標準差。
?2 用sklearn 實現數據歸一化
from sklearn.preprocessing import StandardScaler # 標準化工具 import numpy as npx_np = np.array([[100, -1., 2.],[2., 0., 0.],[-1,-2,1]]) scaler = StandardScaler() x_train = scaler.fit_transform(x_np) print(x_train) ''' [[ 1.4137317 0. 1.22474487][-0.67489704 1.22474487 -1.22474487][-0.73883466 -1.22474487 0. ]] '''3 fit_transform 和transform的區別
- ?fit_transform是fit和transform的組合。相當于先fit,再tranform(先擬合數據,再標準化)
- ?fit(x,y)傳兩個參數的是有監督學習的算法,fit(x)傳一個參數的是無監督學習的算法(比如降維、特征提取、標準化)
- ?fit和transform沒有任何關系,之所以出來這么個函數名,僅僅是為了寫代碼方便,所以會發現transform()和fit_transform()的運行結果是一樣的。
- 運行結果一模一樣不代表這兩個函數可以互相替換,絕對不可以!transform函數是一定可以替換為fit_transform函數的,fit_transform函數不能替換為transform函數!
4?inverse_transform
將標準化后的數據轉換為原始數據。
from sklearn.preprocessing import StandardScaler # 標準化工具 import numpy as npx_np = np.array([[100, -1., 2.],[2., 0., 0.],[-1,-2,1]]) scaler = StandardScaler() x_train = scaler.fit_transform(x_np)x_train ''' array([[ 1.4137317 , 0. , 1.22474487],[-0.67489704, 1.22474487, -1.22474487],[-0.73883466, -1.22474487, 0. ]]) '''x_train=np.int32(scaler.inverse_transform(x_train)) x_train ''' array([[100, -1, 2],[ 1, 0, 0],[ -1, -2, 1]]) '''?
總結
以上是生活随笔為你收集整理的sklearn 笔记:数据归一化(StandardScaler)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:Stochastic Weig
- 下一篇: 文巾解题 881. 救生艇