You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中statsmodels逻辑回归predict_proba的等价实现方法?

在statsmodels中实现sklearn predict_proba的等价功能

statsmodels的LogitResults对象确实没有predict_proba方法,但你可以通过现有方法轻松实现相同功能:

  • 正类(y=1)的概率:直接调用model.predict(X_test),这个方法默认返回的就是样本属于正类的概率,对应sklearn中predict_proba(X_test)[:,1]的结果。
  • 负类(y=0)的概率:用1 - 正类概率计算得到,对应sklearn中predict_proba(X_test)[:,0]的结果。

具体代码示例

# 获取正类概率(对应sklearn的predict_proba[:,1])
y_proba_1 = model.predict(X_test)

# 计算负类概率(对应sklearn的predict_proba[:,0])
y_proba_0 = 1 - y_proba_1

如果需要和sklearn的predict_proba输出格式完全一致(每行包含[0类概率, 1类概率]的二维数组),可以用numpy拼接:

import numpy as np

# 生成和sklearn格式相同的概率数组
y_proba = np.column_stack((y_proba_0, y_proba_1))

补充说明

statsmodels的Logit模型predict方法本质是对模型的线性预测结果(对数几率)应用sigmoid函数,直接输出P(y=1|X),这正是你需要的正类概率,不需要额外调用其他方法。

内容的提问来源于stack exchange,提问作者dingaro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:40:43