2016-11-21 12 views

答えて

2

まず、あなたの行列が逆さまに配置されています。 対角[(0,0)、(1,1)、(2,2)]に正の正の値が設定されるようにラベルを配置したい場合、これは生成された混乱行列sklearnと他のパッケージから。我々は正しい方向にソートされたものを持ってたら

は、我々はthis answerからページを取り、それを言うことができます。

  1. 真陽性が
  2. 偽陽性が列単位の合計対角の位置にあります。対角なし
  3. 偽陰性は行ごとの合計です。対角線なし。

\次に、正確さとリコールのためにsklearn docsからいくつかの式を取っています。 そしてコードにそれをすべて置く:我々は唯一のバックそれらを追加するfalse_positives /ネガを定義するための真の陽性を削除しているので...私たちは手順のカップルをスキップすることにより、さらに簡素化することができます

import numpy as np 
cm = np.array([[2,1,0], [3,4,5], [6,7,8]]) 
true_pos = np.diag(cm) 
false_pos = np.sum(cm, axis=0) - true_pos 
false_neg = np.sum(cm, axis=1) - true_pos 

precision = np.sum(true_pos/true_pos+false_pos) 
recall = np.sum(true_pos/true_pos + false_neg) 

true_pos = np.diag(cm) 
precision = np.sum(true_pos/np.sum(cm, axis=0)) 
recall = np.sum(true_pos/np.sum(cm, axis=1)) 
答えのために
+0

ありがとう。私がそれを実行すると、精度とリコールのために3つの数字が印刷されます(上記の図のように)。しかし、私は精度のために1つの番号とリコールのために1つの番号が必要です。どうすればそれにアクセスできますか? – vahideh

+0

申し訳ありませんが、最後に追加するのを忘れてしまいました。 – PabTorre

+0

ありがとうございます。私は私の論文のためにこれらが必要です。私は正確さも計算する必要があります。では、この行列には何がありますか? – vahideh

関連する問題