scikit-learn的LogisticRegression.predict_proba函数返回值

LogisticRegression.predict_proba函数到底返回什么?

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

array([    [4.65761066e-03, 9.95342389e-01],    [9.75851270e-01, 2.41487300e-02],    [9.99983374e-01, 1.66258341e-05]])

通过使用sigmoid函数进行其他计算,我知道第二列是概率。文档中说第一列是n_samples,但这不可能,因为我的样本是评论,是文本而不是数字。文档还说第二列是n_classes。这显然也不对,因为我只有两个类(即+1-1),而且该函数应该是关于计算样本真正属于某个类的概率,而不是类本身。

第一列到底是什么,为什么它会出现在那里?


回答:

4.65761066e-03 + 9.95342389e-01 = 19.75851270e-01 + 2.41487300e-02 = 19.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]的结果。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注