360. 2019 Data Science Bowl | data-science-bowl-2019
我们(@yasufuminakama, @currypurin, @hidehisaarai1213)感谢 Booz Allen Hamilton 举办了这场非常有趣的比赛,也感谢所有参赛者给了我们很多启发。
['event_id', 'game_session', ...] 等特征的 Nunique(唯一值计数)。['title_event_code', 'title', ...] 等特征的衰减计数特征和比率特征。def decaying_counter(x, days):
return max(0.xx, 1-days/30) * x
特征生成代码已公开在 GitHub。
4020, 4025)由于我们对计数特征应用了衰减函数,我们可以通过使用不同的衰减函数来增强数据。其目的是模拟不同年龄或个体的人拥有不同的遗忘曲线。
在训练之前,应用了基于 LightGBM / CatBoost 重要性的特征选择。大约 80-90% 的特征在这一步被删除,最终特征数量约为 400 个。特征选择对 NN 模型特别有效(可能是因为 NN 模型中的高 dropout 率),使 GBDT 模型的 oof 分数提高了约 0.005,NN 模型提高了约 0.01。
对多分类的输出应用特定变换比回归能获得更好的结果。变换如下:
prediction @ np.arange(4) # prediction 的格式应为 (n_samples, 4)
我的团队尝试了几种目标函数。交叉熵和多分类有效,用于最终模型。