第 8 名解决方案:10 天挑战
第 8 名解决方案:10 天挑战
作者: Kohei (Grandmaster)
排名: 第 8 名
发布日期: 2024-12-03
我非常后悔没有更早开始这场比赛,特别是在看到 @jsday96 报告关于 GAVEL 的轻微改进之后——那真是令人兴奋!尽管时间很短,但我玩得很开心,也学到了很多。感谢主办方和所有参与者!!
这是我 10 天的快速回顾:
- 我决定参加这场比赛是为了展示我正在开发的一个 Kaggle VS Code 扩展的实用性。请查看并分享您的反馈!https://github.com/smly/vscode-fast-kaggle
- 我从克隆最好的公开内核(MCTS Starter)开始。我在公开 Notebook 中添加了诸如 CLRI 之类的特征,这需要很长时间来计算,并使用 polars 重新实现了许多 pandas 操作。这将处理时间从大约 410 秒减少到仅 7 秒,大大提高了我的特征工程效率。
- 我花了最多时间在特征工程上。老实说,我在验证改进的同时也在调整模型参数,所以我没有管理好什么是重要的。我浏览了 Ludii 游戏库上的不同游戏类型,以获得如何进行特征工程的感觉。我基于多种游戏常见的模式实现了特征,例如棋盘形状、棋子类型、随机性的存在、规则复杂性和特殊移动模式。
- 作为后处理步骤,我将预测结果乘以
1.2。我使用公共排行榜的反馈优化了这个系数,所以如果私有排行榜完全由未见过的游戏组成,这可能是一场彻底的灾难。最有效的数据增强技术是交换 agent1 和 agent2。为了进一步增加数据量并提高鲁棒性,我实施了一种基于等价关系和传递性的更复杂的数据增强策略。例如,如果 A > B 且 B = C,那么我会生成数据点 A > C。我还使用这个增强数据创建了一个模型并将其集成,但最后似乎没有帮助。
- 单个 catboost 模型的 10 折预测平均结果为公共分数 0.416,私有分数 0.423。我没有尝试 XGBoost、LightGBM 或 TabNet。