Dive into hoge

データ分析関連の備忘録

sklearn.metrics.f1_scoreでエラーが出るとき

from sklearn.metrics import f1_score
f1_score(検証データ, 予測データ)

上記モデル検証でF-score出すときに下記エラーが出た。

ValueError: pos_label=1 is not a valid label: array([ 0., 21.])

多分ラベルがだめってことなんだろうけど確認する(jupyterならshift+tabでhelpでるけど)。
sklearn.metrics.f1_score — scikit-learn 0.20.2 documentation

"pos_label : str or int, 1 by default"

正解ラベルはデフォルトでは1だぞと。
私のデータは21になっているのでエラーが出たわけです。

1に置換してもいいけど、文字列か整数でもいいと書いてあるので指定すればいいだろう。
(ちなみにstr or int というのはこのままに入力するという意味ではない。自分がラベルに設定している文字列や整数を入れるということ)

from sklearn.metrics import f1_score
f1_score(検証データ, 予測データ, pos_label = 21)

これでおk