单变量线性回归模型代码实现
以下是单变量线性回归模型的Python代码实现:
import numpy as np
import matplotlib.pyplot as plt
# 定义单变量线性回归模型
class LinearRegression:
def __init__(self):
self.theta = None
def fit(self, X, y):
# 添加偏置项
X_b = np.c_[np.ones((len(X), 1)), X]
# 计算最优参数
self.theta = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)
def predict(self, X):
# 添加偏置项
X_b = np.c_[np.ones((len(X), 1)), X]
# 预测
y_pred = X_b.dot(self.theta)
return y_pred
# 生成随机数据
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# 训练模型
lr = LinearRegression()
lr.fit(X, y)
# 绘制数据点和拟合直线
plt.scatter(X, y)
plt.plot(X, lr.predict(X), 'r')
plt.show()
在上面的代码中,我们首先定义了一个LinearRegression类,包含fit和predict两个方法。fit方法用于训练模型,predict方法用于预测新的数据。
在训练模型时,我们首先添加了偏置项,然后使用正规方程求解最优参数。在预测时,我们同样需要添加偏置项,并使用训练得到的参数进行预测。
最后,我们使用生成的随机数据训练模型,并绘制出数据点和拟合直线的图像
原文地址: https://www.cveoy.top/t/topic/cr4j 著作权归作者所有。请勿转载和采集!