ウェブサイト検索

マルチラベル ランキング メトリクス - 機械学習におけるラベル ランキングの平均精度


機械学習の分野では、インスタンスに複数のラベルを割り当てるマルチラベル分類は重要なタスクです。マルチラベル分類モデルの有効性を評価するには、予測されたラベルがランク付けされる順序を考慮した特定のメトリクスが必要です。

この記事では、そのような指標の 1 つであるラベル ランキング平均精度 (LRAP) に焦点を当てます。 LRAP は、正しくランク付けされたラベルの平均精度を測定し、マルチラベル分類モデルの包括的な評価を提供します。 LRAP とその重要性を理解すると、マルチラベル タスクの機械学習アルゴリズムの評価と比較を強化できます。

ラベルランキングの平均精度とは何ですか?

マルチラベル ランキング メトリック、特にラベル ランキング平均精度 (LRAP) は、機械学習におけるマルチラベル分類モデルのパフォーマンスを評価するために使用されるメトリックです。従来のバイナリ分類やマルチクラス分類とは異なり、マルチラベル分類では各インスタンスに複数のラベルが割り当てられます。

LRAP は、予測ラベルのランキングを考慮し、正しくランク付けされたラベルの平均精度を測定します。 LRAP は、精度とラベルのランキングの両方を考慮することで、複数のラベルを正しく割り当てて順序付けするモデルの能力を包括的に評価します。

LRAP の範囲は 0 ~ 1 で、スコアが高いほどモデルのパフォーマンスが優れていることを示します。完璧なランキングでは LRAP スコアは 1 になりますが、ランダムまたは不正確なランキングでは 0 に近いスコアになります。LRAP は、ラベル割り当ての精度とその順序の両方を考慮することにより、マルチラベル分類モデルの包括的な評価を提供します。

機械学習におけるラベルランキングの平均精度

機械学習でラベルランキング平均精度(LRAP)を使用してマルチラベルランキングメトリクスを実行するには、次の手順に従います-

  • データセットを準備する複数の関連付けられたラベルを持つインスタンスを含むデータセット。各インスタンスには、予測されたラベルと、マルチラベル分類モデルによって生成された真のラベルの両方が必要です。

  • 各インスタンスの精度を計算する データセット内の各インスタンスについて、予測されたラベルを真のラベルと比較して精度を計算します。ラベルのランキングを検討し、各位置で正しくランク付けされたラベルの数を決定します。正確にランク付けされたラベルの数を、その位置のラベルの合計数で割ることにより、各位置の精度を計算します。

  • 各インスタンスの平均精度を計算します 前のステップで取得した精度値の平均を取ることで、各インスタンスの平均精度を計算します。

  • 平均精度を計算するデータセット内のすべてのインスタンスについて取得された平均精度値の平均を取ることによって、平均平均精度を計算します。これにより、LRAP スコアが得られます。

  • LRAP スコアを解釈する LRAP スコアの範囲は 0 ~ 1 で、スコアが高いほどパフォーマンスが優れていることを示します。完璧なランキングでは LRAP スコアは 1 になりますが、ランダムまたは不正確なランキングでは 0 に近いスコアになります。

以下は、上記の手順に従ってプログラムの例です-

from sklearn.datasets import make_multilabel_classification
from sklearn.metrics import label_ranking_average_precision_score
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import StandardScaler

# Step 1: Generate a sample multilabel dataset
X, y = make_multilabel_classification(n_samples=1000, n_features=20, n_labels=5, random_state=42)

# Step 2: Data cleaning and processing
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

# Step 4: Train a multilabel classification model
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# Step 5: Make predictions on the test set
y_pred = model.predict(X_test)

# Step 6: Calculate LRAP
lrap_score = label_ranking_average_precision_score(y_test, y_pred)

# Step 7: Print the LRAP score
print("LRAP Score:", lrap_score)

出力

C:\Users\Tutorialspoint>python image.py
LRAP Score: 0.7842569444444445

上の例では、make_multilabel_classification 関数を使用して、1000 個のサンプル、20 個の特徴、および 5 個のラベルを含むデータセットを生成しました。次に、StandardScaler を使用して特徴をスケーリングすることにより、データのクリーニングと処理を適用します。 RandomForestClassifier モデルはトレーニング データでトレーニングされ、予測はテスト データで行われます。最後に、label_ranking_average_precision_score を使用して LRAP スコアを計算し、結果を出力します。

結論

結論として、この記事では、機械学習におけるマルチラベル ランキング タスクを評価するための貴重な指標としてラベル ランキング平均精度 (LRAP) を紹介しました。 LRAP はラベルの順序と関連性を考慮し、モデルのパフォーマンスの包括的な評価を提供します。これはアルゴリズムの有効性についての洞察を提供し、マルチラベル分類モデルの改善に役立ちます。

関連記事: