Logistic回归中的混淆矩阵

时间:2017-12-14 16:33:06

标签: python logistic-regression

在二元分类的Logistic回归中,在使用predict()时,分类器如何决定类(1/0)?

它是基于概率阈值,如果> 0.5然后1还是0吗?如果是,可以手动更改此阈值吗?

我知道我们从predict_prob()获得概率,但我对predict()函数感到好奇!

1 个答案:

答案 0 :(得分:1)

Logistic回归与其他分类模型一样,返回每个类的概率。作为二元预测器,它只有两个类。

source codepredict()返回具有最高类概率的类。

def predict(self, X):
    """Predict class labels for samples in X.
    Parameters
    ----------
    X : {array-like, 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]

所以是的,在这种情况下,它返回概率大于50%的类,因为类概率的总和= 1。