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

如何绘制多自变量Logistic回归模型的Logistic函数?

多特征Logistic回归模型的概率函数绘制方法

你的猜想完全正确,多特征Logistic模型的核心是**线性组合值(即logit值)**与概率的映射关系,x轴确实对应 intercept + iv1*coeff1 + iv2*coeff2 + iv3*coeff3(基于标准化特征计算的线性组合)。下面是具体实现方案:


方法1:绘制全局logit值与概率的映射曲线

这是最直接体现Logistic函数本质的绘图方式:

  1. 计算样本的logit值并生成连续取值区间
# 计算训练集所有样本的线性组合值(logit)
X_train_logit = clf.decision_function(X_train)

# 生成覆盖样本logit范围的连续序列
logit_xp = np.linspace(X_train_logit.min(), X_train_logit.max(), 100)
  1. 将logit值转换为预测概率
# 用sigmoid函数(expit)将logit映射到概率
from scipy.special import expit
prob_yp = expit(logit_xp)

# 也可以用模型的predict_proba方法(需将logit转成特征格式)
# prob_yp = clf.predict_proba(logit_xp.reshape(-1, 1))[:, 1]
  1. 绘制曲线
import matplotlib.pyplot as plt

plt.plot(logit_xp, prob_yp)
plt.xlabel('线性组合值(logit)')
plt.ylabel('正类预测概率')
plt.title('多特征Logistic回归的概率函数')
plt.show()

方法2:展示单个特征对概率的影响(控制其他特征)

如果想直观看到某一特征(比如iv1)对概率的影响,可以固定其他特征为均值/中位数等典型值,只变化目标特征:

# 固定iv2、iv3为标准化后的均值(即0)
fixed_iv2 = 0
fixed_iv3 = 0

# 生成iv1的原始尺度连续取值
iv1_xp = np.linspace(df[iv1].min(), df[iv1].max(), 100).reshape(-1, 1)
# 构造包含固定特征的标准化输入
iv1_xp_scaled = sclr.transform(np.hstack([
    iv1_xp,
    np.full((100, 1), fixed_iv2),
    np.full((100, 1), fixed_iv3)
]))

# 计算预测概率并绘图
prob_yp_iv1 = clf.predict_proba(iv1_xp_scaled)[:, 1]
plt.plot(iv1_xp, prob_yp_iv1)
plt.xlabel('iv1(原始尺度)')
plt.ylabel('正类预测概率(iv2、iv3取均值)')
plt.title('iv1对预测概率的影响(控制其他特征)')
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:33:26