📜  多项式回归 scikit learn - Python (1)

📅  最后修改于: 2023-12-03 15:37:52.194000             🧑  作者: Mango

多项式回归 scikit learn - Python

多项式回归可以帮助我们拟合非线性关系的数据。在Python中,我们可以使用scikit learn库实现多项式回归。

安装scikit learn

可以通过pip命令安装scikit learn:

pip install scikit-learn
加载数据

我们需要一个数据集来实现多项式回归。在这里,我们将使用scikit learn自带的波士顿房价数据集。下面给出数据集加载代码:

from sklearn.datasets import load_boston

boston = load_boston()
X = boston.data
y = boston.target
拟合多项式回归模型

我们将使用scikit learn中的PolynomialFeatures和LinearRegression类来实现多项式回归。

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures

poly_features = PolynomialFeatures(degree=2)
X_poly = poly_features.fit_transform(X)

lin_reg = LinearRegression()
lin_reg.fit(X_poly, y)

在上面的代码中,我们首先使用PolynomialFeatures类来将我们的特征矩阵转换为多项式的形式。然后我们使用LinearRegression类来拟合多项式回归模型。在这里,我们使用了二阶多项式,也就是说我们多项式回归模型中会有一次项、二次项和截距项。

预测结果

我们现在可以使用我们拟合的多项式回归模型来预测结果。

y_pred = lin_reg.predict(X_poly)
评估模型

我们可以使用均方根误差(RMSE)来评估我们的多项式回归模型。

from sklearn.metrics import mean_squared_error

rmse = np.sqrt(mean_squared_error(y, y_pred))
print("RMSE:", rmse)
可视化结果

我们可以使用matplotlib库将预测结果和实际结果进行可视化。

import matplotlib.pyplot as plt

plt.scatter(range(len(y)), y, color='b')
plt.scatter(range(len(y)), y_pred, color='r')
plt.legend(('Actual', 'Predicted'))
plt.show()

上面的代码将在一个图像中显示实际结果和预测结果。

总结

在本文中,我们介绍了如何使用scikit learn来实现多项式回归。我们讨论了加载数据、拟合模型、预测结果、评估模型和可视化结果的步骤。