E資格(エンジニア資格) 無料問題 3 / 10 ・ 分野2: 機械学習
3クラス分類の混同行列が次のとおりである。行が実際のクラス、列が予測のクラスで、クラス 0・1・2 の順に並ぶ。クラス 1 の適合率に最も近い値はどれか。 [[50, 2, 3], [10, 30, 10], [ 5, 5, 40]]
- 0.77
- 0.60
- 0.81
- 0.75
正解と解説を見る
正解: C
正解の理由
適合率は、クラス 1 と予測されたもののうち実際にクラス 1 だった割合である。予測がクラス 1 の列の合計は 2 + 30 + 5 = 37 で、そのうち正しいのは 30 なので 30/37 ≒ 0.81 になる。scikit-learn の混同行列は、行が実際のクラス、列が予測のクラスである。
違う選択肢
「0.60」… 実際のクラス 1 の行の合計 10+30+10 = 50 で割った再現率 30/50 = 0.60 である。適合率の分母は、予測のクラス 1 の列の合計である。
「0.77」… 全体の正解率 (50+30+40)/155 = 120/155 ≒ 0.77 である。これはクラス 1 だけの適合率ではなく、全クラスの正解の割合である。
「0.75」… クラス 2 の適合率 40/(3+10+40) = 40/53 ≒ 0.75 である。問われているのはクラス 1 なので、分母はクラス 1 と予測された件数 37 になる。
押さえどころ
行と列の向きは、ライブラリによって逆の流儀もある(行が予測の表もある)ので、表の凡例を必ず確かめる。適合率は列の合計(予測した件数)、再現率は行の合計(実際の件数)が分母になる。