python代码使用k近邻回归算法,对波士顿房价数据进行预测,并画出真实值与预测值的图像对比图
时间: 2024-02-24 10:59:14 浏览: 73
好的,以下是您所需的代码:
```python
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.neighbors import KNeighborsRegressor
import matplotlib.pyplot as plt
# 加载波士顿房价数据集
boston = load_boston()
X = boston.data
y = boston.target
# 划分训练集和测试集
train_size = int(0.7 * len(X))
X_train, X_test = X[:train_size], X[train_size:]
y_train, y_test = y[:train_size], y[train_size:]
# 构建KNN回归模型
knn = KNeighborsRegressor(n_neighbors=5)
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 绘制真实值和预测值对比图
plt.plot(y_test, label='true')
plt.plot(y_pred, label='predicted')
plt.legend()
plt.show()
```
希望能对您有所帮助!
相关问题
使用k近邻回归算法,对波士顿房价数据进行预测,并画出真实值与预测值的图像对比图python
好的,我可以为您提供代码。但在此之前,需要确保您已经安装了以下库:numpy、pandas、sklearn、matplotlib。
接下来,我们可以按照以下步骤进行操作:
1. 加载波士顿房价数据集
```python
from sklearn.datasets import load_boston
boston = load_boston()
```
2. 将数据集拆分为特征和目标变量
```python
X = boston.data
y = boston.target
```
3. 对数据集进行训练集和测试集的划分
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. 导入k近邻回归算法
```python
from sklearn.neighbors import KNeighborsRegressor
```
5. 创建k近邻回归模型并进行训练
```python
knn = KNeighborsRegressor(n_neighbors=5)
knn.fit(X_train, y_train)
```
6. 对测试集进行预测
```python
y_pred = knn.predict(X_test)
```
7. 绘制真实值与预测值的对比图像
```python
import matplotlib.pyplot as plt
plt.scatter(y_test, y_pred)
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.show()
```
完整代码如下:
```python
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()
# 将数据集拆分为特征和目标变量
X = boston.data
y = boston.target
# 对数据集进行训练集和测试集的划分
X_train, X_test, y_train, y_test = train_test_split(X, y, 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)
# 绘制真实值与预测值的对比图像
plt.scatter(y_test, y_pred)
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.show()
```
希望对您有所帮助!
用K近邻回归算法,对波士顿房价数据进行预测,画出真实值与预测值的图像对比图
好的,我可以为您解答和演示相关的代码。首先,我们需要导入相关的库和数据集:
```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)等。
阅读全文