在特征清洗时,我们已经处理过一部分的特征,包括缺失值处理,异常值处理,数据分桶,特征的归一化和标准化。同时,特征工程还包括特征构造,特征选择,降维处理。
1,异常值处理
常用方法包括:
1)箱线图分析
2)box-cox转换(处理有偏分布)
3)长尾截断
2,特征归一化和标准化
1)标准化的目的是为了转换为标准正态分布,常见的方法线性最大值法,对数法
2)归一化的目的是为了转换到【0,1】区间
3,数据分箱:
分箱就是将连续变量离散化,将多状态的离散变量合并成少状态
https://blog.csdn.net/Pylady/article/details/78882220
https://blog.csdn.net/sunyaowu315/article/details/91991208
1)无监督分箱法:
等距分箱
从最小值到最大值之间,均分为 N 等份, 这样, 如果 A,B 为最小最大值, 则每个区间的长度为 W=(B?A)/N , 则区间边界值为A+W,A+2W,….A+(N?1)W 。这里只考虑边界,每个等份里面的实例数量可能不等。
等频分箱
区间的边界值要经过选择,使得每个区间包含大致相等的实例数量。比如说 N=10 ,每个区间应该包含大约10%的实例。
以上两种算法的弊端
比如,等宽区间划分,划分为5区间,最高工资为50000,则所有工资低于10000的人都被划分到同一区间。等频区间可能正好相反,所有工资高于50000的人都会被划分到50000这一区间中。这两种算法都忽略了实例所属的类型,落在正确区间里的偶然性很大。
聚类分箱
基于k均值聚类的分箱:k均值聚类法将观测值聚为k类,但在聚类过程中需要保证分箱的有序性:第一个分箱中所有观测值都要小于第二个分箱中的观测值,第二个分箱中所有观测值都要小于第三个分箱中的观测值,等等。
2)有监督分箱:
卡方分箱法(ChiMerge)
自底向上的(即基于合并的)数据离散化方法。
它依赖于卡方检验:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。
基本思想:
对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它们应当保持分开。而低卡方值表明它们具有相似的类分布。
best-ks分箱,类似基于基尼指数进行二分类
4,缺失值处理
1)不处理,主要是xgboost等树模型,神经网络等
2)删除(缺失数据太多)
3)插值补全,包括均值,中位数,众数,建模预测,多重插补,压缩感知补全,矩阵补全等
4)分箱,缺失值归为一箱
5,特征构造
,主要根据业务指导,也有一些常用的方法:如比例,计数,求和,标准差等方法
1)构造统计量特征,报告计数,求和,比例,标准差等
2)时间特征,包括相对时间
3)地理信息,包括分箱,分布编码等方法
4)非线性交换,包括log/平方/根号
5)特征组合,特征交叉
6)仁者见仁,智者见智
6,特征筛选
1)过滤式:先对数据进行特征选择然后再训练学习器,常见的方法有relief/方差选择法/相关系数法/卡方检验法/互信息法;
2)包裹式:直接把最终将要使用的学习器的性能作为特征子集的评价准则,常见方法有LVM
3)嵌入式:结合过滤式和包裹式,学习器训练过程中自动进行了特征选择,常见的有lasso回归
7,降维处理
1)PCA/LDA/ICA
2)特征选择也是一种降维