680. MABe Challenge - Social Action Recognition in Mice | MABe-mouse-behavior-detection
我基于这个优秀的基线方案进行了构建,并做了以下更改:
https://www.kaggle.com/code/ravaghi/social-action-recognition-in-mice-xgboost
感谢 @ravaghi。
从训练中排除非测试数据集:移除了 CalMS21、MABe22 和 CRIM13,因为它们未出现在测试集中。(这使得 CV 与 LB 的相关性更好。)
按实验室训练模型:为每个实验室分别训练 XGBoost 和 CatBoost。(出于某种原因,LightGBM 的表现较差。)
从训练中移除 AdaptableSnail 25 fps。
双向 EMA 平滑:在向前和向后两个方向应用 EMA,并搜索最佳平滑时间尺度。
以自我为中心的特征(Ego-centric features):使用 body_center 作为原点(对于没有 body_center 的实验室,我使用注释坐标的平均值),旋转坐标使运动方向与 正 Y 轴 对齐,并生成以自我为中心的特征。
特征剪枝:移除了在 CatBoost 和 XGBoost 中重要性均为 零 的特征。
当多个类别超过阈值时的公平平局打破(Tie-breaking):在类别不平衡的情况下,argmax() 并不公平,因此我使用了基于 Z 分数的边际:
z = (prob - threshold) / sigma,其中 sigma 是 OOF 预测的标准差。集成(Ensembling):对跨模型的 EMA 平滑概率 进行平均,并使用 平均阈值 进行决策;当多个类别竞争时,选择跨模型 平均 Z 分数 最高的类别。
max_gap 填充和通过 min_duration 移除尖峰。rear、submit、approach)。