- 特征工程定义
- 数据预处理
- 特征选择
- 降维
特征工程
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。特征工程的目的是最大限度地从原始数据中提取特征以供算法和模型使用。
数据预处理
初步提取的特征可能具有如下问题: - 1.不属于同一量纲:即特征的规格不一样,不能够放在一起比较。无量纲化可以解决这一问题。
- 2.信息冗余:对于某些定量特征,其包含的有效信息为区间划分,例如学习成绩,假若只关心“及格”或不“及格”,那么需要将定量的考分,转换成“1”和“0”表示及格和未及格。二值化可以解决这一问题。
- 3.定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,那么需要将定性特征转换为定量特征。最简单的方式是为每一种定性值指定一个定量值,但是这种方式过于灵活,增加了调参的工作。通常使用哑编码的方式将定性特征转换为定量特征:假设有N种定性值,则将这一个特征扩展为N种特征,当原始特征值为第i种定性值时,第i个扩展特征赋值为1,其他扩展特征赋值为0。哑编码的方式相比直接指定的方式,不用增加调参的工作,对于线性模型来说,使用哑编码后的特征可达到非线性的效果。
- 4.存在缺失值:缺失值需要补充。
5.信息利用率低:不同的机器学习算法和模型对数据中信息的利用是不同的,之前提到在线性模型中,使用对定性特征哑编码可以达到非线性的效果。类似地,对定量变量多项式化,或者进行其他的转换,都能达到非线性的效果。
特征选择Filter
- 方差选择法
- 相关系数
- 互信息
- 卡方校验
- Wrapper
- 递归特征消除法
- Embedded
- 基于惩罚项的特征选择法
- 基于树模型的特征选择法
知乎:机器学习中有哪些特征选择的方法
使用sklearn做单机特征工程
美团技术团队-机器学习中的数据清洗与特征处理综述