3 x 3の混同行列で精度を計算して再現する方法


12
                  Predicted
                    class
               Cat  Dog Rabbit
  Actual class
           Cat   5    3      0
           Dog   2    3      1
        Rabbit   0    2     11

精度と再現率を計算するにはどうすればよいですか。F1スコアの計算が簡単になります。通常の混同行列は2 x 2の次元です。しかし、それが3 x 3になると、精度の計算方法と再現率がわかりません。

回答:


19

精度(別名、正の予測値PPV)と再現(別名、感度)の定義を詳しく説明すると、他のクラスから独立した1つのクラスに関連していることがわかります。

リコールまたはsenstitivityは正しくクラスに属するものとして識別例の割合であるC真にクラスに属しているすべてのケースの中で、C
(本当に「c」に属するケースがあるとすると、これを正しく予測する確率はどれくらいですか?)

精度または正の予測値PPVは、分類子がクラスcに属していると分類者が主張するすべてのケースのうち、クラスcに属していると正しく識別されたケースの割合です。 言い換えれば、クラスcに属すると予測されたケースのうち、どの部分が本当にクラスcに属しているのでしょうか。(予測 " c "を仮定すると、正しい確率はどのくらいですか?)

クラスcに属さないと予測されたケースの負の予測値NPV、どの部分が本当にクラスcに属さないのか?(「cではない」という述語を考えると、正しい確率はどれくらいですか?)

したがって、クラスごとに精度と再現率を計算できます。マルチクラスの混同表の場合、これは対角要素をそれぞれ行と列の合計で割ったものです。

計算スキーム

出典:Beleites、C。Salzer、R.&Sergo、V.部分クラスメンバーシップを使用したソフト分類モデルの検証:感度と共同の拡張コンセプト。星状細胞腫組織の等級付けに適用、Chemom Intell Lab Syst、122、12-22(2013)。DOI:10.1016 / j.chemolab.2012.12.003


本当にありがとう。私はすでにあなたのソリューションで説明されている類推を理解しています。紙を読みます。これを答えとして受け入れます。PPVとNPVがわかりません。SensとSpecが説明されているので、これらの概念をグラフィックとして説明してください。回答を受け入れます。
user22149 2014年

3

データを強制選択(分類)に減らし、「近い呼び出し」があったかどうかを記録しないことで、奇妙な効用/損失/コスト関数を密かに想定し、任意のしきい値を使用することに加えて、最小情報最小精度の統計的推定を取得します。 。強制的な選択ではなく、クラスメンバーシップの確率を含む最大の情報を使用する方がはるかに良いでしょう。


1

最も簡単な方法は、confusion_matrixをまったく使用しないことです。これは、classification_report()を使用して、必要なものすべてを提供します。

編集:
これはconfusion_matrix()の形式です:
[[TP、FN]
[FP、TN]]
そして分類レポートはすべてこれを与えます


python ///を使用している場合
Omkaar.K '27 / 07/27

0

単に結果が必要な場合は、自由にツールを考えすぎて使用しないことをお勧めします。Pythonでこれを行う方法を次に示します。

import pandas as pd
from sklearn.metrics import classification_report

results = pd.DataFrame(
    [[1, 1],
     [1, 2],
     [1, 3],
     [2, 1],
     [2, 2],
     [2, 3],
     [3, 1],
     [3, 2],
     [3, 3]], columns=['Expected', 'Predicted'])

print(results)
print()
print(classification_report(results['Expected'], results['Predicted']))

次の出力を取得するには

   Expected  Predicted
0         1          1
1         1          2
2         1          3
3         2          1
4         2          2
5         2          3
6         3          1
7         3          2
8         3          3

             precision    recall  f1-score   support

          1       0.33      0.33      0.33         3
          2       0.33      0.33      0.33         3
          3       0.33      0.33      0.33         3

avg / total       0.33      0.33      0.33         9

0

以下は、クラスラベルがA、B、Cであると仮定したマルチクラス混同行列の例です。

A / P A B C合計
A 10 3 4 17
B 2 12 6 20
C 6 3 9 18

合計18 18 19 55

次に、PrecisionとRecallの3つの値をそれぞれ計算し、Pa、Pb、Pcと呼びます。同様に、Ra、Rb、Rc。

精度= TP /(TP + FP)であることがわかっているため、Paの場合、真の陽性はAとして予測される実際のA、つまり10であり、その列の残りの2つのセルは、BでもCでも、偽陽性になります。そう

Pa = 10/18 = 0.55 Ra = 10/17 = 0.59

現在、クラスBの精度と再現率はPbとRbです。クラスBの場合、真陽性はBとして予測される実際のBです。つまり、値12を含むセルであり、その列の2つのセルの残りが偽陽性になります。

Pb = 12/18 = 0.67 Rb = 12/20 = 0.6

同様にPc = 9/19 = 0.47 Rc = 9/18 = 0.5

分類子の全体的なパフォーマンスは、平均精度と平均再現率によって決まります。このために、各クラスの精度値に、そのクラスの実際のインスタンス数を乗算し、それらを追加して、インスタンスの総数で割ります。お気に入り 、

平均精度=(0.55 * 17 + 0.67 * 20 + 0.47 * 18)/ 55 = 31.21 / 55 = 0.57平均再現率=(0.59 * 17 + 0.6 * 20 + 0.5 * 18)/ 55 = 31.03 / 55 = 0.56

それが役に立てば幸い

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.