第 26 名:特征工程、伪标签、残差
第 26 名:特征工程、伪标签、残差
有时候感觉就像在掷骰子
作者: seddik ben kerrouche
排名: 26
日期: 2025 年 10 月 2 日
我觉得这次比赛几乎就像赌博,但我在这个过程中还是学到了很多。我花了几天时间进行实验,最终的提交结果是顶级公开解决方案与我自己的特征工程和建模的混合。
1. 特征工程与选择
- 从原始数据集开始,进行了标准清洗。
- 使用以下组合选择了 54 个最佳特征:
- 来自 XGBoost, LightGBM, CatBoost 的特征重要性。
- 置换重要性 (Permutation importance)。
- SHAP 值。
2. 基础模型
- 我训练了 18 个不同的模型 ❤️感谢 Mikhail Naumov,你的笔记本给了我巨大的启发,包括:
- 6 个经过超参数调优的 XGBoost (Optuna)。
- 4 个 LightGBM。
- 3 个 HistGradientBoostingRegressor。
- 2 个 YDFRegressor (GradientBoostedTreesLearner)。
- Ridge 和 ElasticNet。
- 神经网络。
3. 伪标签
我从测试集生成了伪标签:
计算了多个模型的残差误差。
选择了误差最低的样本:
thr_mean = np.percentile(abs(residuals_mean), 30)
thr_std = np.percentile(residuals_std, 30)
选择了大约 92,804 个伪标签(约占测试数据的 30%)。
将这些伪标签添加到训练数据中重新训练模型。
4. 残差建模
在第一轮训练之后,我训练了残差模型(stacking)以改进预测并减少偏差。
5. 集成策略
最终提交是三个顶级公开笔记本的几何混合,加上我自己训练的模型:
最终预测
$$ \hat{y} \;=\; 0.5 \cdot \sqrt[3]{\text{sub1} \times \text{sub2} \times \text{sub3}} \;+\; 0.5 \cdot y_{\text{mySub}} $$
这种几何混合帮助稳定了预测并略微提高了 LB 分数。