机器学习中的Python多项式回归

机器学习中的Python多项式回归

介绍

依赖变量和自变量Y和X之间的关联被建模为多项式回归中的n次多项式,这是一种线性回归的类型。为了利用数据点绘制出最佳线条,进行这个过程。让我们在本文中更深入地探讨多项式回归。

多项式回归

多项式回归是多重线性回归模型的罕见实例之一。换句话说,当依赖变量和自变量之间有曲线关系时,它是一种线性回归的一种。它适用于数据中的多项式关系。

此外,通过组合多个多项式部分,多个线性回归方程被转化为多项式回归方程。

多项式回归将自变量x和因变量y之间的关系建模为n次多项式。通过多项式回归可以拟合出x的值与对应的条件均值E(y |x)之间的非线性关系。

多项式回归的需求

以下是指定多项式回归需求的一些条件。

  • 如果将线性模型应用于线性数据库,就像在简单线性回归中一样,会得到很好的结果。然而,如果将此模型应用于非线性数据集而没有进行调整,会导致错误率增加、准确性降低和损失函数增加。

  • 在数据点非线性排列的情况下,需要使用多项式回归。

  • 如果存在非线性模型,并且我们试图将其覆盖,则线性模型将无法覆盖任何数据点。为了确保覆盖所有数据点,需要使用多项式模型。然而,对于大多数数据点,使用多项式模型时,曲线而不是直线效果更好。

  • 如果我们尝试将线性模型拟合到曲线数据上,残差(因变量Y轴)在预测因子(X轴)上的散点图将显示出许多正的残差区域。因此,在这种情况下是不恰当的。

多项式回归的应用

基本上,这些用于定义或描述非线性现象。

  • 组织生物的生长速率。

  • 传染性疾病的发展。

  • 湖泊沉积物中的碳同位素分布。

回归分析的基本目标是在于模拟与独立变量x的值相关的因变量y的预测回报。在简单回归中,我们使用以下方程式:

y = a + bx + e

这里,因变量是y,自变量是a、b和e。

多项式回归类型

由于多项式方程的次数没有上限,可以达到第n个数字,所以存在许多不同的多项式回归类型。例如,多项式方程的二次方通常被称为二次方程。如所示,该次数在第n个数字之前是有效的,我们可以推断出许多方程,根据需要或想要的自由数量。因此,多项式回归通常被分类如下:

  • 当次数为1时,为线性回归。

  • 方程的次数为二次方。

  • 根据所用次数,立方回归的次数为三继续。

例如,在考察化学合成的输出与合成发生的温度之间的关系时,线性模型经常不适用。在这种情况下,我们使用二次模型。

y = a+b1x+b2+b2+e

在这里,错误率为e,y截距为a,y是x的依赖变量。

多项式回归的Python实现

步骤1 -导入数据集和库

导入必要的库以及多项式回归分析的数据集。

# Importing up the libraries
import numpy as nm
import matplotlib.pyplot as mplt
import pandas as ps
# Importing up the dataset
data = ps.read_csv('data.csv')
data

输出

sno Temperature Pressure
0    1     0        0.0002
1    2     20       0.0012
2    3     40       0.0060
3    4     60       0.0300
4    5     80       0.0900
5    6     100      0.2700

步骤2 − 数据集在第二步被分成两个部分。

将数据集分为X和y两个部分。X将包含列1和2。这两列将在列y中。

X = data.iloc[:, 1:2].values
y = data.iloc[:, 2].values

步骤3 − 用线性回归拟合数据集

线性回归模型的两个组成部分被拟合。

from sklearn.linear_model import LinearRegressiondata
line2 = LinearRegressiondata()
line2.fit(X, y)

步骤4 - 多项式回归拟合数据集

X和Y是多项式回归模型拟合的两个组成部分。

from sklearn.preprocessing import PolynomialFeaturesdata
poly = PolynomialFeaturesdata(degree = 4)
X_polyn = polyn.fit_transform(X)
polyn.fit(X_polyn, y)
line3 = LinearRegressiondata()
line3.fit(X_polyn, y)

步骤5 − 在这个阶段,我们使用散点图来可视化线性回归的结果。

mplt.scatter(X, y, color = 'blue')
mplt.plot(X, lin.predict(X), color = 'red')
mplt.title('Linear Regression')
mplt.xlabel('Temperature')
mplt.ylabel('Pressure')
mplt.show()

输出

机器学习中的Python多项式回归

步骤 6 - 使用散点图来显示多项式回归的结果。

mplt.scatter(X, y, color = 'blue')
mplt.plot(X, lin2.predict(polyn.fit_transform(X)), color = 'red')
mplt.title('Polynomial Regression')
mplt.xlabel('Temperature')
mplt.ylabel('Pressure')
mplt.show()

输出

机器学习中的Python多项式回归

步骤7 - 使用线性和多项式回归来预测未来结果。需要注意的是,NumPy 2D数组必须包含输入变量。

线性回归

predic = 110.0
predicdarray = nm.array([[predic]])
line2.predict(predicdarray)

输出

Array([0.20657625])

多项式回归

Predic2 = 110.0
predic2array = nm.array([[predic2]])
line3.predicdict(polyn.fit_transform(predicd2array))

输出

Array([0.43298445])

优点

  • 它能够执行各种各样的任务。

  • 总的来说,多项式适用于广泛的曲面。

  • 多项式提供了变量之间最接近的关系表示。

缺点

  • 这些对偏差非常敏感。

  • 非线性分析的结果可能会受到一个或两个变量的影响。

  • 此外,与线性回归相比,非线性回归的发现偏差的模型验证技术可用性较少。

结论

在本文中,我们学习了多项式回归的理论。我们学习了多项式回归的实现。

在将该模型应用于实际数据集后,我们可以看到其图形并利用其进行预测。我们希望这个会话对我们来说是有益的,并且我们现在可以自信地将这些知识应用于其他数据集。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程