python逻辑回归:返回实际值,而不是1或0

Posted

技术标签:

【中文标题】python逻辑回归:返回实际值,而不是1或0【英文标题】:python logistic regression: return actual value, not 1 or 0 【发布时间】:2017-10-18 17:55:30 【问题描述】:

我正在使用 sklearn.linear_model.LogisticRegression 在 Python 中运行逻辑回归模型。

我知道如何返回模型所做的预测(0 或 1),但我想返回模型在四舍五入前产生的实际数字,即 0 和 1 之间的小数。

【问题讨论】:

【参考方案1】:

你想要sklearn.linear_model.LogisticRegression.predict_proba

一个例子:

from sklearn.linear_model import LogisticRegression

model = LogisticRegression()

X = [[0, 1, 0], [2, 2, 1], [3, 1, 0]]

y = [0, 1, 1]

model.fit(X, y)
Out[8]: 
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,
          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,
          verbose=0, warm_start=False)

model.predict_proba(X)
Out[9]: 
array([[ 0.53591311,  0.46408689],
       [ 0.182901  ,  0.817099  ],
       [ 0.11778519,  0.88221481]])

【讨论】:

谢谢!我没有意识到它是如此简单——我以前从未使用过。

以上是关于python逻辑回归:返回实际值,而不是1或0的主要内容,如果未能解决你的问题,请参考以下文章

逻辑回归和判别分析的区别

逻辑回归作为回归的 Python 实现(不是分类!)

序数逻辑回归:Intercept_ 返回 [1] 而不是 [n]

Andrew Ng机器学习:逻辑回归

可以为逻辑回归定义自己的成本函数吗?

逻辑回归输出中只有两个不同的概率值