520. Tabular Playground Series - Nov 2022 | tabular-playground-series-nov-2022
各位 Kaggle 用户好!
感谢 Kaggle 举办 TPS(Tabular Playground Series)比赛,这是我很久以来一直想参加的比赛。
@mpware,个人参赛。
公开榜排名第97名 (0.51430),私有榜排名第7名 (0.51892)。
我花了一些时间在提供的5000个特征中寻找最佳模型。我使用了两种特征选择方法,在交叉验证(CV)中取得了不错的效果:
基于 LossFunctionChange 的 CatBoost 特征选择
对于每个特征,LossFunctionChange 表示包含该特征的模型损失值与不包含该特征的模型损失值之差。
参考文档:CatBoost Feature Selection
我尝试了 1000、500、275、250、200 个特征。效果最好的是 250 个特征。
100次运行的 Null Importance 特征选择
随机打乱目标值并计算特征重要性,重复此过程多次(100次)以获得重要性分布。
将其与未打乱目标值时的重要性(即我们要解决的问题)进行比较,如果该重要性混杂在打乱后的重要性中,则意味着该特征对我们的问题不重要。我们只保留重要的特征。
参考链接:Feature Selection with Null Importances
在此过程结束时,我选择了 350 个特征。
我基于这些特征工程训练了模型。经典的 LightGBM/GBDT 在 CV(5折)中表现最好,CatBoost 和 NN(神经网络)也不错。
最终,我的提交结果只是以下模型的简单平均:
为了了解 CV/LB 方差/稳定性,我对整个过程使用了 5 个随机种子。在 CV 和 LB 上波动都在 +- 0.005 左右。在如此大的方差下,LB 榜单晃动的风险可能很高。
注:我第一次尝试了 AutoML (AutoGluon) 工具。它没有帮助提高分数,但它提供了快速的参考结果,帮助我朝着正确的方向前进。
相信你的 CV(交叉验证),通过尝试不同的随机种子来观察你的预测结果有多稳定。
祝好。