特征工程
“数据决定了机器学习效果的上限。” 为了使构建的模型尽可能逼近最优,需要在建模前对特征进行处理。特征工程包含特征变换和特征选择等步骤。
特征变换
标准化
- 为了消除特征之间量纲和取值范围的影响
- 离差标准化:一种线性变换,将原始数据映射到[0,1]区间内。受离群点的影响较大,适合于分布较均匀的数据
- 标准差标准化:也称为零均值标准化,经过处理后数据的均值为0,标准差为1。适合包含离群点的数据。
- 小数定标标准化:通过移动数据的小数点,将数据映射到[-1,1]。
- 函数转换:常用平方、开方、取对数、差分运算等。常用来将不具有正态分布的数据转换为正态分布。
- 时间序列分析中,通过简单的对数变换或差分运算可以将非平稳序列转换为平稳序列。
one-hot 编码
- 将离散型特征的取值扩展到欧氏空间,对应到欧氏空间的点。
离散化
- 将连续型特征(数值型)转换成离散型(分类型)。
- 等宽法:pandas.cut()
- 等频法:pandas.cut(),通过定义将相同数量的记录放进每个区间实现
- 基于聚类分析的方法:K-Means算法
特征选择
- 剔除不相关或冗余的特征,从而达到减少特征个数、提高模型精确度、减少运行时间的目的
- 不同的特征选择方法选择的结果是不同的