编写梯度下降法预测波士顿房价代码
时间: 2023-06-23 15:09:55 浏览: 103
以下是使用梯度下降法预测波士顿房价的Python代码:
```python
import numpy as np
from sklearn.datasets import load_boston
from sklearn.preprocessing import StandardScaler
# 加载数据集
boston = load_boston()
# 特征标准化
scaler = StandardScaler()
X = scaler.fit_transform(boston.data)
y = boston.target.reshape(-1, 1)
# 添加偏置项
X = np.hstack((np.ones((X.shape[0], 1)), X))
# 参数初始化
theta = np.zeros((X.shape[1], 1))
# 梯度下降
alpha = 0.01 # 学习率
num_iters = 1000 # 迭代次数
for i in range(num_iters):
h = np.dot(X, theta)
loss = h - y
gradient = np.dot(X.T, loss) / X.shape[0]
theta = theta - alpha * gradient
# 打印训练结果
print(theta)
```
这段代码首先加载了波士顿房价数据集,并使用`StandardScaler`进行特征标准化。然后添加了偏置项,并初始化参数。接下来进行梯度下降,迭代1000次,每次更新参数。最后打印出训练得到的参数。
阅读全文