numpy实现梯度下降波士顿房价
时间: 2023-08-31 08:14:30 浏览: 114
numpy可以用来实现梯度下降算法来预测波士顿房价。下面是一个简单的示例代码:
```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
# 添加一列全为1的常数列作为截距
X = np.c_[np.ones(X.shape[0]), X]
# 初始化参数
theta = np.zeros(X.shape[1])
alpha = 0.01 # 学习率
num_iter = 1000 # 迭代次数
# 梯度下降算法
for _ in range(num_iter):
# 计算梯度
gradient = np.dot(X.T, np.dot(X, theta) - y) / y.shape[0]
# 更新参数
theta -= alpha * gradient
# 打印学习到的参数
print("学习到的参数:", theta)
```
在上面的代码中,我们首先加载波士顿房价数据集,并进行特征归一化处理。然后我们添加一列全为1的常数列,作为截距项。接着我们初始化参数theta,并设置学习率alpha和迭代次数num_iter。然后使用梯度下降算法进行参数更新,最后打印学习到的参数。
请注意,这只是一个简单的示例,实际应用中可能需要对数据进行更多的预处理和模型评估。
阅读全文