如何在 Python 中实现多项式回归
多项式回归是一种回归分析的方法,其模型形式为一个关于自变量 x 的多项式函数,可以用来拟合非线性的数据。
在 Python 中实现多项式回归需要用到 SciPy 库中的 polyfit 函数。这个函数可以用于多项式拟合,返回多项式系数的向量。在使用 polyfit 函数之前,需要先导入 numpy 和 scipy 库。
准备数据
首先,我们需要准备一些数据来进行多项式回归。我们可以使用 numpy 库中的 linspace 函数生成一些随机数据。
import numpy as np
# 生成随机数据
x = np.linspace(-5, 5, num=50)
y = np.sin(x) + np.random.normal(size=50)
在这个例子中,我们生成了一个包含 50 个数据点的随机数据集,其中 x 的取值范围为 -5 到 5。
多项式拟合
一旦我们准备好了数据,就可以使用 polyfit 函数进行多项式拟合。该函数需要传入两个参数:x 和 y 数据,以及要拟合的多项式的阶数。我们将阶数设置为 3。
from scipy import polyfit
# 多项式拟合
p = polyfit(x, y, 3)
在这个例子中,我们将数据 x 和 y 传递给 polyfit 函数,并将要拟合的多项式的阶数设置为 3。该函数返回多项式系数的向量 p。
绘制拟合曲线
一旦我们计算出多项式系数,就可以使用它们来绘制拟合曲线。我们可以使用 matplotlib 库中的 plot 函数绘制原始数据和拟合曲线。
import matplotlib.pyplot as plt
# 绘制原始数据和拟合曲线
plt.plot(x, y, 'o')
plt.plot(x, np.polyval(p, x), '-')
plt.show()
在这个例子中,我们使用 plot 函数绘制原始数据和拟合曲线。原始数据用小圆点表示,拟合曲线用实线表示。np.polyval 函数用于计算拟合曲线上的点。
总结
多项式回归是一种非常有用的分析工具,可以用于拟合非线性数据。在 Python 中,可以使用 SciPy 库中的 polyfit 函数进行多项式拟合。一旦计算出多项式系数,就可以使用它们来绘制拟合曲线。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串