机器学习之数据变换——基于Scikit-Learn

《Python机器学习基础教程》笔记

一些算法,例如神经网络和SVM对数据缩放非常敏感,因此,通常的做法是对特征进行调节,使数据表示更适合于这些算法。Scikit-Learn中有4中数据变换方法,分别为:

1.StandardScaler:确保每个特征的平均值为0,方差为1,使所有特征都位于同一量级。

2.RobustScaler:工作原理与StandardScaler类似,但RobustScaler使用的是中位数和四分位数

3.MinMaxScale:计算每个特征的范围(最大值 - 最小值),移动数据,使所有特征都刚好位于0到1之间

4.Normalizer:将数据点投影到半径为1的圆上

随便写两行代码示例一下用法:

scaler = MinMaxScaler()
X_scaled = scaler.transform(X)

这里用的是MinMaxScale方法,如果要用其他几种,则将MinMaxScale改为需要的缩放方式即可,如下:

scaler = StandardScaler()
scaler = RobustScaler()
scaler = Normalizer()

需要注意的是,使用MinMaxScale变换时,能保证训练集缩放到0到1之间,但测试集不一定在此范围。因为最小值和最大值是根据训练集定的,测试集的某些数据可能在此范围外。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值