为什么多类Logistic回归比在OvR分类器中选择最可能的标签给出不同的结果?

时间:2014-04-28 04:07:40

标签: machine-learning scikit-learn multilabel-classification

我注意到,将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 ])]

the documentation of the logistic regression classifier states it uses a one-vs-all strategy以来,我想知道哪些因素可以解释性能上的差异。我的one-vs-rest LR分类器似乎比LR分类器本身过度预测其中一个类。

1 个答案:

答案 0 :(得分:1)

只是猜测,但可能在“没有人投票”时你会获得许多微弱的浮动点值,而对于LR,你最终会下降到零。因此,不是选择最有信心/最接近的人,而是最终根据打破零线进行挑选。查看差异的示例here