機械学習において多クラス分類モデルを評価する際にsklearn.metrics.f1_scoreでF値を求めようとしたら以下のエラーが出ました。
Target is multiclass but average='binary'. Please choose another average setting.
メッセージ内容そのままなんですが、f1_score関数ではaverageにデフォルトで2値分類用の'binary'が指定されているので、ここでは他の引数を設定します。マイクロ平均(micro)かマクロ平均(macro)で指定することが多いのかな。
from sklearn.metrics import f1_score f1 = f1_score(y_true, y_pred, average=’micro’)
sklearn.metrics.precision_scoreやsklearn.metrics.recall_scoreでも同様。
この辺だと、はやたか様の記事が参考になります。
www.haya-programming.com