数据挖掘数据清理、特征工程常用trick
- 数据挖掘总体流程
- 数据清理
- 特征工程
- 特征选择
- 数据平衡度
模型设计与分析
一、数据挖掘总体流程
数据挖掘的一般流程一般如下:首先拿到数据先读取数据进行总体观察,然后进行数据清洗,包括对缺失值的多维处理、对离群点的剔除方法以及对字符、空格等的处理;其次进行特征工程,包括根据所了解的信息进行特征构建、类别特征编码、组合特征构建、特征提取等;再次进行特征选择,过滤无用特征;然后处理类别数据平衡度问题;最后就是模型的设计和分析了。
二、数据清理
1.缺失值的多维度处理
–按列统计
按列统计缺失值个数,通过画图得到各列的缺失比率。如缺失比率较大,比如大于百分之95,那么说明这些列基本不携带有用信息,酌情剔除。如缺失值比率中等,比如百分之五六十,如是类别型的,可增加一个“缺失”的类别,也可酌情用KNN跑出缺失值结果。如缺失值比率比较小,比如百分之5,则可考虑用中值填充。
–按行统计
按行统计每个样本的属性缺失值个数,将缺失值个数从小到大排序,可观察到一些样本有特别多的缺失属性,则可认为是离群点,将其剔除。
另外,缺失值的个数可以作为一个特征,衡量用户信息的完善程度。2.剔除常变量
对于数值特征,可对没个特征求标准差,可以剔除标准差接近于0的特征。3.离群点剔除
除了根据属性缺失的个数来提出离群点,还有一个常用的trick就是在原始数据上训练xgboost,得到的xgb模型输出特征的重要性,取最重要的前n个特征,统计每个特征的缺失值个数,将属性缺失特别多的样本作为离群点剔除。4.字符、空格处理
很多字符属于同一类,但是有大小写区分,则可统一转为小写或大写。其中包含空格的字符串也可能属于同一类,则可将空格剔除。
未完待续。。。