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

如何解读scikit-learn中多项式回归的系数并构建预测公式

多项式回归系数解读与预测公式构建

首先明确:你用的是2阶多项式回归,输入5个原始特征,PolynomialFeatures(degree=2, include_bias=False)会生成三类特征,总数正好是20个,对应你得到的20个系数:

  • 5个原始1次特征:feat_a, feat_b, feat_c, feat_d, feat_e
  • 10个两两特征的交互项(乘积项):比如feat_a*feat_b、feat_a*feat_c,直到feat_d*feat_e(组合数计算:C(5,2)=10)
  • 5个特征的平方项:feat_a², feat_b², ..., feat_e²

快速匹配系数与对应特征

直接用PolynomialFeatures的get_feature_names_out()方法,就能拿到每个系数对应的特征名称,代码如下:

# 在拟合poly_features后添加这行代码
feature_names = poly_features.get_feature_names_out()
# 逐个打印特征与对应系数
for name, coeff in zip(feature_names, coefficients):
    print(f"{name}: {coeff}")

构建完整预测公式

拿到特征与系数的对应关系后,预测公式可以写成:

Y = intercept 
    + coeff_0*feat_a + coeff_1*feat_b + coeff_2*feat_c + coeff_3*feat_d + coeff_4*feat_e
    + coeff_5*feat_a*feat_b + coeff_6*feat_a*feat_c + ... + coeff_14*feat_d*feat_e
    + coeff_15*feat_a² + coeff_16*feat_b² + coeff_17*feat_c² + coeff_18*feat_d² + coeff_19*feat_e²

其中coeff_0到coeff_19就是你输出的coefficients数组里的元素,顺序和feature_names的输出顺序完全对应。

比如如果feature_names第一个元素是feat_a,那coefficients[0]就是feat_a项的权重;如果feature_names第6个元素是feat_a*feat_c,那coefficients[5]就是这个交互项的权重,以此类推。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:53:11