現在の scikit-learn リリースでは、コードによって次の警告が発生します。
DeprecationWarning: Direct support for sequence of sequences multilabel
representation will be unavailable from version 0.17. Use
sklearn.preprocessing.MultiLabelBinarizer to convert to a label
indicator representation.
このアドバイスに従って、 を使用sklearn.preprocessing.MultiLabelBinarizer
して、このマルチラベル クラスを で受け入れられる形式に変換できますf1_score
。例えば:
from sklearn.preprocessing import MultiLabelBinarizer
from sklearn.metrics import f1_score
y_true = [[1,2,3]]
y_pred = [[1,2,3]]
m = MultiLabelBinarizer().fit(y_true)
f1_score(m.transform(y_true),
m.transform(y_pred),
average='macro')
# 1.0