特征工程
特征工程包括:特征构建、特征提取、特征选择三个部分
Feature Construction 特征构建
描述
从原始数据中人工的构建新的特征,对数据敏感、分析能力强
方法
组合属性
切分属性
如:将数据中的日期字段 按照季度和周期或一天的上午、下午和晚上去构建
Feature Extraction 特征提取
描述
将原始特征转换成一组具有物理意义或统计意义特征的过程,比如:减少原始数据中某个特征的取值个数
目的
Signal Representation 信号表示
The goal of the feature extraction mapping is to represent the samples accurately in a low-dimensional space.
即:特征抽取后的特征要能够精确地表示样本信息,使得嘻嘻你丢失很小(对应于PCA)
信号分类
The goal of the feature extraction mapping is to enhance the class-discriminatory information in a low-dimensional space.
特征抽取后的特征,要使得分类后的准确率很高,不能比原来特征进行分类的准确率低,对线性来说,对应的方法是LDA
方法
PCA、ICA、LDA、SIFT(图像数据)
Feature Selection 特征选择
描述
从特征集合中挑选一组最具统计意义的特征子集,从而达到降维的效果
特征子集生成
功能
从特征集合搜索特征子集
Filter(筛选器,侧重单个特征)
描述:自变量和目标变量的关联,通过分析特征子集内部的特点来衡量其好坏,然后选择排名靠前的(如:top 10%)从而达到特征选择的目的
评价函数: Pearson相关系数,Gini-index基尼指数,IG信息增益、互信息,卡方检验,Distance Metrics距离(相似性度量)
优点:计算时间上较高效,对于过拟合问题具有较高的鲁棒性
缺点:倾向于选择冗余的特征,因为他们不考虑特征间的相关性,有可能某一个特征的分类能力差,但和其他特征结合会得到不错的效果
wrapper(封装器,侧重特征子集)
描述:实质上是一个分类器,封装器用选取的特征子集对样本集进行分类,分类的精度作为衡量特征子集好坏的标准,经过比较选出最好的特征子集
产生特征子集
Classifier error rate(错误分类率):使用特定的分类器,用给定的特征子集对样本集进行分类,用分类的精度来衡量特征子集的好坏
Forward Search(前向搜索):初始时假设已选特征的集合为空集,算法采取贪心的方式逐步扩充该集合,直到该集合的特征数达到一个阈值,该阈值可预先设定,也可通过交叉验证获取
Backward Search(后向搜索):初始时假设预选特征集合F为特征的全集,算法每次删掉一个特征,直到F的特征数达到指定的阈值或者F被删空,该算法在选择删除哪一个特征时和Forward Search在选择一个特征加入F时的做法一致
评价方法:根据产生的子集,使用交叉验证进行试验
优点:考虑到特征与特征间的关联
缺点:1. 观测数据较少时容易过拟合;2. 特征数较多时计算时间较长
Embeded(集成方法)
思路:学习器自身自动选择特征
方法:
Regularization正则化:L1、L2
决策树算法(ID3、C4.5、CART):决策树在树增长过程的每个递归步都必须选择一个特征,将样本划分成较小的子集,选择特征的依据通常是划分后子节点的纯度,划分后子节点越纯,则说明划分效果越好,决策树生成的过程也是特征选择的过程
深度学习
优点:结合了前面两种方法的优点
缺点:必须事先知道什么是好的选择
特征验证
在验证数据集上验证选出来的特征子集的有效性