scikit-learn线性回归,多元回归,多项式回归的实现
简介
scikit-learn是Python中一个非常流行的机器学习库,它提供了许多常用的机器习算法和工具。其中包括线性回归、多元回归和多项式回归等。本攻略将详细讲解如何使用scikit-learn实现这些回归模型。
线性回归
线性回归是一种常用的回归模型,它可以用来预测一个连续的数值。在scikit-learn中,我们可以使用LinearRegression
类来实现线性回归。下面是一个示例:
from sklearn.linear_model import LinearRegression
import numpy as np
# 创建一个一维数组
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
# 将x转换为二维数组
x = x.reshape(-1, )
# 创建一个线性回归模型
model = LinearRegression()
# 训练模型
model(x, y)
# 预测结果
y_pred = model.predict(x)
# 打印结果
print(y_pred)
在上面的示例中,我们首先创建了一个一维数组x
和一个一维数组y
。然后我们将x
转换为一个二维数组,并使用LinearRegression
类创建了一个线性回归模型。接着我们使用fit()
函数训练了模型,并使用predict()
函数预测了结果。最后,我们打印出了预测结果。
多元回归
多元回归是种常用的回归模型,它可以用来预测一个连续的数值,但是它可以使用多个自变量来进行预测。在scikit-learn中,我们可以使用LinearRegression
类来实现多元回归。下面是一个示例:
from sklearn.linear_model import LinearRegression
import numpy as np
# 创建一个二维数组
x = np.array([[1, 2], [2, 4], [3, 6], [4, 8], [5, 10]])
y = np.array([2, 4, 6, 8, 10])
# 创建一个线性回归模型
model = LinearRegression()
# 训练模型
model.fit(x, y)
# 预测结果
y_pred = model.predict(x)
# 打印结果
print(y_pred)
在上面的示例中,我们首先创建了一个二维数组x
和一个一维数组y
。然后我们使用LinearRegression
类创建了一个线性回归模型。接着我们使用fit()
函数训练了模型,并使用predict()
函数预测了结果。最后,我们打印出了预测结果。
多项式回归
多项式回归是一种常用的回归模型,它可以用来预测一个连续的数值,但是它可以使用多项式函数来进行预测。在scikit-learn中,我们可以使用PolynomialFeatures
类来实现多项式回归。下面是一个示例:
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
import numpy as np
# 创建一个一维数组
x = np.array([1, 2, 3, 4, 5])
y = np.array([1, 4, 9, 16, 25])
# 将x转换为二维数组
x = x.reshape(-1, 1)
# 创建一个多项式特征对象
poly = PolynomialFeatures(degree=2)
# 将x转换为多项式特征
x_poly = poly.fit_transform(x)
# 创建一个线性回归模型
model = LinearRegression()
# 训练模型
model.fit(x_poly, y)
# 预测结果
y_pred = model.predict(x_poly)
# 打印结果
print(y_pred)
在上面的示例中,我们首先创建了一个一维数组x
和一个一维数组y
。然后我们将x
转换为一个二维数组,并使用PolynomialFeatures
类创建了一个多项式特征对象。接着我们使用fit_transform()
函数将x
转换为多项式特征,并使用LinearRegression
类创建了一个线性回归模型。然后我们使用fit()
函数训练了模型,并使用predict()
函数预测了结果。最后,我们打印出了预测结果。
示例一:使用多元回归预测房价
下面是一个使用多回归预测房价的示例:
from sklearn.linear_model import LinearRegression
import numpy as np
# 创建一个二维数组
x = np.array([[1400, 3], [1600, 3], [1700, 4], [1900, 4], [2200, 5]])
y = np.array([245000, 312000, 279000, 308000, 500000])
# 创建一个线性回归模型
model = LinearRegression()
# 训练模型
model.fit(x, y)
# 预测结果
y_pred =.predict([[2000, 4]])
# 打印结果
print(y_pred)
在上面的示例中,我们首先创建了一个二维数组x
和一个一维数组y
。然后我们使用LinearRegression
类创建了一个线性回归模型。接着我们使用fit()
函数训练了模型,并使用predict()
函数预测了结果。最后,我们打印出了预测结果。
示例二:使用多项式回归预测销售额
下面是一个使用多项式回归预测销售额的示例:
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
import numpy as np
# 创建一个一维数组
x = np.array([1, 2, 3, 4, 5])
y = np.array([10, 20, 30, 40, 50])
# 将x转换为二维数组
x = x.reshape(-1, 1)
# 创建一个多项式特征对象
poly = PolynomialFeatures(degree=2)
# 将x转换为多项式特征
x_poly = poly.fit_transform(x)
# 创建一个线性回归模型
model = LinearRegression()
# 训练型
model.fit(x_poly, y)
# 预测结果
y_pred = model.predict(poly.fit_transform([[6]]))
# 打印结果
print(y_pred)
在上面的示例中,我们首先创建了一个一维数组x
和一个一维数组y
。然后我们将x
转换为一个二维数组,并使用PolynomialFeatures
类创建了一个多项式特征对象。接着我们使用fit_transform()
函数将x
转换为多项式特征,并使用LinearRegression
类创建了一个线性回归模型。然后我们使用fit函数训练了模型,并使用
predict()`函数预测了结果。最后,我们打印出了预测结果。
总结
本攻略详细讲解了如何使用scikit-learn实现线性回归、多元回归和多项式回归等回归模型。scikit-learn是Python中一个非常流行的机器学习库,它提供了许多常用的机器学习算法和工具。如果你需要进行回归分析,那么scikit-learn是非常好的选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:scikit-learn线性回归,多元回归,多项式回归的实现 - Python技术站