用python写一个线性回归的预测算法
时间: 2023-11-17 15:07:06 浏览: 96
好的,以下是用Python实现一个简单的线性回归预测算法的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# 绘制数据
plt.scatter(X, y)
plt.xlabel('X')
plt.ylabel('y')
plt.show()
# 使用梯度下降算法训练线性回归模型
lr = 0.1
n_iterations = 1000
theta = np.random.randn(2, 1)
for iteration in range(n_iterations):
gradients = 2 / len(X) * X.T.dot(X.dot(theta) - y)
theta = theta - lr * gradients
# 打印训练得到的参数
print('theta:', theta)
# 绘制拟合直线
X_new = np.array([[0], [2]])
X_new_b = np.c_[np.ones((2, 1)), X_new]
y_predict = X_new_b.dot(theta)
plt.plot(X_new, y_predict, 'r-', linewidth=2, label='Predictions')
plt.scatter(X, y)
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()
```
这段代码生成了一些随机的数据,并使用梯度下降算法训练了一个线性回归模型。最后绘制了原始数据和拟合直线的图形。你可以根据自己的需求修改代码,例如使用其他的数据集、调整训练参数等。
阅读全文