0

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

由于逻辑回归分类器的文档说明它使用一对多策略,我想知道哪些因素可以解释性能差异。我的 one-vs-rest LR 分类器似乎比 LR 分类器本身对其中一个类的预测更多。

4

1 回答 1

1

只是猜测,但可能当“没有人投票”时,您会得到许多微小的浮点值,并且使用 LR 您最终会下溢为零。因此,您最终不会选择最自信/最接近的人,而是根据打破平局的零来选择。请参阅此处的差异示例。

于 2014-04-28T04:31:53.380 回答