Python - 多项式回归的实现

pythonserver side programmingprogramming

多项式回归是一种线性回归,其中独立变量 x 和因变量 y 之间的关系被建模为 n 次多项式。多项式回归拟合 x 值与相应的 y 条件均值之间的非线性关系,表示为 E(y |x)

示例

# 导入库
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# 导入数据集
datas = pd.read_csv('data.csv')
datas
# 将数据集分为两个部分
X = datas.iloc[:, 1:2].values
y = datas.iloc[:, 2].values
# 将线性回归拟合到数据集
from sklearn.linear_model import LinearRegression
lin = LinearRegression()
lin.fit(X, y)
# 将多项式回归拟合到数据集
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree = 4)
X_poly = poly.fit_transform(X)
poly.fit(X_poly, y)
lin2 = LinearRegression()
lin2.fit(X_poly, y)
# 可视化线性回归结果
plt.scatter(X, y, color = 'blue')
plt.plot(X, lin.predict(X), color = 'red')
plt.title('线性回归')
plt.xlabel('温度')
plt.ylabel('压力')
plt.show()
# 可视化多项式回归结果
plt.scatter(X, y, color = 'blue')
plt.plot(X, lin2.predict(poly.fit_transform(X)), color = 'red')
plt.title('多项式回归')
plt.xlabel('温度')
plt.ylabel('压力')
plt.show()
# 使用线性回归预测新结果
lin.predict(110.0)
# 使用多项式回归预测新结果
lin2.predict(poly.fit_transform(110.0))

相关文章