特征工程包括识别,清洗,构建和发掘数据的新特征
1. 特征工程是什么
着眼于清洗和组织数据的过程,过程:将数据转换为能更好地表示潜在问题的特征,从而提高机器学习性能
- 要处理的数据都在一定程度上被清洗和组织过了
- 特征是对机器学习过程有意义的数据属性,经常需要查看列表,确定哪些列是特征,哪些只是普通属性
- 转换数据的目的是更好地表达更大的问题
- 特征工程的最终目的是让我们获取更好的数据,以便学习算法从中挖掘模式,取得更好的效果
2. 特征工程的量化
监督学习:预测分析
回归——预测定量数据
主要使用MSE作为测量指标分类——预测定性数据
主要使用准确率作为测量指标
无监督学习:聚类——将数据按特征行为进行分类
主要用轮廓系数作为测量指标,聚类的结果中相似的单词的距离会比较近,不同的单词会分开
统计检验:用相关系数,t检验,卡方检验,以及其他方法评估并量化原始数据和转换后数据的效果
3. 特征理解
- 结构化数据和非结构化数据
- 数据的四个等级
- 识别数据的缺失值
- 探索性数据分析
- 描述性统计
- 数据可视化
4. 特征增强
清洗数据
- 对非结构化数据进行结构化
- 数据填充——在原先没有数据的位置填充(缺失)数据
- 数据归一化:
- 标准化(也称z分数标准化)
- 极差化(也称min-max标准化)
- L1和L2正则化(将数据投影到不同的空间)
其中数据填充可以以简单的方式(把缺失值的特征值删掉),到复杂的方式(在其他特征上进行机器学习,填充特征值)
5. 特征选择
哪些列对我们的机器学习流水线没有帮助而且有害,建议删除某些特征
- 相关系数
- 识别并移除多重共线性
- 卡方检验
- 方差分析
- 理解p值
- 迭代特征选择
- 用机器学习测量熵和信息增益
6. 特征构建
着眼于构建全新的特征,并将其正确地插入数据集
7. 特征转换
对于n维地数据,能不能创建一个k维(k<n)的子集,完全或者几乎完全表示数据,从而提升机器学习速度或者性能
主成分分析(PCA):这种转换将数据分成三个完全不同的数据集,然后用这些结果创造全新的数据集,让其性能超过原先的数据集
8. 特征学习
用目前最精巧的算法自动构建特征,以改善机器学习和AI流水线
- 受限玻尔兹曼机(RBM)
- Word2vec/GloVe等词嵌入(word embedding)算法