scikit-learn return LogisticRegression.predict_proba 的值

scikit-learn return value of LogisticRegression.predict_proba

LogisticRegression.predict_proba 函数 return 的具体作用是什么?

在我的示例中,我得到如下结果:

[[  4.65761066e-03   9.95342389e-01]
 [  9.75851270e-01   2.41487300e-02]
 [  9.99983374e-01   1.66258341e-05]]

根据其他计算,使用 sigmoid 函数,我知道第二列是概率。 documentation 说,第一列是 n_samples,但这不可能,因为我的样本是评论,是文本而不是数字。文档还说,第二列是 n_classes。这当然不可能,因为我只有两个 classes(即 +1-1),并且该函数应该是计算样本真正属于 [=] 的概率27=],而不是 classes 本身。

第一列到底是什么,为什么会有?

4.65761066e-03 + 9.95342389e-01 = 1
9.75851270e-01 + 2.41487300e-02 = 1
9.99983374e-01 + 1.66258341e-05 = 1

第一列是条目具有 -1 标签的概率,第二列是条目具有 +1 标签的概率。请注意 类 的顺序与 self.classes_.

中的顺序相同

如果你只想得到正标签的预测概率,你可以使用logistic_model.predict_proba(data)[:,1]。这将为您提供 [9.95342389e-01, 2.41487300e-02, 1.66258341e-05] 结果。