第9名方案笔记
第9名方案笔记
作者:alijs (Grandmaster) | 排名:9 / 6000+
我知道,在6000多支队伍中获得第9名是一个非常好的成绩。但是……在公榜上长期占据第1名之后,这种感觉确实不太一样 :)
无论如何,这是一场有趣的比赛——与其从不尝试飞翔,不如飞得高高的再跌下来。
首先,我要祝贺顶尖团队,特别是 FraudSquad,他们以巨大的优势当之无愧地获得了第一名!
同时特别祝贺一些我比较熟悉的人——我在其他比赛中的前队友 @johnpateha 和 @yryrgogo 成功获得了金牌!
当然,最感谢我的队友 @kostoglot,感谢他出色且专业的团队合作!
我们方案的一些关键点
- 我们大量使用了识别属于同一用户的交易(我认为所有顶尖团队都这么做了)。
- 为了识别用户,一个非常有用的特征是 ("2017-11-30" + TransactionDT - D1) —— 这对应于卡的某个日期(如首次交易日期等)——对于同一张卡/用户的所有交易都是相同的。其他几个 D 特征也有类似的应用。
- 为了验证识别出的用户,特征 V95、V97、V96(即日、周、月的先前交易次数)以及特征 V126、V128、V127(用户在前一天、周、月的累计交易金额)非常有帮助。
- 我们在如何将用户识别整合到解决方案中有不同的方法——Konstantin 将它们作为特征使用,而我将它们用于后处理和伪标签。
- 我们使用的交叉验证(CV)设置是:取前3个月的训练数据进行训练,移除1个月的间隔,最后2个月用于验证。这个 CV 设置与公榜相关性很好,但事实证明,在某些情况下,它关于私榜的数据欺骗了我们,导致我们在某些点上朝着稍微错误的方向前进,最终跌落至第9名。
- 使用的模型包括 LightGBM、Catboost 和 XGBoost。
祝好运!