Я заметил, что мои f-показатели немного ниже при использовании классификатора LogisticRegression SK-learn в сочетании со следующим классификатором «один против остальных», чем при использовании его отдельно для классификации нескольких классов.
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 ])]
Поскольку в документации классификатора логистической регрессии указано, что он использует -все стратегии, мне интересно, какие факторы могут объяснить разницу в производительности. Мой классификатор LR «один против остальных», кажется, переоценивает один из классов больше, чем классификатор LR сам по себе.