关于 competition-workflows
涵盖 Kaggle 竞赛数据访问、Notebook 执行和提交的工作流技能,强调可复现性、规则合规、验证及防止数据泄漏。
主要功能
- 01竞赛数据访问指引
- 02基于 Notebook 的提交检查
- 03提交文件验证
- 04防泄漏的验证实践
- 05可复现 Notebook 执行指引
- 06竞赛规则与安全检查
适用场景
- 01从 Notebook 准备竞赛提交
- 02提交前检查预测文件
- 03检查验证流程中的数据泄漏
- 04复现 Kaggle Notebook 运行
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill competition-workflows安装后在 Claude Code 中输入/competition-workflows确认已加载。
详细介绍
竞赛工作流
概述
在 Kaggle 竞赛中,从访问数据到运行笔记本和提交结果,都可以使用此技能。优先考虑可复现性、遵守规则和防止数据泄漏,而不是追逐排行榜的捷径。
提交笔记本输出
提交由某个笔记本版本生成的输出文件时,请使用笔记本内核提交表单:
kaggle competitions submit <competition> -k <owner/slug> -f <file> -v <version> -m "<message>"
提交前,请确认笔记本运行已成功完成、输出文件存在,并且版本号与预期运行相符。使用 notebook-lifecycle 获取状态、日志和文件,以及下载输出的命令。
竞赛数据访问
使用 Kaggle CLI 或 kagglehub 下载竞赛数据。如果笔记本需要在 Kaggle 上运行,请在 kernel-metadata.json 中附加竞赛数据源。确认用户已接受竞赛规则,再假设下载或提交能够正常进行。
提交验证清单
- 检查必需的列、顺序、行数和 ID 覆盖范围。
- 检查空值、无穷值、无效标签和超出范围的预测值。
- 在 Kaggle 运行期间,将输出保存到
/kaggle/working下。 - 确认提交的文件名与生成的文件完全一致。
- 添加简洁的提交说明,指出模型或运行的变更,但不要泄露机密。
数据泄漏与验证审查
使用符合竞赛结构的分组、时间或分层切分。在折内进行预处理,以避免在验证集上拟合变换。避免将公开排行榜反馈用作验证集;反复查看排行榜可能导致过拟合。确认外部数据、预训练模型、互联网访问和集成数据源均符合规则。
可复现性标准
笔记本应能在全新的 Kaggle 会话中从头到尾运行。视情况为 Python、NumPy、框架库和切分器设置随机种子。当环境变化可能影响结果时,固定软件包版本。使用 DEBUG 标志在本地或快速检查期间运行小样本,同时不改变最终运行逻辑。
常见故障模式
| 现象 | 检查项 |
|---|---|
| 提交被拒绝 | 文件名、列、行、竞赛标识符、是否接受规则 |
| 分数不可能 | 数据泄漏、目标污染、ID 不匹配、训练集与测试集合并错误 |
| 缺少笔记本输出 | 保存位置、运行失败、超时、文件模式 |
| 本地分数不一致 | 切分不匹配、折间数据泄漏、随机种子、在折外进行预处理 |
安全与限制
不要绕过竞赛规则,也不要建议重建隐藏测试集、抓取私人数据或使用规则不允许的外部数据。长时间 GPU/TPU 训练前请发出警告。如果需要机密信息,请建议通过界面使用 Kaggle Secrets;不要声称公开 API 支持机密信息管理。
参考资料
- Kaggle API 文档:https://www.kaggle.com/docs/api
- Kaggle 笔记本文档:https://www.kaggle.com/docs/notebooks
- Kaggle 内核 CLI:https://github.com/Kaggle/kaggle-api/blob/main/docs/kernels.md