0

私は(真の)ブール値と予測されたブール値を持っています:

y_true = np.array([True, True, False, False, False, True, False, True, True,
       False, True, False, False, False, False, False, True, False,
        True, True, True, True, False, False, False, True, False,
        True, False, False, False, False, True, True, False, False,
       False, True, True, True, True, False, False, False, False,
        True, False, False, False, False, False, False, False, False,
       False, True, True, False, True, False, True, True, True,
       False, False, True, False, True, False, False, True, False,
       False, False, False, False, False, False, False, True, False,
        True, True, True, True, False, False, True, False, True,
        True, False, True, False, True, False, False, True, True,
       False, False, True, True, False, False, False, False, False,
       False, True, True, False])

y_pred = np.array([False, False, False, False, False, True, False, False, True,
       False, True, False, False, False, False, False, False, False,
        True, True, True, True, False, False, False, False, False,
       False, False, False, False, False, True, False, False, False,
       False, True, False, False, False, False, False, False, False,
        True, False, False, False, False, False, False, False, False,
       False, True, False, False, False, False, False, False, False,
       False, False, True, False, False, False, False, True, False,
       False, False, False, False, False, False, False, True, False,
       False, True, False, False, False, False, True, False, True,
        True, False, False, False, True, False, False, True, True,
       False, False, True, True, False, False, False, False, False,
       False, True, False, False])

次のインポートを使用しています

from sklearn.metrics import f1_score, classification_report, confusion_matrix

混同行列は次のようになります。

print(confusion_matrix(y_true, y_pred))

[[67  0]
 [21 24]]

私がやっている:

print("f1_score: %f" % f1_score(y_true, y_pred))
print(classification_report(y_true, y_pred))

私は得る:

f1_score: 0.695652
             precision    recall  f1-score   support

      False       0.76      1.00      0.86        67
       True       1.00      0.53      0.70        45

avg / total       0.86      0.81      0.80       112

f1-score( 0.6956520.860.70、 )の 4 つの値が表示されます0.80。それぞれの値の違いは何なのか、どのように計算されているのだろうか。

4

1 に答える 1

2

0.695652と同じことだと思います0.70。scikit-learn のf1_score ドキュメントでは、デフォルト モードで次のように説明されています。F1 スコアは positive classバイナリ分類を提供します。

0.86また、F1 スコアの定式化により、簡単に のスコアに到達できます。F1スコアの定式化は

F1 = 2 * (precision * recall) / (precision + recall)

編集 :

混同行列はそのようなものです:

                    Prediction
                    FALSE | TRUE
True Value  FALSE    67      0
            TRUE     21      24

67 = True Negative, 0 = False Negative
21 = False Positive, 24  = True Positive

平均/合計を見つける際に、式はコメントで述べたようにこの値を使用します。

于 2015-05-29T00:35:42.707 に答える