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

如何调整sklearn中Logistic Regression参数使拟合曲线更平滑?

Logistic Regression拟合曲线过于陡峭的解决方法

关键调整参数:C

你当前设置的C=1e5是正则化强度的倒数——C值越大,正则化约束越弱,模型容易过度拟合,导致分类边界(或概率曲线)变得异常陡峭。要让曲线更平滑,减小C的值即可,以此增强正则化强度,限制模型的复杂度。

具体修改步骤

  1. 降低C的取值,比如尝试C=1、C=0.1这类较小的数值,根据实际拟合效果微调:
clf = LogisticRegression(C=1, fit_intercept=True)  # 减小C,增强正则化约束
clf.fit(X.reshape(-1,1), y)
  1. 注意:你代码中绘制的a_voir是模型的分类预测结果(非0即1),本身就是阶跃式的。如果要查看平滑的概率拟合曲线,应该绘制模型输出的概率值,比如你已经计算好的loss,或者用predict_proba方法:
plt.plot(X_test, loss)  # 绘制平滑的sigmoid概率曲线,替代阶跃的分类结果

原理说明

Logistic Regression中的C参数控制正则化(默认是L2正则化)的强度:

  • C越小,正则化项的权重越高,模型会尽量压缩系数的绝对值,使得sigmoid曲线的斜率变小,从而呈现更平滑的过渡。
  • C越大,正则化约束越弱,模型系数可能变得极大,导致sigmoid曲线在分界点附近急剧变化,出现陡峭的跳变效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:35:09