openml/openml-python
OpenML's Python API for a World of Data and More 💫
OpenML‑Python – 简介
OpenML‑Python 是一个客户端库,允许您从 Python 与 OpenML 平台交互。OpenML 是一个在线存储库,研究人员可以在其中共享数据集、机器学习任务(例如预定义的训练-测试分割)以及实验结果。该库提供了 OpenML REST API 的简洁 Pythonic 包装器,使您无需离开代码即可下载数据、获取基准测试套件并上传自己的运行结果。
核心功能(如 README 中所述)
| 功能 | 说明 |
|---|---|
| 数据集访问 | openml.datasets.get_dataset(id_or_name) 返回 Dataset 对象;get_data() 为您提供 X, y, ...,可直接用于 scikit‑learn 或其他工具。 |
| 任务处理 | openml.tasks.get_task(id) 获取预定义的 任务(例如,具有特定训练-测试分割的分类问题)。您可以检索底层数据集和分割索引。 |
| 基准测试套件 | openml.study.get_suite(name) 返回精选的任务 ID 列表(例如 amlb-classification-all)。遍历套件以运行大规模基准测试实验。 |
| 上传/下载运行 | 虽然代码片段中未显示,但该库还支持将实验结果发布回 OpenML,使其成为公共基准测试的一部分。 |
| 跨平台,最新 Python | 适用于 Python 3.10‑3.14,并支持 Linux、macOS 和 Windows。 |
| 安装 | 简单的 pip install openml。 |
| 引用支持 | 提供描述该库的 JMLR 论文的可复制 BibTeX 条目。 |
典型用例工作流程
- 选择数据集或任务 – 按名称(
"credit-g")或数字 ID 选择。 - 加载数据 –
X, y = dataset.get_data(target="class")为您提供特征和标签。 - 如果需要特定分割 – 从任务对象中检索(
task.get_train_test_split_indices)。 - 运行您的模型 – 在训练索引上训练任何 scikit‑learn / PyTorch 等模型,并在测试索引上评估。
- (可选)上传结果 – 使用 OpenML API 发布您的运行,以便其他人进行比较。
- 扩展规模 – 获取整个任务套件,并自动重复该过程以进行大规模基准测试。
谁可能使用这个?
- 研究人员 – 希望跨多个数据集进行可重复的基准测试,而无需手动下载每个 CSV。
- 学生 – 学习模型评估;预定义的任务保证了相同的训练-测试分割。
- 工具构建者 – 需要以编程方式查询 OpenML 以进行元学习或自动化 ML 流水线的人。
入门
pip install openml
import openml
# README 中的示例
dataset = openml.datasets.get_dataset("credit-g")
X, y, _, _ = dataset.get_data(target="class")
官方文档(徽章中链接)包含有关身份验证、上传运行和高级查询选项的更多详细信息。
社区与贡献
该项目欢迎任何级别的贡献。鼓励新贡献者从标记为 "good first issue" 的问题开始,完整的贡献指南位于存储库中。
简而言之: OpenML‑Python 是 OpenML 数据科学平台的真正且积极维护的 Python 客户端,旨在让任何进行机器学习研究的人都能轻松访问数据集和基准测试。
相关
- 项目
- 项目
- 项目
- 项目
- 项目