队友:Algor_Bruce、一叶之秋
整理者:Algor_Bruce
该比赛项目分为三大模块:数据探索性分析、数据预处理(含特征工程)、模型(调参及融合)
后续补充
首次提交baselines
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 未考虑引入train_inter, 进行了PSI选择特征, 12折交叉验证 | 0.869422 | 0.87505447910 | baseline_20210929_v1 | mysub_20210929_2219_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 未考虑train_public和train_inter分布差异,对两部分训练集合并处理,进行了PSI选择特征, (交叉验证)cv=12 | 0.803242 | 未提交 | mysub_20210930_2059_seed | |
2 | 未考虑train_public和train_inter分布差异, 根据特征重要性结果,删除了重要性排名靠后的若干变量,cv=10 | 0.878252 | 0.88206691 | baseline_20210930_v1 | mysub_20210930_2349_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 引入train_inter进行分析,并根据train_pulic预测train_inter,并从train_inter中选取满足条件的样本来扩充train_public数据集 | 0.983422 | 0.88547781 | baseline_20211002_v1 | mysub_20211002_2340_seed |
分析: 虽然成绩有所提高,排名也进了6%,但是线下分数远高于了线上分数,预测出现了过拟合。 初步分析,应该是train_inter融合时,出现了信息泄露。 具体原因,后续进一步挖掘。
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 在昨天的基础上,添加了post_code的衍生变量 | 0.984907 | 0.87240526747 | baseline_20211003_v1 | mysub_20211003_1657_seed |
分析:过拟合现象依然严重,估计是训练集和测试集数据分布不一致导致的。
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 简单加权融合了lgb/xgb/cat三个模型,保留了marriage/offspring特征 | 过拟合 | 0.88325465262 | baseline_20211008_v1 | mysub_20211008_2317_seed |
2 | 简单加权融合了lgb/cat两个模型,删除了marriage/offspring特征 | 过拟合 | 0.87402803179 | baseline_20211008_v1 | mysub_20211008_2330_seed |
3 | 只用了lgb模型, 删除了marriage/offspring特征 | 过拟合 | 0.86860578313 | baseline_20211008_v1 | mysub_20211008_2344_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 在baseline_Singer脚本的基础上,进行了微调修改 | 未记录(过拟合严重) | 0.88504523293 | baselines_0.891(bsfdwdgs) | baseline_Singer |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 将train_inter中独有列,匹配到了train_public和test_public中去,然后再分类变量两两组合构建特征,并筛选 | 0.8846755683921235 | 0.87551312183 | fea_eng_v1&model_lgb_v1 | mysub_20211012_2059_seed |
分析:过拟合虽然解决了,但是分数提升效果并不明显;
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | train_public+test_public+train_internet(按照阈值0.05和isDefalut<0.5的isDefault设置为0) | 0.980976 | 0.89088621 | baseline_20211010_v1 | mysub_20211013_1110_seed |
2 | 按照(1)的思路,但是修改了阈值0.05,每次从trian_inte中抽取符合条件的5000+个样本 | 0.924596 | 0.88052479155 | baseline_20211013_v1 | mysub_20211013_2136_seed |
3 | 按照(1)的思路,但是修改了阈值0.05,每次从trian_inte中抽取符合条件的1000+个样本 | 0.88037652694 | baseline_20211013_v2 | mysub_20211013_2210_seed |
分析:(1) 分数虽然上去了,但是又出现过拟合了, 分析原因是引入的train_inter样本数量过多, 带来大量噪音; 在(2) 中调整了筛选的阈值,减少了从train_inter中引入的样本,并依然采用|1|中为标签思路,过拟合现象得到缓解,但分数一般,
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 采用对抗验证思路,从train_inter中选出最像train_public的3888个样本,合并到训练集train_public中,未做特征工程 | 0.873438 | 0.87950567601 | LogicJack_adv&baseline_20211014_v1 | mysub_20211014_2336_seed |
2 | 和(1)思路一样,只是修改了抽样阈值,选了2508个样本 | 0.876081 | 0.87935496748 | LogicJack_adv&baseline_20211014_v1 | mysub_20211014_2348_seed |
3 | 同上,样本筛选了999个 | 0.876982 | 0.87607522392 | LogicJack_adv&baseline_20211014_v1 | mysub_20211014_2355_seed |
分析: 过拟合是解决了,还稍微有些欠拟合,线上分数都不太理想
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 在0.890的基础上,没有深入处理特征工程,只将lgb/xgb/cat的预测结果进行了简单加权融合 | lgb:0.980976;xgb:0.979706;cat:0.980363; | 0.89348573 | baseline_20211016_v1 | mysub_20211016_1731_seed8828 |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 在0.890的基础上, 没有深入处理特征工程, 将lgb/xgb/cat的结果进行了stacking | 0.979785(lgb)/0.978396(xgb)/0.979030(cat) | 0.88027632613 | baseline_20211016_v2 | xlc_com_stacking_20211017_2006 |
2 | 在baseline_20211016_v1的基础上, 特征工程引入若干统计型特征(总特征50个,含id/label), 然后加权融合 | 0.976461(lgb);0.974036(xgb); 0.976724(cat) | 0.89219044671 | baseline_20211017_v1 | mysub_20211017_2354_seed |
3 | 在baseline_20211016_v1的基础上,去掉数据来源标志列dataSource, 然后加权融合 | 0.981025(lgb)/0.981025(xgb)/0.980831(cat) | 0.89267597258 | baseline_20211016_v1 | mysub_20211017_2359_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 根据3sigma原则除去train_inter中的异常值后,在沿用baseline_20211016_v1的思路 | 0.968415(lgb);0.964060(xgb);0.968553(cat) | 0.89291710623 | baseline_20211021_v1 | mysub_20211022_2032_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 去掉了数据源标志列dataSource;其他不变 | 0.970749(lgb);0.971066(xgb);0.970915(cat) | 0.89038194430 | baseline_20211023_v1 | mysub_20211023_2358_seed |
分析:去掉标志列dataSource后,原本以为结果会上升(因为测试集中dataSource取值单一),最后结果却和预期相反;
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 采用对抗验证,减少train_inter抽样比例,并且去掉了dataSource列 | -- | 0.88760483408 | baseline_20211024_v1 | mysub_20211024_2359_seed8828 |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 采用了变版stacking, 及第二层在原本stacking基础上,引入了train_public | -- | 0.85464854363 | baseline_20211016_v3 | mysub_20211027_1423 |
分析:分数出现了大幅下降,史上最低。估计是第一层预测出的两列label和train_public量纲相差太大;
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 在baselines_20211016的基础上,修改了最后模型融合权重0.5lgb+0.2xgb+0.3cat | 0.980976(lgb);0.979706(xgb);0.980363(cat) | 0.89330650450 | baseline_20211101_v1 | mysub_20211024_2359_seed |
2 | 在baselines_20211016的基础上,随机种子修改为546789,融合采用均等权重 | 0.985284(lgb);0.954965(xgb);0.980363(cat) | 0.87904621864 | baseline_20211101_v1 | mysub_20211101_2247_seed |
3 | 在baselines_20211016的基础上,随机种子修改为546789,并只融合lgb和cat | 0.985284(lgb);0.980363(cat) | 0.88211252632 | baseline_20211101_v1 | mysub_20211101_2316_seed |
分析:结果收到随机种子影响较大,说明了模型鲁棒性不够好。进一步分析了三个模型输出结果相关系数矩阵,发现相关性过高0.95-0.99
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 只提交了step2的结果, 即用train_public+train_internet_sample去预测test_public | - | 0.88542322622 | baseline_202111008_v1 | mysub_20211108_2241_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 修改阈值,只引入一半的test进入训练,融合lgb+xgb | 0.983365(lgb); 0.985278(cat) | 0.88381349615 | baseline_202111009_v1 | mysub_20211109_2238_seed |
2 | 同上,但只提交了lgb预测结果 | 0.983365(lgb) | 0.88514706302 | baseline_202111009_v1 | mysub_20211109_2241_seed |
3 | 不引入train_internet,直接对train_public和test_public 处理,并三大杀器融合 | 0.880928(lgb);0.877802(xgb);0.877054(cat) | 0.87779167193 | baseline_202111009_v2 | mysub_20211109_2339_seed546789 |
分析:train_public中引入部分test后,由于lgb/cat预测结果分布较接近,故没有考虑xgb训练结果。 从线上结果来看,单模lgb的结果反而最好,但感觉和不引入train_internet的单表结果差不多,无明显优势。
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 将已有baseline_20211016_v1最佳结果融合队友结果(0.89363236079),简单算数加权 | - | 0.89526734472 | baseline_20211113_v2 | teamTogether_20211113_2041_seed |
2 | 将已有baseline_20211016_v1中三个模型结果,进行几何平均融合,再算数平均融合队友结果(0.89363236079) | - | 0.89561682559 | baseline_20211113_v4 | teamTogether_20211113_2322_seed |
3 | 将已有baseline_20211016_v1中三个模型结果,进行几何平均融合,再几何平均融合队友结果(0.89363236079) | - | 0.89514840717 | baseline_20211113_v4 | teamTogether_20211113_2354_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 将已有的baseline_20211113_v4中,step2中伪标签引入的阈值修改为<0.3,先几何平均再融合队友结果(0.89363236079)算数平均 | - | 0.89566733331 | baseline_20211119_v1 | teamTogether_20211119_2212_seed |
编号 | 预处理手段 | 线下AUC测评分数 | 线上AUC分数 | 代码版本 | 数据版本 |
---|---|---|---|---|---|
1 | 将前序lgb调整为cat,再替换xgb队友结果,几何平均,再替换>0.5的预测结果,再与之前(0.89561682559)进行算数剧评融合 | - | 0.89556876179 | baselines_2021120_v2 | teamTogether_20211120_1329_seed |
2 | 将前序lgb调整为cat,再替换xgb队友结果,几何平均,再替换>0.5的预测结果()在与队友(0.89363236079)结果算数平均融合 | - | 0.89523801765 | baseline_20211120_v2 | teamTogether_20211120_1333_seed=ronghe2 |
后续补充