Я заметил, что мои f-баллы немного ниже при использовании классификатора LogisticRegression от SK-learn в сочетании со следующим классификатором one-vs-rest, чем использование его отдельно для классификации нескольких классов.Почему многоклассическая логистическая регрессия дает разные результаты, чем выбор наиболее вероятной метки в классификаторе OvR?
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 ])]
С the documentation of the logistic regression classifier states it uses a one-vs-all strategy, я задаюсь вопросом, какие факторы могут объяснить разницу в производительности. Мой классификатор LR с одним vs-отдыхом, по-видимому, слишком предсказывает один из классов больше, чем LR-классификатор делает сам по себе.
Оценщик LR использует некоторую случайность при обучении. Его случайное семя может быть задано явно. –