Python:sklearn中StandardScaler和scale的区别
Posted 山水迢迢
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) # 将规则应用到测试集
以上是关于Python:sklearn中StandardScaler和scale的区别的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中使用 sklearn 使用 MAE 训练线性模型