遇见数据集

MLEModernizer

收藏
Hugging Face2026-07-23 更新2026-07-24 收录
官方服务:

资源简介:

本数据集是论文《Automated Modernization of Machine Learning Engineering Notebooks for Reproducibility》的复现包所处理的核心数据。它源自Kaggle平台,通过整合Meta Kaggle和Meta Kaggle Code的元数据构建而成。数据内容主要包括来自Kaggle竞赛的Jupyter Notebook(.ipynb文件),这些Notebook是机器学习工程任务的具体实现。数据集构建过程涉及从原始Kaggle数据表中提取信息,包括KernelVersions(内核版本)、Kernels(内核实体)、Submissions(提交记录)、Users(用户)等,并通过关联这些表来定位和获取具体的Notebook代码文件。原始Notebook文件经过处理(例如,从特定HTML格式转换代码)并重新命名以增强可读性。该数据集旨在服务于机器学习工程笔记本的自动化现代化和可复现性研究。研究人员可利用此数据集评估或开发方法,以自动化方式更新、重构或标准化这些Notebook,从而提升其可维护性、可移植性和复现成功率。数据集中的Notebook关联了竞赛、用户、提交分数等丰富元数据,为分析提供了上下文。

This dataset is the core data processed by the reproduction package of the paper Automated Modernization of Machine Learning Engineering Notebooks for Reproducibility. It originates from the Kaggle platform and is constructed by integrating metadata from Meta Kaggle and Meta Kaggle Code. The data primarily consists of Jupyter Notebooks (.ipynb files) from Kaggle competitions, which are specific implementations of machine learning engineering tasks. The dataset construction process involves extracting information from original Kaggle data tables, including KernelVersions, Kernels, Submissions, Users, etc., and locating and obtaining specific Notebook code files by associating these tables. The original Notebook files are processed (e.g., converting code from specific HTML formats) and renamed to enhance readability. This dataset aims to serve research on the automated modernization and reproducibility of machine learning engineering notebooks. Researchers can use this dataset to evaluate or develop methods for automatically updating, refactoring, or standardizing these Notebooks, thereby improving their maintainability, portability, and reproducibility success rate. The Notebooks in the dataset are associated with rich metadata such as competitions, users, and submission scores, providing context for analysis.

创建时间:
2026-07-20
原始信息汇总

数据集概述

该数据集是论文 "Automated Modernization of Machine Learning Engineering Notebooks for Reproducibility" 的复现包,旨在自动化现代化机器学习工程笔记本以实现可复现性。

环境与依赖

  • Python 版本: 3.11.11
  • 包管理: 使用 uv 进行环境管理
  • 依赖列表: 提供了完整的 pip list 冻结环境,包含大量 Python 包,如 PyTorch (2.8.0)、TensorFlow (2.20.0)、Transformers (4.56.0)、Scikit-learn (1.5.0) 等。

术语定义

  • 可复现 (Replicable): 生成了有效的 CSV 文件,且阈值 <= 10% 的脚本。即复现得分与 Kaggle 报告得分之间的差异(方差)小于 10%。
  • 不可复现 (Not Replicable): 生成了有效的 CSV 文件,但阈值 > 10% 的脚本。
  • 失败 (Failed): 未生成 CSV 文件的脚本(主要原因是运行时间过长或保存文件时缺少后缀 .csv),且运行时间 > 600 秒。
  • 回溯 (Backporting): 回溯环境。
  • 升级 (Upgrade from Baseline): 修改代码,分为文件级和代码级。

数据收集流程

原始数据来自 Meta KaggleMeta Kaggle Code 两个数据集。

数据表说明

  • KernelVersions.csv: 每个已发布的内核版本的快照,包含 ID、脚本语言、运行时间、版本号、创建日期等。
  • Kernels.csv: 每个内核(笔记本)实体,包含内核 ID、奖牌记录、作者用户 ID、URL 别名等。
  • Submissions.csv: 每个团队的排行榜提交记录,包含团队 ID、源内核版本 ID、提交日期、公共和私有得分等。
  • KernelVersionDatasetSources.csv: 内核版本与外部数据集版本的关联。
  • Teams.csv: 每个比赛的团队信息。
  • Competitions.csv: 每个比赛的信息,包括 ID、别名、总提交次数等。
  • Users.csv: 每个 Kaggle 用户的信息。

表连接关系

  • 比赛 → 团队: Competitions.Id = Teams.CompetitionId
  • 团队 → 提交: Teams.Id = Submissions.TeamId
  • 提交 → 内核版本: Submissions.SourceKernelVersionId = KernelVersions.Id
  • 内核版本 → 内核: KernelVersions.ScriptId = Kernels.Id
  • 内核 → 用户(作者): Kernels.AuthorUserId = Users.Id
  • 内核版本 → 外部数据集: KernelVersionDatasetSources.KernelVersionId = KernelVersions.Id

文件命名规则

笔记本根据 SourceKernelVersionId 进行命名和保存,格式为:

f = str(id).zfill(10) meta-kaggle-code/+f[0:4]+/+f[4:7]+/+str(id)+.ipynb

为便于阅读,重命名为 {Slug}_{UserName}_{CurrentUrlSlug}_v{VersionNumber}_{}_C1.ipynb

基线流程(复现收集的脚本)

  1. 原始数据处理:
    • create_kernel.py: 检索所有可执行脚本的元数据(运行时间、提交日期、API、私有得分、外部数据集)。使用 pigar 动态列出依赖项。输出:kernel.json
    • baseline/create_fullDataset.py: 过滤目标 HTML,并将 HTML 中的代码转换为 Python 代码(.ipynb 格式)。输出:baseline/notebooks/{competition}_{submissionID}_{status}.ipynb
搜集汇总
数据集介绍
MLEModernizer 数据集图片
构建方式
MLEModernizer数据集构建于Kaggle平台上机器学习教育笔记本的可复现性自动化升级研究。研究团队从Meta Kaggle及Meta Kaggle Code数据转储中获取原始数据,通过多表关联(KernelVersions、Kernels、Submissions、Teams、Competitions等)定位可执行的脚本版本。随后采用pigar工具动态解析Python依赖,并将HTML格式的代码片段转换为标准的Jupyter笔记本格式(.ipynb),最终形成带有分类标签(可复现、不可复现、失败)的基线数据集。
特点
该数据集的核心特色在于对机器学习工程笔记本的可复现性进行了系统性评估与分类。每条记录均包含完整的元数据信息,如运行时长、提交日期、API使用情况、私有分数及外部数据集引用,并依据复现分数与Kaggle报告分数的偏差是否超过10%的阈值,将脚本划分为可复现(Replicable)、不可复现(Not Replicable)及失败(Failed)三类。此外,数据集还存储了经过反向移植环境与代码升级(文件级与代码级)后的现代化版本,为可复现性研究提供了丰富的对比分析素材。
使用方法
用户可通过HuggingFace平台直接加载该数据集进行使用。具体而言,借助HuggingFace的datasets库,调用load_dataset函数即可获取完整的现代化笔记本集合及元数据。数据集中的每个样本包含原始笔记本内容、依赖列表、运行结果状态及复现性标签。研究人员可直接基于这些数据进行可复现性分析、代码现代化效果评估,或训练自动修复笔记本可复现性问题的机器学习模型。建议在使用前仔细阅读论文中的术语定义与分类标准,以准确理解各字段含义。
背景与挑战
背景概述
MLEModernizer数据集诞生于机器学习教育工程领域对可复现性日益增长的需求背景之下,由研究团队于2024至2025年间基于Kaggle竞赛平台的公开元数据构建而成。该数据集聚焦于解决机器学习工程笔记(Jupyter Notebook)在跨环境运行时因依赖缺失、版本冲突或代码非标准化而导致的复现失败问题,其核心研究目标是实现笔记的自动化现代化改造。通过收集Meta Kaggle中超过百万条竞赛提交记录,并利用MLE-Agent等工具进行环境回溯与代码升级,MLEModernizer为自动化复现提供了规模化的基准测试集,对推动软件工程与机器学习的交叉研究具有重要价值。
当前挑战
MLEModernizer面临的首要挑战在于所解决的领域问题:机器学习笔记的复现性危机——Kaggle等平台上的大量优秀笔记因依赖环境冻结不完整、代码硬编码路径或依赖已废弃的库版本而无法直接复现。构建过程中的挑战则包括:海量元数据中有效脚本的筛选,需通过运行时间、提交时间及私有分数等多重阈值过滤;跨版本依赖的自动解析与回溯,以pigar等工具动态生成准确的依赖清单;以及代码现代化升级的粒度权衡,即从文件级补全到代码级重写的策略选择,需兼顾自动化程度与复现保真度。
常用场景
经典使用场景
MLEModernizer数据集的核心应用场景在于对机器学习工程Notebook进行自动化现代化改造,以提升其可复现性。该数据集汇集了大量来自Kaggle竞赛的真实Notebook及其元数据,涵盖了从原始代码到依赖环境等全方位信息。研究者可借助此数据集,系统性地解决因环境差异与代码碎片化导致的实验结果难以复现的顽疾,为机器学习实验的标准化与自动化管理提供坚实的数据支撑。
实际应用
在实际应用层面,MLEModernizer扮演着机器学习工程流水线智能化升级的催化剂角色。企业数据科学团队可借助该数据集训练模型,自动识别并修复历史项目中遗留的不可复现Notebook,将其快速转化为标准化、可投产的代码模块。此外,它亦可助力持续集成与持续部署系统,动态检测提交代码的可复现性隐患,从而大幅降低模型部署后的维护成本,加速从研究原型到生产服务的转化进程。
衍生相关工作
围绕MLEModernizer,一系列衍生工作正蓬勃兴起。基于该数据集,研究者已构建出能够自动进行环境回溯与代码语法升级的工具链,例如利用静态分析与动态依赖解析相结合的技术,实现Notebook的全自动修复。更进一步,工作还延伸至对Notebook现代化效果的精细评估,衍生出针对可复现性度量的新指标体系,以及探索利用大语言模型理解并重构Notebook语义结构的开拓性尝试,形成了以可复现性为核的机器学习工程进化研究生态。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务