“魔幻杯”风控算法大赛
背景介绍
国内贷款公司公开了国内贷款行业的风险数据
1、信用违约标签(因变量)
2、建模所需的基础与加工字段(自变量)
3、相关用户网络行为原始数据
为保护借款人隐私及公司知识产权,数据字段已脱敏处理
数据简介
数据编码格式GBK
初赛数据3万条训练集和2万条测试集
复赛新增3万条数据,共模型优化,并新增1万条数据做测试集
所有训练集,测试集都包含3个csv文件
数据信息
Master(每一行代变一个成功借贷样本,每个样本包含200多个各类字段)
Log_info (借款人登录信息)
Update_info (修改贷款人信息)
处理过程
1、数据清洗
对缺失值的多维度处理
1)按列统计缺失值个数,得到确实比率
2)按行统计样本属性缺失值个数,将缺失值个数从小到大排序
对离群点的剔除方法
原始数据中有 190 维数值型特征,通过计算每个数值型特征的标准差,剔除部分变化很小的特征,下表列出的 15 个特征是标准差接近于 0 的,剔除这 15 维特征
离群点剔除
在原始数据上训练 xgboost,用得到的 xgb 模型输出特征的重要性,取最重 要的前 20 个特征(如图 3 所示),统计每个样本在这20 个特征上的缺失值 个数,将缺失值个数⼤于 10 的样本作为离群点。
其余处理
做一些人工干预,归一化,哈希处理
文本处理
将人理解的转成机器能理解的
2、特征工程(raw data提取对最后有帮助的信息,特征决定模型最终上限)
将连续值离散化,数值转log^3,ohe-hot图热编码
地理信息处理
统计每个省 份和城市的违约率
违约率最⼤的⼏个省 份或直辖市为四川、湖南、湖北、吉林、天津、⼭东 构建 6 个⼆值特征:“是否为四川省”、“是否为湖南省”....“是否为 ⼭东省”,
按城市等级合并
类别型特征取值个数太多时,独热编码后得到太⾼维的稀疏特征。 除了采用上面提到的特征选择⽅法外,还可以使用了合并变量的⽅法。按照 城市等级,将类别变量合并,例如⼀ 线城市北京、上海、⼴州、深圳合并, 赋值为 1,同样地,⼆线城市合并为 2,三线城市合 并为 3
经纬度特征的引入
以上对地理位置信息的处理,都是基于类别型的,收集各个城市的经纬度, 将城市名用经纬度替换,这样就可以将类别型的变量转化为数值型的变量, 比如北京市,用 经纬度(39.92,116.46)替换,得到北纬和东经两个数值型特 征。加⼊经纬度后,线下的 cross validation 有千分位的提升
城市特征向量化
将城市特征里的城市计数,并取 Log,然后等值离散化到 6~10 个区间内。 如下图,将 UserInfo_2 这个特征里面的 325 个城市离散为一个 6 维向量。 向量“100000”表 示该城市位于第一个区间。
地理位置差异特征
如下图所示,1,2,4,6 列都是城市。我们构建⼀个城市差异的特征, 比如 diff_12 表示 1,2 列的城市是否相同。 如此构建 diff_12,diff_14,diff_16,diff_24,diff_26,diff_46 这 6 个城市差异的特征
成交时间
listinginfo做几种处理,一种是直接将其当作连续值特征,一种是离散化处理每 10 天作 为⼀个区间,也就是将日期 0~10 离散化为1,日期 11~20 离散化为2
类别型编码
除掉上述特殊生成的特征,其余都做独热编码
组合特征
组合特征需自己尝试, 相除,相加
Updateinfo表特征
根据提供的修改信息表,从中抽取了用户的修改信息特征,比 如:修改信息次数, 修改信息时间到成交时间的跨度,每种信 息的修改次数等等特征。
Loginfo表特征
类似地,从登录信息表里提取了用户的登录信息特征,比如登 录天数,平均登录间 隔以及每种操作代码的次数等。
排序特征
对原始数值型数据按从小到大排序,得到排序特征,排序特征对异常数据有更强鲁棒性,使模型更加稳定,降低过拟合风险
3、特征选择
Xgboost重要度排序
除采取降维算法外,也可通过特征选择降低特征维度
特征选择方法:
最大信息系数(MIC)
皮尔森相关系数(衡量变量间的线性相关性)
正则化方法(L1,L2)
基于模型的特征排序方法(最高效),模型学习的过程和特征选择的过程是同时进⾏ 的,因此采用这种 ⽅法,基于 xgboost 来做特征选择,xgboost 模 型训练完成后可以输出特征的重要性,据此可以保留 Top N 个特 征,从⽽达到特征选择的目的。
4、类别不均衡处理
1、在训练模型时设置类别权重,即代价敏感学习
2、过采样
5 、模型设计与优化
1、Logistic regression + L1正则化
2、XGBoost + bagging
3、Large--scale SVM
4、多模blending
blending以不同权重将多个模型组合
5、模型融合
项目整体思路:
首先数据清洗,对缺失值的多维度处理,对离散点的剔除方法以及对空格字符的处理
其次特征工程,包含对地理位置的特征构建,成交时间特征,类别特征编码,组合特征构建,Updatainfo和Loginfo表的特征提取
再次特征选择,采用XGboost对特征重要性排序
然后处理类别的不平衡度,采用代价敏感学习和过采样
最后模型设计与分析,采用逻辑回归模型,数据挖掘大杀器xgboost,large-scale svm,模型融合
评估指标AUC,本质是排序优化问题,模型顶层融合采用RANK_AVG