大纲
数据挖掘中数据预处理的一些简单操作可以看作是精简版的特征工程
实际特征工程主要分为两部分:特征提取和特征选择。
可以理解为,特征提取就是根据已有的原始数据竟可能多的利用已有专业知识或统计学知识创建特征(尽可能多的创建特征也并不是说完全无联系的瞎建特征);
特征选择就是在前一步的已创建新特征中再作进一步的精简与提炼,考虑到计算复杂度以及计算速度的前提下以较可能少的特征获得最好的预测效果
特征提取
各种初始特征最后都是要转化为数值特征
数值特征
对于数值特征,主要考虑的因素是大小和分布
主要的操作如下:
截断(保持一定精度即可);二值化(有或无);分桶(均匀分桶或基于分布分桶);缩放(标准化);缺失值处理(补值或缺失作为特征);特征交叉(数值特征之间相互加减乘除);非线性编码(多项式核、高斯核);行统计量(统计学习)
类别特征
类别特征不仅可以由原始数据中直接提取,也可以通过将数值特征离散化得到
主要的操作如下:
自然数编码(随机分配编号);独热编码(one-hot);分层编码(类似身份证号可以分段编码);散列编码(多维到低维的映射,缺点可能会冲突);计数编码(出现频次作为编号);计数排名编码(频次排名作为编号);目标编码(基于目标变量的编码,例如目标为连续值则取该特征该取值下目标变量的均值作为编号);类别特征之间交叉组合;类别特征和数值特征之间交叉组合
时间特征
时间窗口
空间特征
经纬度作为数值变量;经纬度作散列;坐标拾取获得街道、社区等属性;位置之间的距离计算
文本特征
主要补助如下:
语料构建;
文本清洗(具体是否需要清洗根据具体应用场景而定;清洗内容和方法与预测目标对象有关);
分词(包括词性标注、词形还原和词干提取、文本统计特征、N-Gram模型);
Skip-Gram模型(词集模型:向量的每个分量取值0/1代表出现与否;词袋模型:分量取值为词频;TF-IDF词频逆文档频率:如果词在一篇文章中出现的频率TF高并且在其他文章中很少出现则认为此词具有很好的类别区分能力)
余弦相似度;
Word2Vec(高维空间映射成低维词向量,从而方便计算距离寻找同义词)
特征选择
过滤方法
过滤分为基于单变量以及基于多变量(基于单变量的过滤方法没有考虑到特征之间的相关性而仅仅是考虑特征与目标变量之间的相关性)
常用过滤方法:
覆盖率(计算每个特征的出现频次低的删);
皮尔森相关系数(按相关性排序);
Fisher得分(好的特征应该是基于目标变量同一类别中取之相似而不同类别中取值差异大);
假设检验;
互信息(相关性排序);
最小冗余最大相关性(针对多变量,对跟已选择特征的相关性较高的冗余特征进行惩罚mRMR=max{s}{D(S,c)}-R(S)(公式不规范用于自我简单理解),增量贪心策略,特征一旦被选择就不会删除);
相关特征选择(好的特征集合包含跟目标变量非常相关的特征而特征彼此不相关)
封装方法
直接使用机器学习算法评估特征子集的效果从而改变特征子集使得模型效果最优
嵌入方法
将特征选择嵌入到模型的构建过程中,结合前两种方法的优点并且弥补不足
举例:LASSO,L1正则可进行特征选择让特定的回归系数为零即弱化甚至删除某一特征的影响;
树模型,深度越浅的特征分叉选择对应特征分类能力越强,因此可基于特征出现次数或深度对特征进行重要性排序