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))