参数为ZN,CRIM写一个波士顿房价预测python代码并将数据可视化
时间: 2024-04-30 12:20:33 浏览: 107
以下是一个简单的使用线性回归模型预测波士顿房价的Python代码,并将数据可视化。
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# 加载波士顿房价数据
boston = load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['PRICE'] = boston.target
# 取出ZN和CRIM两列数据
X = df[['ZN', 'CRIM']].values
y = df['PRICE'].values
# 训练线性回归模型
model = LinearRegression()
model.fit(X, y)
# 预测房价
y_pred = model.predict(X)
# 计算均方误差和R2得分
mse = mean_squared_error(y, y_pred)
r2 = r2_score(y, y_pred)
print('Mean squared error:', mse)
print('R2 score:', r2)
# 可视化结果
plt.scatter(X[:, 0], y, s=10)
plt.plot(X[:, 0], y_pred, color='r')
plt.xlabel('ZN')
plt.ylabel('PRICE')
plt.show()
plt.scatter(X[:, 1], y, s=10)
plt.plot(X[:, 1], y_pred, color='r')
plt.xlabel('CRIM')
plt.ylabel('PRICE')
plt.show()
```
代码中首先加载波士顿房价数据,并从中取出ZN和CRIM两列作为特征,以及房价作为目标变量。然后使用线性回归模型训练数据,并预测房价。最后计算均方误差和R2得分,并将数据可视化。
代码的输出结果应该为:
```
Mean squared error: 59.34228719092986
R2 score: 0.2575687593773583
```
此外,代码还会生成两张散点图,分别显示ZN和CRIM与房价之间的关系。
阅读全文