Kaggle数据科学竞赛 银牌获奖总结
方案:【通用组合特征】 + 【Filter、Wrapper 、NLP 特征筛选】 +【 CatBoost、LightGBM、XGBoost 基础模型】+【网格搜索、TPE、贝叶斯优化器 调优】 + Stacking 融合 + 两阶段建模
背景:
Elo公司于2011年由巴西三家主要银行合资创立,主要负责线上支付业务,并且以信用卡作为核心金融产品,目前已发放超过1.1亿张信用卡,是巴西最大的本地在线支付品牌之一。
本次处理大致20万条近2年来的消费数据,赛题《Elo Merchant Category Recommendation》的业务核心目的是为了更好的在App内为用户推荐当地吃穿住行的商家服务,而算法目标是对用户忠诚度进行评分,其本质是回归问题
方案概述:
数据预处理方面:
了解数据字典;对训练集和测试集进行初步探索,校验数据正确性、缺失值、异常值,对于连续变量可通过概率密度直方图观察,使用3𝛿原则划定异常值范围;保证测试集和训练集规律一致性。标注商户数据集中的分类变量和离散变量,对离散变量采用字典编码,对连续变量缺失值使用无穷值填充和均值填补处理
特征优化方面:创建通用组合特征
基础模型选取方面:Filter 特征筛选+随机森林+网格搜索调优训练,得到组1模型;Wrapper 特征筛选+LightGBM 建模+TPE 调优,得到组2模型;NLP 特征优化+XGBoost 建模+贝叶斯优化器,得到组3模型,
上述3组基础模型通过调优后均可跑通Baseline,为拿名次,继续采用模型融合策略
模型融合方面:
使用 CatBoost 替换随机森林,使用 Stacking 融合算法融合上述的三组模型,对普通用户和异常用户进行两阶段建模,最终取得Top 3%成绩,获银牌。
进一步改进:可对异常值(异常用户)进行特征衍生,寻找更合适的模型。另外还可以利用日期字段,我们的数据集并没有充分利用