Skip to content

librauee/YLSW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

运行环境

  • Python 3.6
  • 操作系统 Windows
  • pandas==1.0.5、numpy==1.19.5、sklearn==0.23.2、lightgbm==2.3.1、tqdm==4.50.2

代码复现过程

  • 将初赛训练数据集train_mchnt_1.csv、train_trans_1.csv、test_trans_1.csv放在当前目录下,将决赛文件包final_data_set也放在当前目录下
  • 运行YLSW.py文件
  • 生成predict_2.csv文件

算法说明

  • 由于本题主要是基于时间序列数据的分类问题,我们需要进行日期相关的特征提取,日期间隔特征便是非常重要的特征之一,离被预测日期的最后一次交易的日期间隔,日期间隔的差分统计特征包括最大值最小值方差等等,包括总的(三个月的)以及月内的统计,不同月内间隔统计特征做差、做除,可以刻画出靠近预测月商户的交易活动画像;

  • 使用滑动窗口做特征统计,包括距离预测月的一周、两周、三周三个时间维度,将最靠近预测月的一周的统计特征与其他时间窗口的统计特征做差、做除来进一步刻画商户画像;

  • 交易流水数据的聚合特征,包括商户交易金额的特征统计(包括最大值、最小值、均值、方差等等)、银行卡信息等的unique特征等(均包含总特征与月特征), 对不同月的金额统计特征做差,以及求比例,对unique特征也同样采用不同月份间做差的方式来处理;

  • 另外还有静态信息表的基础特征,以及这些基础特征的计数特征;

  • 因为非同分布数据集,对所有的数据新增了一列t特征,初赛训练集的t值为1,而决赛的训练集t值为2,用于表明数据的来源,可视为一种类别变量;

  • 本方案最终采用了两个lightgbm模型进行概率加权融合来对客户流失进行预测: 具体权重为0.5 * lgb1 + 0.5 * lgb2;

  • 两个模型都采用了相同的总特征以及相同的参数,但是特征使用情况不同、训练方法不同。首先是特征的不同之处,第一个模型根据树模型的特征重要性对473维基础特征进行筛选,使用了重要性大于0.2的共计397维特征,而第二个模型根据null importance的特征选择方法,最后使用筛选出的共计270维特征;然后是训练方法的不同之处,第一个模型使用初赛训练集以及决赛训练集作为全部的训练集,进行五折交叉验证,而第二个模型在使用初赛训练集以及决赛训练集的同时,只采用决赛训练集作为验证集(因为决赛的训练集与测试集分布较为相近)。

About

🏆银联商务智慧支付挑战赛一等奖方案

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages