如果成功和失败的概率恰好为 0.5,逻辑回归模型将如何反应?

How a Logistic Regression model reacts if the probability of success and failure are exactly 0.5?

我们知道逻辑回归模型的二元分类成功的默认阈值是 > 0.5.

如果成功和失败的预测概率恰好为 0.5,我很想知道该模型的输出。有人可以解释一下吗?

简单来说,就是模型对做决定没有信心。您可以根据您的问题选择 class 标签中的任何一个 - 您想要高精度还是高召回率?然而更系统的方法是使用ROC曲线来找到最佳阈值。

从理论的角度 - 你可以决定如何考虑这些样本 p = 0.5.

如果你问sklearn逻辑回归实现的决策边界 -

这是源码中的predict方法:

def predict(self, X):
    """
    Predict class labels for samples in X.
    Parameters
    ----------
    X : array_like or sparse matrix, shape (n_samples, n_features)
        Samples.
    Returns
    -------
    C : array, shape [n_samples]
        Predicted class label per sample.
    """
    scores = self.decision_function(X)
    if len(scores.shape) == 1:
        indices = (scores > 0).astype(np.int)
    else:
        indices = scores.argmax(axis=1)
    return self.classes_[indices]

你可以看到他们使用了argmax:indices = scores.argmax(axis=1) -- 这意味着如果有 2 个 class 概率为 0.5 则取第一个 (class 0);这就是 argmax 的工作方式。

scores = np.array([[0.5, 0.5]])
scores.argmax(axis=1)
Out[5]: array([0])