简单分享机器学习在特征工程中对数据做无量纲化处理提高模型准确率

本文介绍了在特征工程中处理数据大小差异的方法,重点讲解了标准化和归一化两种无量纲化技术,推荐标准化处理,尤其是Sklearn库中的StandardScaler和MinMaxScaler方法及其使用场景。

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

1. 特征工程中目标数据值大小差异太大时,为了不影响后期模型的预测结果及准确率我们通常会对数据进行无量纲化处理:

        1.1 这里提到的无量纲化处理(简单讲就是对单位不同的数据进行统一的放缩 为 均值为0,标准差为1的范围,从而可以进行比较于处理)

                 这里推荐二种方法:

                (1). 标准化处理,该方法的优点是:较稳定不会受到数据中异常值的influence

                      (x - mean)/ std

                        API:sklearn.preprocessing .StandardScaler()
                     

 StandardScaler.fit_transform(x_train)
 StandardScaler.transform(x_test)

                           # 这里x_train为划分数据集后的训练集的特征值

                          # x_test为训练集中的目标值,需要注意的一个点是:对x_test只进行一个transform的一个转化,因为在上面以及对数据进行了一个fit,所以这里不用再对数据进行放缩处理,直接用上面特征值的数据放缩程度来进行一个转化即可   

                (2).归一化处理,该方法适用于数据精确 的小数据场景,但很容易收到min和max值的影响所以不适用于数据集中存在极大极小值的场景

                        (x - min) / max -min 

                        API:sklearn.preporcessing.MinMaxScaler()

transfer = MinMaxScaler()
transfer.fit_transform(x_train)
transfer.transform(x_test)

        总结:上述二种无量纲化处理较为常用且适用性比较强的是第一种 标准化处理,

上述二种api中也可以手动传入参数来指定你要缩放数据的一个范围,对其转化器中传入feature_range(0,1)  即代表缩放数据范围为0到1,通过如果你没有特殊需求的请款下用默认范围就行

数据的无量纲化处理是对于单位不同的数据以及差异较大的数据,当然具体情况具体分析哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值