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

使用sklearn实现多项式回归返回结果与预期不符问题咨询

sklearn多项式回归与Excel结果差异问题

问题描述

使用Python sklearn库进行三次多项式回归计算时,得到的拟合结果与Excel输出的计算结果存在极大差异。

现有实现代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression

def polynomial_regression(x_param, y_param):
    print(x_param)
    print(y_param)
    """create a polynomial regression graph"""
    # 将输入x转换为numpy数组
    x_param = np.array(x_param)

    # 初始化3次多项式特征生成器,关闭偏置项
    poly = PolynomialFeatures(degree=3, include_bias=False)

    # 对原始x做多项式特征转换
    poly_features = poly.fit_transform(x_param.reshape(-1, 1))

    # 初始化线性回归模型
    poly_reg_model = LinearRegression()

    # 传入多项式特征和真实y值训练模型
    poly_reg_model.fit(poly_features, y_param)

    # 基于训练好的模型生成预测值
    y_predicted = poly_reg_model.predict(poly_features)

    # 可视化结果
    plt.figure(figsize=(10, 6))
    plt.title(f"Polynomial regression, coef={poly_reg_model.coef_}", size=16)
    plt.scatter(x_param, y_param)
    plt.plot(x_param, y_predicted, c="red")
    plt.show()

结果对比

  • 现有代码运行输出结果:
    sklearn代码运行结果
  • 预期Excel计算输出结果:
    Excel多项式回归结果

待确认问题

  • 当前代码输出的结果是否为正常情况?
  • 如果结果正常,造成其与Excel计算结果差异的原因是什么?
  • 如果结果不正常,代码编写存在什么问题?

解答

你的回归模型计算逻辑本身没有问题,输出的杂乱折线属于不正常的可视化结果,和模型拟合精度无关。

差异原因

问题出在绘图环节:调用plt.plot()绘制连线时,matplotlib会严格按照传入数组的元素顺序,依次连接相邻两个坐标点,不会自动按x轴数值大小排序后连线。你传入的x_param是原始乱序的采样数据,因此连线会在不同x值之间来回折返,最终呈现出杂乱的锯齿状红线,完全掩盖了三次多项式的平滑曲线形态。
Excel绘制趋势线时会自动对x轴采样点做升序排列后再连线,因此能输出平滑的拟合曲线。你可以打印sklearn模型输出的系数、截距,和Excel趋势线的公式参数做对比,二者仅会存在浮点计算带来的极小精度误差,不存在本质差异。

修复方案

绘图前先将x值与对应的预测值按x升序排序,再传入绘图函数即可,修复后的绘图段代码如下:

# 提取排序索引,按x值从小到大重排数据
sorted_indices = x_param.argsort()
x_plot = x_param[sorted_indices]
y_pred_plot = y_predicted[sorted_indices]

plt.figure(figsize=(10, 6))
plt.title(f"Polynomial regression, coef={poly_reg_model.coef_}", size=16)
plt.scatter(x_param, y_param)
# 传入排序后的数据绘制平滑拟合线
plt.plot(x_plot, y_pred_plot, c="red")
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 05:39:18