1. 什么是特征工程:
特征工程是利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特征的过程。
2. 特征工程的重要性
(1)特征越好,灵活性越强
(2)特征越好,构建的模型越简单
(3)特征越好,模型的性能越出色
3. 特征构建
特征构建指的是从原始数据中人工的构建新的特征。
需要花大量的时间去研究真实的数据样本,思考数据本身的意义,思考数据背后所表达的物理或者统计意义。
常用的特征构建方法:混合属性、组合属性、分解或者切分原有的特征
4. 特征提取
特征提取的对象是原始数据(raw data),它的目的是自动地构建新的特征,将原始特征转换为一组具有明显物理意义(Gabor、几何特征[角点、不变量]、纹理[LBP HOG])或者统计意义或核的特征。
常用的方法有:
- PCA (Principal component analysis,主成分分析)
- ICA (Independent component analysis,独立成分分析)
- LDA (Linear Discriminant Analysis,线性判别
对于图像识别中,还有SIFT方法。
5. 特征选择
特征选择:从特征集合中挑选一组最具统计意义的特征子集,从而达到降维的效果。
5.1 filter(刷选器)
侧重于单个特征跟目标变量的相关性。
主要有:
- Pearson相关系数
- Gini_index基尼指数
- IG信息增益、互信息
- 卡方检验
- 相似性肚量(欧式距离、标准化欧式距离、马氏距离)
优点:计算时间上较高效,对于过拟合问题也具有较高的鲁棒性
缺点:倾向选择冗余的特征,不考虑特征之间的相关性
5.2 wrapper(封装器)
wrapper方法实质上是一个分类器,封装器用选取的特征子集对样本集进行分类,分类的精度作为衡量特征子集好坏的标准,经过比较选出最好的特征子集。
分为:
- 错误分类率:使用特定的分类器,用给定的特征子集对样本集进行分类,用分类的精度来衡量特征子集的好坏。
- 前向搜索:初始时假设已选特征的集合为空集,算法采用贪心的方式逐步扩充该集合,直到该集合的特证数达到一个阈值。
- 后向搜索:初始时假设已选特征集合为特征的全集,算法每次删除一个特征,直到特征数达到指定的阈值。
优点:考虑了特征与特征之间的关联性
缺点:当观测数据较少时容易过拟合,而当特征数量较多时,计算时间又会增长。
5.3 Embeded(集成方法)
它是学习器自身自主选择特征,如使用Regularization做特征选择,或者使用决策树思想