2月20日:
查看任务介绍,二分类问题,评价标准logloss
下载数据
2月21~27日:
查看数据组成,标识分类变量、离散变量、连续变量。
发现连续数据有大量非随机空缺(占总量一半),主要集中在v2相关与v8相关列
根据空缺相关性,可将feature分为6组:
g1-v8相关列,g2-v2相关列,g3-与v2v8均不相关的稀疏列,g4-无缺值连续变量,gd-离散变量,gc-分类变量
标签样本不均衡,约75%的y==1,25%的y==0
查看相关性。
2月28日~3月3日:
考虑对缺值数据(feature稀疏样本)进行模型,因feature较少,实现将较快。
对分类变量one-hot赋值。
尝试logistic、linearSVC(no dual)拟合效果较差,大量标签为预测为1类,几乎不出现0类预测
尝试kernelSVC,样本数太大,核矩阵过慢
尝试较浅层Random Forest,同样无法有效辨识类0
尝试xgb,极简易调参后,对feature稀疏样本4-folds cv约0.450,在lb上表现估计约0.457上下
(现在看来有过拟合的嫌疑,因为对v56等多值分类变量进行了过细的处理)
进一步探索:
1、大规模多模型调参
2、对分类变量的one-hot进行处理,如使用logistic regression、navie bayes等,聚合成一个新的feature
3、对模型进行average或者logistic regression处理
4、对某些明显有相关性的categorical-one-hot进行单列处理,消除ordinal假设
5、尝试k-means,和KNN(需考虑如何消除量纲影响)
对稀疏特征的样本,尝试以下的做法
1、连续变量+离散变量+序列化分类变量
2、连续变量+离散变量+序列化分类变量+特殊单列序列化one_hot
3、连续变量+离散变量+序列化分类变量+全体单列序列化one_hot后logistic系数
4、连续变量+离散变量+伯努利序列化分类变量+特殊单列序列化one_hot+全体单列序列化one_hot后logistic系数
3月29日
伯努利化+特殊单列one_hot有一定作用,logistic系数似乎反而没起到什么影响(在gbdt中),可能参数调得不好
调参结束,et和xgc模型基本在5 folds的前提下能达到0.459xx的cv
上交LB后得分0.458xx
然而对6个模型简单平均后,其得分仅有0.456xx,未达到预期目的
看讨论区排行前列的人说,创造了上千个特征进行训练,并且使用一些"secret tweaks"使得训练时间为30min,10folds
(laptop配置8核,16g内存,40g交换内存)这个时间太令人震惊!看结束后对方是否会有一个完整的方法分享
下一步考虑的事情:要在自己的模型上完善,一个是对稀疏的部分再进行细致稳定的调参, 把稀疏的模型结果代入到whole data的模型中
另外,考虑logistic feature是否真的不管用,要不要也试一下linear feature或者linear SVC feature呢?
还有,对方创造的上千个特征,很可能就是在稀疏样本仅有的那几个特征中得出的,看看到时候能不能大规模搞些特征出来。