特征工程
1.通过数据探索和分析后,可以察觉数据中的异常值。可以通过箱线图或(3-sigma)分析删除异常值,Box-Cox转换(处理有片分布),也可以长尾截断。
2.一般来说,我们对连续性特征进行归一化处理,而对离散型特征进行独热编码,如果数据分布奇怪,可以先对其取对数再进行归一化处理。
3.对于数据型特征可以进行分桶操作,包括等频分桶,等距分桶,Best-Ks分桶(类似利用基尼指数进行二分类)和卡方分桶等方法。
4.在数据中通常会存在缺失值,对缺失值的处理主要包括直接删除(缺失数据太多),不处理(针对类似XGBoost等树模型),插值补全,其中包括均值/中位数/众数/建模预测/多重插补/压缩感知补全/矩阵补全等;还可以进行分箱操作,对缺失值安排在一个箱。
5.在对数据进行处理后,就可以构造特征了。构造特征主要的方法有:构造统计量,报告技术、求和、比例、标准差等,最大/小值,平均数。对于时间特征,包括相对时间和绝对时间,节假日,双休日等;对于地理信息,包括分箱,分布编码等方法;可以对数据进行非线性变换,包括log/平方/根号等;可以对特征进行组合,特征进行交叉;最后可以通过相关专业知识进行提取特征。
6.提取相关特征后,需要对特征进行筛选。而特征筛选的主要方法有:过滤式(filter):先对数据进行特征选择,然后在训练学习器,常见的方法有Relief/方差选择法/相关系数法/卡方检验法/互信息法。包裹式(wrapper):直接把最终将要使用的学习器的性能作为特征子集的评价准则。嵌入式(embedding):结合过滤式和包裹式。学习器训练过程中自动进行特征选择,常见的有lasso回归。
7.有时在提取特征的过程中,会出现特征维度过多,此时可以通过PCA/LDA/ICA来进行降维处理,其实特征选择也是一种降维。