帮我写个 波士顿房价预测的模型代码
时间: 2023-06-02 09:06:09 浏览: 65
好的,我可以为您写一个波士顿房价预测的模型代码。以下是一个Python实现的简单线性回归模型:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 加载数据集
boston_data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data', header=None, sep='\s+')
boston_data.columns = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']
# 特征选择
features = ['RM', 'LSTAT', 'PTRATIO']
X = boston_data[features].values.reshape(-1, len(features))
y = boston_data['MEDV'].values.reshape(-1, 1)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 线性回归模型
lr_model = LinearRegression()
lr_model.fit(X_train, y_train)
# 预测房价
y_pred = lr_model.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print('Mean Squared Error:', mse)
# 绘制预测结果和实际结果的散点图
plt.scatter(y_test, y_pred)
plt.xlabel('Actual house prices')
plt.ylabel('Predicted house prices')
plt.show()
```
该模型使用了三个特征:平均房间数(RM),低收入人群占比(LSTAT)和师生比例(PTRATIO)。您可以根据需要选择更多或更少的特征。