参数为ZN,CRIM写一个波士顿房价预测代码
时间: 2024-05-11 18:19:38 浏览: 119
以下是一个简单的波士顿房价预测的 Python 代码,该代码使用了波士顿房屋数据集。其中,参数 ZN 和 CRIM 分别代表了该地区住宅用地比例和犯罪率。
```python
# 导入所需的库和数据集
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
# 加载波士顿房屋数据集
boston = load_boston()
# 获取特征和目标变量
X = boston.data
y = boston.target
# 选择特征
features = [5, 6] # ZN 和 CRIM
# 将数据集分为训练集和测试集
train_X = X[:-50, features]
train_y = y[:-50]
test_X = X[-50:, features]
test_y = y[-50:]
# 训练线性回归模型
model = LinearRegression()
model.fit(train_X, train_y)
# 预测测试集
pred_y = model.predict(test_X)
# 输出预测结果
print("预测的房价:", pred_y)
```
需要注意的是,该代码只是一个简单的示例,实际应用中可能需要更多的数据清洗、特征选择和模型调整等步骤。
相关问题
参数为ZN,CRIM写一个波士顿房价预测python代码并将数据可视化
以下是一个简单的使用线性回归模型预测波士顿房价的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与房价之间的关系。
参数为PTRATIO,RAD,ZN,CRIM写一个波士顿房价预测python代码并将数据可视化
以下是一个基于线性回归模型的波士顿房价预测的 Python 代码,使用的数据集是 sklearn 中自带的波士顿房价数据集。其中,使用了 PTRATIO、RAD、ZN、CRIM 四个特征作为输入,预测房价 MEDV。
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 加载数据集
boston = load_boston()
# 提取特征和标签
X = boston.data[:, [10, 8, 1, 0]]
y = boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
model = LinearRegression()
model.fit(X_train, y_train)
# 预测并计算误差
y_pred = model.predict(X_test)
mse = np.mean((y_pred - y_test)**2)
print("Mean Squared Error:", mse)
# 可视化
x_axis = range(len(y_test))
plt.scatter(x_axis, y_test, s=5, color="blue", label="true")
plt.plot(x_axis, y_pred, lw=1, color="red", label="predict")
plt.legend()
plt.show()
```
这段代码会输出预测结果的均方误差(Mean Squared Error),并且会将预测结果和真实结果可视化出来。
当然,这个模型的预测效果并不好,只是简单示例。如果需要更好的预测效果,可以使用更复杂的模型(比如神经网络),或者使用更多的特征。
阅读全文