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 中SVM分类的问题

在 Python 中使用 sklearn 使用 MAE 训练线性模型

从“sklearn”Python库中得到很多错误[关闭]

为啥在 python 中获取 sklearn 中的***谓词的结果不同?

python:使用sklearn在文档聚类中面临内存问题

在 python 中调整 ElasticNet 参数 sklearn 包