特征预处理
- 统一量纲
特征规格不一样,不能放在一起比较。(主要看模型,比如树模型就不太需要,而计算距离之类的模型,或者神经网络就需要),主要有标准化,区间放缩,归一化。
标准化
##标准化,均值为0,方差为1
from sklearn.preprocessing import StandardScaler
#标准化,返回值为标准化后的数据
StandardScaler().fit_transform(iris.data)
区间放缩
from sklearn.preprocessing import MinMaxScaler
#区间缩放,返回值为缩放到[0, 1]区间的数据
MinMaxScaler().fit_transform(iris.data)
归一化
from sklearn.preprocessing import Normalizer
#归一化,返回值为归一化后的数据
Normalizer().fit_transform(iris.data)
- 定量特征二值化
定量特征二值化的核心在于设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0。
from sklearn.preprocessing import Binarizer
#二值化,阈值设置为3,返回值为二值化后的数据
Binarizer(threshold=3).fit_transform(iris.data)
- 对定性特征哑编码
某些机器学习算法和模型只能接受定量特征的输入,那么需要将定性特征转换为定量特征。最简单的方式是为每一种定性值指定一个定量值,但是这种方式过于灵活,增加了调参的工作。通常使用哑编码(其实就是one-hot)的方式将定性特征转换为定量特征,对于线性模型来说,使用哑编码后的特征可达到非线性的效果。由

本文介绍了特征预处理的重要性,包括统一量纲、标准化、区间放缩、归一化、定量特征二值化和定性特征哑编码。讨论了如何处理缺失值和数据变换,以适应不同模型的需求。在特征选择部分,讲解了过滤法、包装法和嵌入法,推荐了方差选择、相关系数、卡方检验和互信息法等方法,并提到了递归特征消除和基于惩罚项的特征选择策略。降维方法则为后续深入学习内容。
最低0.47元/天 解锁文章
1798

被折叠的 条评论
为什么被折叠?



