プロジェクトの概要
PMLB(Penn Machine Learning for Benchmarks)は、ペンシルベニア大学計算遺伝学ラボラトリーによって開発されたベンチマークデータセットのリポジトリです。このプロジェクトはNIH(米国国立衛生研究所)の支援を受けており、教師あり機械学習アルゴリズムの評価と比較を目的としています。
リポジトリには二値分類、多クラス分類、回帰問題にわたる多様なデータセットが含まれており、各种機械学習アルゴリズムの性能評価に最適です。
ディレクトリ構成
PMLBリポジトリは標準的なPythonプロジェクト構造を採用しています。主要なディレクトリ構成は以下の通りです:
- src/pmlb/: コア機能を含むメインパッケージ。データセットの読み込み、前処理、功能を担当するサブモジュールで構成されています。
- data/: データセットファイルが格納されます。Git LFSで管理されている場合があり、 cloning時に空のリンクになることがあります。
- docs/: APIドキュメントやユーザーガイドが含まれます。
- setup.py: プロジェクトのインストールスクリプトです。
- requirements.txt: 必要な第三方依存ライブラリを定義しています。
インストール方法
PMLBはpip経由で簡単にインストールできます。以下のコマンドを実行してください:
pip install pmlb --upgrade
インストールが完了すると、Python環境からライブラリをインポートして使用できるようになります。
基本的な使用例
インストール後、以下のようにライブラリをインポートしてデータセットを読み込みます:
import pmlb
from pmlb import fetch_dataset
# 標準的なデータセットの読み込み
data = fetch_dataset('adult')
features = data['data']
targets = data['target']
# 特定のデータセットの詳細情報を取得
info = pmlb.dataset_info('iris')
print(info)
より詳細な使用例として、データセットの統計情報を確認するコードを示します:
import pmlb
import pandas as pd
# データセットの読み込みとDataFrameへの変換
df = pmlb.get_data('breast_cancer', return_X_y=False)
# データ概要の表示
print(f"データ形状: {df.shape}")
print(f"特徴量数: {df.shape[1] - 1}")
print(f"ターゲット列: {df.columns[-1]}")
データセットの検索と取得
PMLBには多くのデータセットが格納されており、条件でフィルタリングして取得できます:
import pmlb
# 分類タスクのデータセット一覧を取得
classification_datasets = pmlb.dataset_names('classification')
# 回帰タスクのデータセット一覧を取得
regression_datasets = pmlb.dataset_names('regression')
# 特定のキーワードを含むデータセットを検索
filtered = [name for name in classification_datasets if 'diabetes' in name.lower()]
print(filtered)
設定とカスタマイズ
PMLBは外部設定ファイルを提供していませんが、関数パラメータを通じて動作をカスタマイズできます。主要なパラメータには、データセットの読み込みモード、欠損値の処理方法、特徴量の型変換などが含まれます。
具体的なパラメータ設定については、公式ドキュメントを参照してください。