【初心者向け】機械学習の評価指標「混同行列」をわかりやすく解説

はじめに:混同行列とは?

混同行列(Confusion Matrix)は、主に機械学習の分類モデルの性能を評価するために使用される表です。特に、あるデータがどのクラスに属するかを予測する問題(例:「このメールはスパムか、スパムでないか」「この画像は犬か、猫か」)で活躍します。

モデルの性能を評価する際、単純に「全体の何%を正解したか」という正解率(Accuracy)だけを見ていると、モデルの性能を誤って判断してしまうことがあります。混同行列は、モデルが「どのように正解し、どのように間違えたか」を詳細に分析するための強力なツールです。

混同行列の基本的な見方

混同行列は、モデルの予測結果と実際の正解データを比較し、4つのカテゴリに分類して集計した表です。ここでは、病気の陽性・陰性を判定するAIモデルを例に見ていきましょう。

  • 陽性(Positive): 病気である状態
  • 陰性(Negative): 病気ではない状態

このとき、モデルの予測と実際の結果の組み合わせは、以下の4つのパターンに分けられます。

  1. 真陽性 (True Positive / TP): 実際に陽性のものを、正しく陽性だと予測した。
  2. 偽陽性 (False Positive / FP): 実際は陰性なのに、誤って陽性だと予測した。(間違い)
  3. 偽陰性 (False Negative / FN): 実際は陽性なのに、誤って陰性だと予測した。(間違い)
  4. 真陰性 (True Negative / TN): 実際に陰性のものを、正しく陰性だと予測した。

これらを表にまとめると、以下のようになります。

実際のデータ
陽性 (Positive)陰性 (Negative)
予測結果陽性 (Positive)真陽性 (TP)
True Positive
偽陽性 (FP)
False Positive
陰性 (Negative)偽陰性 (FN)
False Negative
真陰性 (TN)
True Negative

混同行列から計算できる主な評価指標

混同行列の4つの値(TP, FP, FN, TN)を使うことで、モデルの性能を多角的に評価する様々な指標を計算できます。

評価指標計算式説明
正解率 (Accuracy)(TP + TN) / (TP + FP + FN + TN)全データの中で、正しく予測できた割合。最も直感的な指標ですが、データの偏り(例:陽性データが極端に少ない)に弱いという欠点があります。
適合率 (Precision)TP / (TP + FP)モデルが「陽性」と予測したものの中で、実際に陽性であったものの割合。「偽陽性」を減らしたい場合に重要な指標です(例:迷惑メールフィルター)。
再現率 (Recall) / 感度 (Sensitivity)TP / (TP + FN)実際に陽性であるもの全体の中で、モデルが正しく「陽性」と予測できたものの割合。「偽陰性」を減らしたい場合に重要な指標です(例:がん検診)。
F値 (F1-score)2 * (適合率 * 再現率) / (適合率 + 再現率)適合率と再現率の調和平均。両方の指標をバランス良く評価したい場合に用いられます。これら2つの指標はトレードオフの関係にあることが多いです。

Python (scikit-learn) での実装例

Pythonの機械学習ライブラリであるscikit-learnを使うと、簡単に混同行列を作成できます。

ここでは、`sklearn.metrics.confusion_matrix`関数を使用した例を紹介します。

from sklearn.metrics import confusion_matrix
# 実際の正解ラベル
y_true = # 1: 陽性, 0: 陰性
# モデルによる予測ラベル
y_pred =
# 混同行列を計算
# ラベルを (TN, FP, FN, TP) の順で指定
cm = confusion_matrix(y_true, y_pred, labels=)
print("混同行列:")
print(cm)
# 結果の解釈
# [[TN, FP],
# [FN, TP]]
#
# この例では:
# TN = 3 (実際の0を0と予測)
# FP = 2 (実際の0を1と予測)
# FN = 2 (実際の1を0と予測)
# TP = 3 (実際の1を1と予測)

この結果から、TN=3, FP=2, FN=2, TP=3であることがわかります。

まとめ

混同行列は、機械学習の分類モデルが「何を」「どのように」間違えたのかを可視化し、詳細に分析するための非常に重要なツールです。単純な正解率だけでは見えてこないモデルの長所や短所を把握し、目的に応じて適合率や再現率といった指標を使い分けることで、より実践的なモデル評価が可能になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です