633. Child Mind Institute — Problematic Internet Use | child-mind-institute-problematic-internet-use
我不敢相信在这次竞赛中获得了第 4 名。这是我第一次参加 Kaggle 竞赛,我很幸运能取得这么好的成绩。我感谢社区的所有支持以及 Kaggle 上可用的惊人资源。我很兴奋能继续学习并在未来迎接新的挑战!
我们非常重视数据预处理。首先,我们删除了所有具有模糊 SII 的行。然后在审查了几个 Notebook 并进行我们自己的研究后,我们选择了关键特征来处理缺失值。对于不太重要的列,我们选择不填充缺失值,因为我们发现这样做会恶化结果,可能是由于数据缺乏且不可靠。对于重要的列,缺失值是使用具有来自其他可靠列(如人口统计数据或预填充列)输入的子模型填充的。该子模型可以是线性回归、逻辑回归或 KNN,具体取决于情况。我们还为某些列添加了权重,如 CGAS-CGAS_Score 和 SDS-SDS_Total_Raw(稍后将解释)。
我们 proceeded 到特征工程,在那里我们结合了我们认为具有明确关系的特征,例如年龄和 BMI,或 SDS 和 CGAS……
对于我们的最终模型,我们采用了一种 stacking 方法,结合了三个高性能模型:CatBoost、LightGBM 和 XGBoost。我们在 5 折数据中训练模型,然后优化了 SII 决策舍入阈值。
我们认为最重要的特征列表:
以下是我们如何填充这些列的缺失值:
💡注意: 我们没有填充 CGAS 分数,因为我们除了年龄外,找不到它与任何其他列之间足够强的关系,但它仍然是一个重要的特征。
对于其他列,包括时间序列列,我们将移除异常值和错误数据,或者完全移除被认为无用的列。
观察后发现:
这可能表明 CGAS 分数 80 和 SDS 分数 35 可以作为预测谁患有严重问题性互联网使用 (PIU) 谁没有的有效阈值。
因此,我们决定为这两列分配权重。权重是使用 Sigmoid 函数计算的。Sigmoid 函数的特点是值越接近阈值,曲线变得越陡峭,允许更清晰的区分。
例如,CGAS 分数的权重计算如下:
图表:
当 CGAS 分数接近 80 时,曲线变得更陡峭。这意味着 CGAS 分数的权重变化更大,增强了其辅助分类的能力。
然后我们将 CGAS 分数乘以其权重以创建一个新特征 Weighted_CGAS_Score,该特征将用于特征工程过程。
相同的技术应用于 SDS 分数, resulting in Weighted_SDS_Score。
我们在这里没有采用任何特别先进的技术,我们只是结合了我们觉得彼此相关的列。重要特征被优先处理。
个体和 stacking 模型的训练和验证分数结果,由二次 Cohen Kappa 分数计算:
| XGB | LGB | CatBoost | Ensemble | |
|---|---|---|---|---|
| Train (训练) | 0.6429 | 0.8066 | 0.5472 | 0.6138 |
| Validation (验证) | 0.3846 | 0.3909 | 0.3857 | 0.3912 |
感谢您阅读到最后