scikit-learn LogisticRegression.predict_proba的返回值

Zel*_*ahl 19 python machine-learning probability scikit-learn logistic-regression

LogisticRegression.predict_proba功能究竟返回了什么?

在我的例子中,我得到这样的结果:

[[  4.65761066e-03   9.95342389e-01]
 [  9.75851270e-01   2.41487300e-02]
 [  9.99983374e-01   1.66258341e-05]]
Run Code Online (Sandbox Code Playgroud)

从其他计算中,我知道,使用sigmoid函数,第二列是概率.该文件说,第一列是n_samples,但那是不可能的,因为我的样品的评价,这是文字和数字没有.文档还说,第二列是n_classes.这当然不可能,因为我只有两个类(即+1-1),并且该函数应该是关于计算真正属于类的样本的概率,而不是类本身.

真正的第一列是什么?它为什么存在?

iul*_*ian 41

4.65761066e-03 + 9.95342389e-01 = 1
9.75851270e-01 + 2.41487300e-02 = 1
9.99983374e-01 + 1.66258341e-05 = 1
Run Code Online (Sandbox Code Playgroud)

第一列是条目具有-1标签的概率,第二列是条目具有+1标签的概率.

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

  • 我们如何检查课程的顺序?我的意思是你怎么知道第一列是-1的概率? (3认同)
  • 文档说明如下:返回模型中每个类的样本概率.@Zelphir:你在文档中看到:[n_samples,n_classes].这是指输出:它将返回一个矩阵,其中行是样本,列是类(-1,1).正如尤利安所说:你会得到每一行的概率预测为-1,类的概率为1. (2认同)