【Python与机器学习 5-1】特征工程

本文介绍了机器学习中的特征工程,涉及数值型、有序型和类别型特征的处理方法。数值型特征通过归一化和标准化提高模型性能,有序型特征转化为有序数值,类别型特征采用独热编码避免大小含义。强调了在处理过程中,测试集应与训练集使用相同的scaler和encoder以保持一致性。
摘要由CSDN通过智能技术生成

在机器学习之前,要对数据进行预处理,其中就包括特征工程。特征可以分为数值型特征,有序型特征和类别型特征,对不同的特征有不同的处理方法。
注意,在测试集上的scaler和训练集上的scaler要保持一致;不要在训练集和测试集分别使用不同的scaler
同理,对于One-Hot Encoding,也是一样,要保证测试集和训练集的encoder一致

数值型特征

什么是数值型特征

数值型特征包括长度、宽度、像素值等。

处理

数值型特征是可以直接使用的,那为什么还要进行处理?因为很多数值型的范围差距特别大,对某些模型来说我们就需要对数值范围进行标准化或归一化,这样可以提高模型的性能。如:线性回归,kNN,SVM,神经网络等
Sklearn 中有很多种scaler可以供选择,也就是对数据进行预处理的不同种方式。下面介绍两种scaler,归一化和标准化

归一化

1.什么是归一化
归一化是将此特征的最大值和最小值找到,然后将每个值都减去最小值再除以最大值和最小值的差,得到的值即归一化的值,归一化后范围都在0-1之间。数学公式如下图所示
这里写图片描述

2.在sklearn中进行归一化
导入归一化的模块minmaxscaler

from sklearn.preprocessing import MinMaxScaler

归一化MinMaxScaler()

scaler = MinMaxScaler()

对训练集进行归一化需要用fit

X_train_scaled = scaler.fit_transform(X_train)

对测试集进行归一化不用fit,因为是用训练集fit好的参数进行transform

X_tes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值