system: [SYSTEM]

user: 3. 实验过程 3.1. 实验数据和描述 本实验所采用数据来自拍拍贷“魔镜杯”风控数据大赛，数据集共有三个数据表，分别是用户行为信息表Master、用户登录数据表LogInfo、用户信息修改数据表Userupdate。用户行为信息表Master有5万多条数据，每个样本包含228个特征；用户登录数据表LogInfo有96万条数据；用户信息修改数据表Userupdate有61万条数据，数据特征已经进行了脱敏处理。三个表的主要特征如表1、表2、表3所示： Table 1 User behavior information tabl 特征名称 含义 Idx 每一笔贷款的unique key，可以与另外2个表的idx相匹配。 UserInfo_* 借款人特征特征 WeblogInfo_* 网络行为特征 Education_Info* 学历学籍特征 ThirdParty_Info_PeriodN_* 第三方数据时间段N特征 SocialNetwork_* 社交网络特征 LinstingInfo 借款成交时间 Target 违约标签(1：贷款违约；0：正常还款) 表1. 用户行为信息表 Table 2 User login data tabl 特征名称 含义 Idx 每一笔贷款的unique key LogInfo1 操作代码 LogInfo2 操作类别 表2. 用户登录数据表 Table 3 User information update tabl 特征名称 含义 Idx 每一笔贷款的unique key ListingInfo1 借款成交时间 UserupdateInfo1 修改内容 UserupdateInfo2 修改时间 表3. 用户信息修改数据表 3.2. 数据预处理 1) 数据清洗 数据预清洗主要包括缺失值处理、文本处理、删除常变量。 缺失值处理：用户行为信息表Master的行和列的缺失值有不同处理方式。列(属性)统计缺失值比率，缺失值比率为60%左右的数值型特征用−1填充，将“是否缺失”看做另一种类别。其他缺失值比率比较小的数值型特征用中值填充，字符型特征用unknown填充。行统计每个样本的属性缺失值个数，将缺失值个数按从小到大排序，以序号为横坐标，缺失值个数为纵坐标，画出图1散点图，有部分样本缺失值很高，对缺失值超过120的样本进行删除。 图1. 每一条样本缺失值属性个数 文本处理：对用户行为信息表Master中含有空格的文本型特征进行删除空格处理，并统一取值形式(将重庆、重庆市统一为重庆)。对用户信息修改数据表Userupdate中的文本型数值统一大小写。 删除常变量：计算用户行为信息表Master中数值型特征的方差，删除部分方差较小的特征，如表4所示，删除方差小于0.1的特征。 Table 4 Sort of varianc 特征 方差 特征 方差 WeblogInfo_49 0.000000 WeblogInfo_28 0.015079 WeblogInfo_44 0.000240 SocialNetwork_16 0.016559 WeblogInfo_41 0.000360 WeblogInfo_50 0.020766 WeblogInfo_46 0.000740 WeblogInfo_38 0.022579 WeblogInfo_55 0.001220 WeblogInfo_13 0.022961 SocialNetwork_1 0.001419 WeblogInfo_34 0.023144 WeblogInfo_43 0.001558 WeblogInfo_45 0.024843 WeblogInfo_47 0.001638 WeblogInfo_57 0.025356 WeblogInfo_52 0.002937 SocialNetwork_15 0.027182 WeblogInfo_58 0.004154 WeblogInfo_29 0.029978 WeblogInfo_40 0.004376 WeblogInfo_25 0.030240 WeblogInfo_32 0.006964 Education_Info5 0.031205 WeblogInfo_31 0.006990 WeblogInfo_56 0.032448 WeblogInfo_10 0.008021 SocialNetwork_2 0.039319 WeblogInfo_23 0.008190 WeblogInfo_11 0.048684 WeblogInfo_54 0.010551 WeblogInfo_48 0.050104 WeblogInfo_35 0.010850 Education_Info1 0.058566 WeblogInfo_53 0.011841 SocialNetwork_14 0.058664 WeblogInfo_37 0.012094 UserInfo_21 0.064936 WeblogInfo_26 0.013549 WeblogInfo_51 0.014910 表4. 方差排序 2) 特征工程 特征工程主要包括成交时间离散化、类别特征变换、特征衍生、特征选择。 成交时间离散化：对用户行为信息表Master中的成交时间进行离散化处理。以起始时间为第一周，将日期变量按周离散化。 类别特征变换：统计用户的居住地省份和户籍省份特征的违约率，各取违约率最高的前五名省份进行二值化。之后使用XGBoost挑选重要的特征(图2、图3、图4、图5)，将特征重要性排名前三的城市进行二值化。 图2. 城市重要性排名 图3. 城市重要性排名 图4. 城市重要性排名 图5. 城市重要性排名 特征衍生：统计用户登录数据表LogInfo和用户信息修改数据表Userupdate中用户登录次数和用户更新信息的次数，并命名为Log_count和Updat_count加入到用户行为信息数据表Master中，新字段的缺失值由0填补。户籍省份和居住地省份是否一致衍生出一个新特征，由四个城市特征的非重复计数衍生生成登陆IP地址的变更次数。 特征选择：将数据按照7:3划分成训练集和测试集，并利用XGBOOST筛选特征，训练10个模型，并对10个模型输出的特征重要性去平均，最后对特征重要性进行归一化，表5是重要性排名前16的特征(cum_importance：累计重要性；norm_importance：归一化)，并删除重要度小于0.01的特征。 Table 5 Feature importanc feature fea_importance norm_importance cum_importance ThirdParty_Info_Period2_6 5.931778e−02 5.931778e−02 0.059318 WeblogInfo_6 5.784138e−02 5.784138e−02 0.117159 ThirdParty_Info_Period1_6 4.975742e−02 4.975742e−02 0.166917 UserInfo_14 4.564730e−02 4.564730e−02 0.212564 ThirdParty_Info_Period3_6 3.624279e−02 3.624279e−02 0.248807 WeblogInfo_15 3.213665e−02 3.213665e−02 0.280943 Weeks 2.972517e−02 2.972517e−02 0.310668 ThirdParty_Info_Period2_3 2.206508e−02 2.206508e−02 0.332734 UserInfo_16 1.897712e−02 1.897712e−02 0.351711 ThirdParty_Info_Period5_1 1.783195e−02 1.783195e−02 0.369543 ThirdParty_Info_Period6_1 1.701123e−02 1.701123e−02 0.386554 ThirdParty_Info_Period5_2 1.570866e−02 1.570866e−02 0.402263 WeblogInfo_2 1.485803e−02 1.485803e−02 0.417121 ThirdParty_Info_Period3_2 1.469115e−02 1.469115e−02 0.431812 ThirdParty_Info_Period3_15 1.421459e−02 1.421459e−02 0.446026 ThirdParty_Info_Period3_5 1.410538e−02 1.410538e−02 0.460132 ThirdParty_Info_Period6_5 1.340561e−02 1.340561e−02 0.473537 表5. 特征重要性 3) 样本均衡 在进行模型训练之前要观察一下正负样本的比例，如果样本不均衡时直接使用原样本进行训练，则会使得模型倾向于关注占比高的那一类样本，进而对多数类样本识别率比较高，对少数类样本识别率比较低 [ 9 ]，所以要进行样本均衡处理。对于不均衡样本，通常有两种方法使得样本均衡，增加正类样本数量的方法被称为过采样，减少负类样本数量的方法被称为欠采样。Chawla等学者提出了SMOTE的方法来解决数据不均衡问题，SMOTE的思想是对少数类样本的K个近邻随机抽取N个值进行随机线性插值，进而构成新的少数类样本 [ 10 ]。 本实验样本中正负比例为13:1，使用SMOTE，采取过采样的方法解决类别不平衡问题，平衡后正负样本比例为1:1。