sklearn数据标准化的4个问题

本文探讨了sklearn数据标准化过程中的3个核心问题:fit和transform的流程、三种标准化方法(Z-Score、0-1归一化、RobustScaler)的比较,以及数据标准化与K折交叉验证的顺序。强调了标准化在机器学习中的重要性,建议根据实际数据和模型效果选择合适的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sklearn数据标准化的3个问题

    数据标准化是机器学习建模之前的常见操作,可以减小不同特征的数据量纲的影响。在机器学习数据处理过程中,笔者整理了4个常见的问题:

  • 问题1:fit和transform的流程
  • 问题2:标准化,归一化和鲁棒化的三种处理方式的运算方式和手动代码编写。
  • 问题3:面对K折交叉验证时,先对所有数据集统一标准化,还是在每一折内,分别对训练集标准化作用到各自测试集。

1.标准化流程

在sklearn中,数据标准化与模型类似。
可以通过fit再transform的方法对数据进行处理,例如,对训练集进行fit(X_train),使得标准化模型可以在训练中学习到相应的参数,之后将参数运用到测试集中进行transform(X_test)。此时,训练集的数据是不会变化的(还是标准化之前的数据)。
而fit_transform(X),同样是进行模型的训练,但会把训练集数据同时进行标准化处理,即改变初始的X。

2.三种标准化比较

from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import RobustScaler

X是df.values,即建模之前不含标签的数据。
下面以X的第一个特征(第一列数据)为例,手动编写代码,实现与sklearn中的三种标准化相同的结果。

2.1 Z-Score标准化

即将某一列数据处理成均值为0,方差为1的数据。优点是受异常值影响较小。公式为:(X-μ)/σ

# Z-score标准化
l0 = [i[0] for i in X]
print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值