3
私はtn、fp、fn、tpとそれが完全に動作する時間のほとんどを抽出するためにsklearn.metrics.confusion_matrix(y_actual, y_predict)
を使用しています。sklearn.metrics.confusion_matrix()は常にTP、TN、FP、FNを返すようにするには?
from sklearn.metrics import confusion_matrix
y_actual, y_predict = [1,1,1,1], [0,0,0,0]
tn, fp, fn, tp = confusion_matrix(y_actual, y_predict).ravel()
>>> [0 0 4 0] # ok
y_actual, y_predict = [1,1,1,1],[0,1,0,1]
tn, fp, fn, tp = confusion_matrix(y_actual, y_predict).ravel()
>>> [0 0 2 2] # ok
しかし、いくつかのケースではconfusion_matrix()は常にそれらの情報を返さないと、以下のように私はとValueErrorになるだろう。
from sklearn.metrics import confusion_matrix
y_actual, y_predict = [0,0,0,0],[0,0,0,0]
tn, fp, fn, tp = confusion_matrix(y_actual, y_predict).ravel()
>>> [4] # ValueError: not enough values to unpack (expected 4, got 1)
y_actual, y_predict = [1,1,1,1],[1,1,1,1]
tn, fp, fn, tp = confusion_matrix(y_actual, y_predict).ravel()
>>> [4] # ValueError: not enough values to unpack (expected 4, got 1)
私の一時的な解決策は、それらの情報を抽出するために私自身の関数を書くことです。 confusion_matrix()
に常にtn、fp、fn、tpの出力を返すような方法はありますか?
おかげ
これは完璧!どうもありがとうございました。 –
うれしかった!それがあなたの問題を解決したら、答えを受け入れることを忘れないでください! – kdd