Datawhale 数据挖掘训练营

#Datawhale 数据挖掘训练营

比赛地址: 2018科大讯飞AI营销算法大赛

时间:1月14日一1月27日

清退规则:每天微信群打卡交流,汇报当天做的事以及当前得分。(关于比赛的都可以写)

因为这里是面对小白的教程,所以写的比较简略,先熟悉流程,进阶的可以大家一起交流。这里是我个人的一点入门经验分享,也不一定完全正确,欢迎大家在群里交流讨论。

1.准备工作

在DC竞赛平台注册账号,需要实名认证防止小号作弊,然后进入页面下载数据。

2.赛题分析

2.1赛题任务

明确本赛题的任务目标,是分类还是回归,分类的话是二分类还是多分类,是普通题还是时序题等等。

2.2评价指标

理解每道赛题的评价指标十分关键,比如使用模型时有时候并不能直接使用库函数而需要自己写评价函数,在模型融合或者使用规则对结果进行处理时评价指标也很关键。有的赛题会自定义评价指标,这时候你就可以根据它来推测出题人的意图,究竟是重视哪一部分结果,是概率还是概率的排序结果。同样是一道二分类问题,AUC与logloss评价差别巨大,有兴趣可以自己分析。

2.3结果文件

提交结果时需要注意格式问题和数据的类型,参考官方样例。

3.EDA

EDA主要是分析数据的分布情况,通过对原始数据的分布进行观察,可以直接观察数据也可以通过画图(推荐),然后根据数据的分布来构建特征。比方说不同年龄的人使用套餐不同,是不是就可以根据这个数据特点来构建年龄特征,比如年龄分箱等等。一般的特征工程必须建立在EDA基础上。

EDA还可以根据异常数据对数据进行预处理,比如缺失值填充。

4.Baseline

一般的Baseline需要包含基础的完整流程,即读取数据、数据预处理、特征提取、模型训练、结果文件生成。

5.线下验证

做比赛最重要的一项流程就是构建靠谱的线下验证,因为每个比赛都有提交限制,而且提交的越多并且根据线上调整线下模型和特征,过拟合的风险越大,即使不能和线上保持一致,也要做到同增同减,即线下分数提高线上也提高。

一般做法就是根据切分训练集,一部分训练一部分验证。

训练集:训练集A 验证集B 训练集A训练模型预测B得到线下分数,训练集预测测试集得到线上结果。

6.特征工程

一般根据EDA的分析结果和个人对业务的理解构造特征。特征工程是重中之重。但是特征工程不同比赛的做法不同,主要结合个人思考。比如在联通的比赛中,第二名就使用了word2vec来提取连续四个月消费的时序关系。所以特征工程是一种仁者见仁智者见智的过程,相同的含义使用不同的提取方式表现也可能不同。

特征筛选:如果使用lgb的话,树模型会进行特征筛选,当然也可以在喂进模型前对特征进行筛选,比如特征的相关系数、特征的缺失值比例等等,也可以结合一些前向搜索后向搜索策略来进行特征增删但是要建立在线下稳定的基础上。

7.模型方面

一般的比赛都使用LightGBM。XGBOOST的速度慢,传统模型一般的比赛效果不好,深度学习在小数据比赛中效果不一定有LightGBM好。但是都可以自己进行尝试。

8.模型融合

由于本次训练为单人,这里不会用到。可以同学之间进行融合。

一般的融合策略:

加权融合;Stacking;Blending等。

你可能感兴趣的:(#,sklearn机器学习笔记,数据挖掘)