Python:sklearn中StandardScaler和scale的區別


StandardScaler和scale均為Z-score標准化,即減去均值µ除以標准差σ

而在進行數據標准化的時候,通常有兩種方式:

1)將訓練集和測試集統一進行標准化處理,此時均值和方差為整個數據的均值和方差

2)得到訓練集的均值和標准差,用測試集的數據減去訓練集的均值除以訓練集的標准差。

在結果上來看,兩種方法區別不大,不過第二種更偏向與實際應用場合。

 

StandardScaler可以預先生成規則,即生成訓練集的均值與標准差,然后利用訓練集的均值和標准差去分別標准化訓練集和測試集!

有點像概率論里的,用訓練集均值代替期望的感覺!

from sklearn.preprocessing import StandardScaler 
zscore=StandardScaler().fit(raw_train_data)  # 按原始訓練集生成規則,即訓練的均值和標准差
train_data=zscore.transform(raw_train_data)  # 講規則應用到訓練集
test_data=zscore.transform(raw_test_data)  # 將規則應用到測試集

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM