knn的回归代码验证
时间: 2024-10-13 19:08:34 浏览: 37
KNN (K-Nearest Neighbors) 回归是一种基于实例的学习方法,它通过寻找训练集中与目标样本最相似的k个邻居来进行预测。在Python中,可以使用scikit-learn库来实现KNN回归。下面是一个简单的KNN回归代码示例:
```python
from sklearn.neighbors import KNeighborsRegressor
import numpy as np
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
# 加载波士顿房价数据集
boston = load_boston()
X, y = boston.data, boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建KNN回归模型,设定k值为5
knn_regressor = KNeighborsRegressor(n_neighbors=5)
# 训练模型
knn_regressor.fit(X_train, y_train)
# 预测测试集
y_pred = knn_regressor.predict(X_test)
# 评估模型性能,比如计算均方误差(MSE)
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
# 验证代码:检查预测结果是否合理,比如查看几个预测点与实际值的关系
sample_indices = [0, 5, -1] # 可以选择一些索引来查看
for index in sample_indices:
print(f"Predicted value for observation {index}: {y_pred[index]}, Actual value: {y_test[index]}")
```
在这个例子中,我们首先加载数据,划分训练集和测试集,然后创建并训练KNN回归模型,最后对测试集进行预测,并评估模型性能。
阅读全文