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