PMLBプロジェクトの実装と活用方法

プロジェクトの概要

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は外部設定ファイルを提供していませんが、関数パラメータを通じて動作をカスタマイズできます。主要なパラメータには、データセットの読み込みモード、欠損値の処理方法、特徴量の型変換などが含まれます。

具体的なパラメータ設定については、公式ドキュメントを参照してください。

タグ: machine-learning Python data-science benchmark-datasets supervised-learning

7月26日 19:02 投稿