返回列表

8th Place Solution: Regression models for binary classification

541. Playground Series - Season 3, Episode 10 | playground-series-s3e10

开始: 2023-03-07 结束: 2023-03-20 物理与天文 数据算法赛
第8名方案:用于二分类的回归模型

第8名方案:用于二分类的回归模型

作者:Matt OP | 排名:第8名 | 发布日期:2023-03-21

感谢大家参与这期既有趣又激动人心的 Playground Series!我将简要介绍我方法中的要点。

数据

  • 我使用了 StandardScaler() 进行特征缩放。
  • 我没有在训练数据中使用原始数据集,因为我发现在许多不同的模型中,这样做都会导致性能持续下降。

特征工程

在比赛开始时,我花了很多时间尝试特征工程。我认为在均值、标准差、偏度和峰度特征之间创建交互特征肯定有潜力。这包括像将标准差平方以计算方差特征以及尝试各种数学组合的想法。然而,这些实验都没有带来 CV 分数的显著提高。后来 @siukeitin 发现原始数据中的 SkewnessEK 列被交换了。我回去重新尝试了包含 SkewnessEK 的特征工程想法。结果 CV 分数仍然没有显著提高。我唯一有效的想法是在逻辑回归中使用二阶多项式特征,我看到 CV 分数从大约 0.038 降到了大约 0.032

模型

以下是我集成中使用的(大部分)模型及其 CV 分数列表:

  • 'XGBRegressor': 0.03049
  • 'CatBoostClassifier': 0.03069
  • 'XGBClassifier': 0.03070
  • 'LGBMClassifier': 0.03073
  • 'LGBMRegressor': 0.03076
  • 'TFNN': 0.03177
  • 'MLPClassifier': 0.03198
  • 'HistGradientBoostingRegressor': 0.0323
  • 'GradientBoostingClassifier': 0.0323
  • 'LogisticRegression': 0.0324
  • 'RandomForestClassifier': 0.0325
  • 'ExtraTreesClassifier': 0.0325

其中 TFNN 是一个 Tensorflow 神经网络。那么,XGBRegressor 是如何在二分类问题中相对优于分类器的呢?答案是自信的预测。XGBRegressor 会预测 0-1 范围之外的值,而分类器则不会那么自信(永远不会预测确切的 0 或 1)。我认为使用回归模型之所以效果好,是因为目标类别之间有很强的分离性。关于 LogLoss 指标的一个有趣之处在于,它不会因为预测值在 0-1 范围之外而进行惩罚(尽管你可以直接将预测值裁剪到该范围内)。

我还在最终的集成中使用了 @paddykb 出色的 GAM 模型,因为我认为这有助于增加预测的多样性。

此外,我尝试使用 CatBoostRegressor,但它的表现明显不如其他回归器。

校准

@sergiosaharovskiy 建议,概率校准有助于防止基于分类器预测的错误决策,特别是当这些决策基于预测概率的阈值时。对我使用的所有模型进行了校准实验。结果如下:

校准后效果更好:

  • GradientBoosting
  • LogisticRegression
  • ExtraTrees
  • RandomForest
  • SVC
  • KNearestNeighbors

不校准效果更好:

  • CatBoost
  • XGBoost
  • LGBM
  • Neural networks

交叉验证

在比赛开始时,由于类别严重不平衡,我使用了 StratifiedKFold。然而,后来我尝试仅使用 KFold,结果发现 CV 分数实际上有所提高。我对此仍有些困惑,但我认为这是因为目标类别之间有很强的分离性。

这就是我要分享的全部内容!再次感谢大家,希望在下期比赛中见到你们!

同比赛其他方案