SK-learn の LogisticRegression 分類器を次の one-vs-rest 分類器と組み合わせて使用すると、単独で複数クラスの分類を行うよりも f スコアがわずかに低いことに気付きました。
class MyOVRClassifier(sklearn.OneVsRestClassifier):
"""
This OVR classifier will always choose at least one label,
regardless of the probability
"""
def predict(self, X):
probs = self.predict_proba(X)[0]
p_max = max(probs)
return [tuple([self.classes_[i] for i, p in enumerate(probs) if p == p_max ])]
ロジスティック回帰分類子のドキュメントには、1 対すべての戦略を使用していると記載されているため、どのような要因がパフォーマンスの違いを説明できるのか疑問に思っています。私の one-vs-rest LR 分類器は、LR 分類器が単独で行うよりも、クラスの 1 つを過剰に予測しているようです。