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() で scikit‑learn などのツールにそのまま使える X, y, ... を取得できます。 |
| タスク処理 | 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 を手動でダウンロードすることなく、多くのデータセットで再現可能なベンチマークを実行したい人。
- 学生 – モデル評価を学ぶ人。定義済みタスクにより、訓練・テスト分割が同一であることが保証されます。
- ツール開発者 – メタラーニングや自動 ML パイプラインのために OpenML をプログラムでクエリする必要がある人。
はじめに
pip install openml
import openml
# README の例
dataset = openml.datasets.get_dataset("credit-g")
X, y, _, _ = dataset.get_data(target="class")
公式ドキュメント(バッジにリンク)には、認証、実行のアップロード、高度なクエリオプションの詳細が記載されています。
コミュニティと貢献
このプロジェクトはあらゆるレベルの貢献を歓迎します。新しい貢献者は "good first issue" タグの付いた issue から始めることをお勧めします。完全な貢献ガイドはリポジトリにあります。
要約: OpenML‑Python は、機械学習研究を行う誰にとってもデータセットとベンチマークへのアクセスを簡単にすることを目的とした、OpenML データサイエンスプラットフォームの本格的で積極的にメンテナンスされている Python クライアントです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト