机器学习——2(大数据金融风控的预测案例学习总结)

大数据金融风控的预测案例
1)数据准备
a)离群点处理
总体上先对数据进行了解,做一些简单统计,对连续性数值与字符型数值的处理;
离群点的处理:
首先,离群点的定义:是与其他大多数样本的行为或特征分布不一致的那些点;
处理方式:方法1—首先统计每个样本下缺省的特征(列)数,然后进行排序,画图,拆分成训练集与测试集进行对比,这样可以保证训练集与测试集分布一致;(注:在一些模型的训练中,结果往往得不到想要的,有可能是训练集与测试集的样本有偏,即不是接近标准的正态分布,可以对样本取对数来避免此种情况——这样处理的更深层次的原因:机器学习的模型本就是基于大样本服从大数定律的规律建立的,因此,其能较好处理满足正态分布的数据);
b)缺失值处理
对于列类型为连续型数值,首先先判断该列特征数值是否有数值大小的意义,如果有,进一步判断如果该列特征缺失率约为10%,可考虑用中值等来填充,如果缺失值为60%及以上,需要结合数据业务知识,判断其重要性,如不重要则删除,如重要则考虑通过其他手段将其补全;对于列类型为字符型的取值,如果该列缺失率较多,可将“缺失”作为一种字符型取值进行填充,表示其缺失;如果较少,可以考虑取较多的那一类型填充;
c)针对字符型列类型的字母大小写统一的处理;
d)对空格的处理
e)对字符型数值取值较多(通常由于分的太细),导致一些取值样本量太少,训练的时候无法获取权重,这种情况可以将一些取值合并成较大类的字符型变量,例如将北京、上海等合并为一线城市,等等。

2)特征工程
例如:地理信息
a)特征列的增加(特征细粒度进一步划分)与组合(例如col1/col2,log(col1*col2)等方式组合)
考虑业务知识,地理信息考虑进去会比较有用;如果列中关于地理信息的字段不能突出其两者间的差别,可以考虑增加一些特征,例如城市的经纬度进去;相当于增加细粒度的特征,(前提是获取增加的特征诸如经纬度比较容易)
b)删除常变量
某些变量其标准差非常小,接近于常量,波动性不大,这与我们模型(例如决策树)是基于特征列波动性较大的特性进行划分类别的相违背,因此可以考虑将它删除。
c)针对字符型变量进行转逻辑处理
利用one-hot独热编码,pandas自带的get Dummy的函数即可实现。
3)特征选择
主要方法如下:
最大信息系数(MIC),皮尔逊相关系数,正则化(L1,L2),基于模型的特征排序(通常建议用这个方法——现在kaggle竞赛神器xgboost通常可以用来进行特征排序)
4)建模
多模型处理:可以分别建立多个模型:例如建立两种参数取值的xgb模型、GDBT模型、决策树模型;然后通过线性LR模型去拟合各个模型的输出关于最终样本数据的标签之间的回归关系,相当于将每个模型进行线性的组合,得到最终的结果;
5)样本不平衡的问题
针对样本不平衡问题:有两种方法解决——a)在训练模型设置类别权重,也叫代价敏感学习;
b)over sampleing 过采样技术,(推荐采用这个方法)

补充:对于交叉验证,其可以帮助我们选择最佳的模型超参数,选择K折,K的值依赖于我们想要多少量级的数量作为训练样本,70000的样本量 7折的话,相当于每次训练量级为10000

猜你喜欢

转载自blog.csdn.net/sinat_26566137/article/details/80642364