线性回归是一种非常基础且广泛应用的机器学习算法,它试图找到一组权重,使得输入变量的线性组合能够最好地预测输出变量。在这篇文章中,我们将使用Python来实现一个简单的线性回归模型。
首先,我们需要导入所需的库和模块。我们将使用numpy来处理数值计算,matplotlib来绘制图形,random来生成随机数,以及sklearn中的LinearRegression模型。
import numpy as np
import matplotlib.pyplot as plt
import random
from sklearn.linear_model import LinearRegression
接下来,我们生成一些模拟数据。假设我们有100个数据点,每个数据点有一个输入特征和一个输出标签。输入特征是随机生成的,输出标签是输入特征乘以一个随机斜率再加上一个随机截距得到的。
np.random.seed(0)
X = np.random.rand(100, 1)
y = 2 * X + 1 + 0.1 * np.random.randn(100, 1)
现在我们已经生成了数据,接下来我们可以使用sklearn中的LinearRegression模型来进行训练。
model = LinearRegression()
model.fit(X, y)
训练完成后,我们可以查看模型的权重和截距。
print("权重:", model.coef_)
print("截距:", model.intercept_)
最后,我们可以使用模型进行预测,并绘制出预测结果和真实结果的对比图。
X_new = np.linspace(0, 1, 100).reshape(100, 1)
y_pred = model.predict(X_new)
plt.scatter(X, y)
plt.plot(X_new, y_pred, color='red')
plt.show()
通过上述代码,我们可以看到红色的预测线与蓝色的真实数据点拟合得非常好。这说明我们的线性回归模型已经成功地学习到了数据之间的关系。