用K近邻回归算法,对波士顿房价数据进行预测,画出真实值与预测值的图像对比图
时间: 2024-02-24 16:00:48 浏览: 84
好的,我可以为您解答和演示相关的代码。首先,我们需要导入相关的库和数据集:
```python
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsRegressor
import matplotlib.pyplot as plt
# 载入波士顿房价数据集
boston = load_boston()
data = pd.DataFrame(boston.data,columns=boston.feature_names)
data['target'] = boston.target
```
接下来,我们将数据集分为训练集和测试集,并使用K近邻回归算法进行拟合和预测:
```python
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data.iloc[:,:-1],data.iloc[:,-1],test_size=0.2,random_state=42)
# 使用K近邻回归算法进行拟合和预测
knn = KNeighborsRegressor(n_neighbors=5)
knn.fit(X_train,y_train)
y_pred = knn.predict(X_test)
```
最后,我们可以将真实值和预测值进行可视化对比,代码如下:
```python
# 绘制真实值和预测值的对比图
plt.figure(figsize=(10,5))
plt.plot(y_test.values,label='True')
plt.plot(y_pred,label='Predicted')
plt.legend()
plt.show()
```
运行上述代码后,就可以得到真实值和预测值的对比图像。需要注意的是,预测结果可能存在一定的误差,因此图像中的曲线可能会稍微有些偏差。
如果您想要更准确地评估模型的性能,可以使用各种评估指标,如平均绝对误差(MAE)、均方误差(MSE)和决定系数(R^2)等。
阅读全文