1. ホーム
  2. python-3.x

[解決済み] sklearnのprecision_recall_fscore_supportの出力はどのように並べられるのでしょうか?

2022-02-19 14:36:46

質問

ターゲットラベルを0、1、2(dtype=int)とする多クラス分類の問題をしています。私は自分のモデルを構築し、精度、再現率、およびfスコアを使用して、それがどの程度優れているかを評価したいと思います。以下は、私が行ったことです。

precision,recall,fscore,support = precision_recall_fscore_support(y_train,y_train_pred)
print('recall:  {0}'.format(recall))

そして、これが私の出力です。

recall:  [ 0.99991709  0.56711409  0.12327412]

順番は左から0、1、2というのはほぼ間違いないでしょう。しかし、確かなことはわかりません。どなたか、(1) 順番を確認する方法、(2) 順番を確認する方法を教えていただけませんでしょうか?ラベルの順序を保存するパラメータがあるのでしょうか?私のラベルが "dog","bird","fish" だったとしたらどうでしょうか?アルファベット順だったでしょうか?

どのように解決するのですか?

precision,recall,fscore,support = precision_recall_fscore_support(y_train,y_train_pred,labels=[0,1,2])

左から0、1、2を与える。ちょうど

precision,recall,fscore,support = precision_recall_fscore_support(y_train,y_train_pred,labels=['dog','bird','fish'])

左から順に「犬」「鳥」「魚」と表示されます。