本关任务:编写一个能对数据进行回归的程序。 from sklearn.neighbors import KNeighborsRegressor def regression(train_feature, train_label, test_feature): ''' 使用KNeighborsRegressor对test_feature进行分类 :param train_feature: 训练集数据 :param train_label: 训练集标签 :param test_feature: 测试集数据 :return: 测试集预测结果 ''' #********* Begin *********# #********* End *********# 请仔细阅读上面代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下: 完成regression函数。函数需要完成的功能是使用KNeighborsRegressor对test_feature进行分类。其中函数的参数如下: train_feature: 训练集数据; train_label: 训练集标签; test_feature: 测试集数据。
时间: 2025-05-05 17:48:59 浏览: 23
### 使用 KNeighborsRegressor 完成回归预测
以下是通过 `KNeighborsRegressor` 实现回归任务的完整代码示例,涵盖了数据预处理、模型训练以及测试集上的预测部分。
#### 数据准备与分割
为了演示方便,这里采用 scikit-learn 自带的数据集——波士顿房价数据集作为例子。首先加载并划分数据集:
```python
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)
```
#### 特征标准化
由于 K近邻算法对特征尺度敏感,在应用之前通常需要对数据进行标准化处理。这一步骤可以通过 `StandardScaler` 来完成[^1]。
```python
from sklearn.preprocessing import StandardScaler
# 初始化标准缩放器
scaler = StandardScaler()
# 对训练集和测试集分别进行标准化
X_train_std = scaler.fit_transform(X_train)
X_test_std = scaler.transform(X_test)
```
#### 构建与训练模型
创建一个 `KNeighborsRegressor` 的实例,并使用经过标准化后的训练数据对其进行拟合。
```python
from sklearn.neighbors import KNeighborsRegressor
# 创建 KNeighborsRegressor 模型,默认参数即可用于初步实验
knn_regressor = KNeighborsRegressor(n_neighbors=5)
# 训练模型
knn_regressor.fit(X_train_std, y_train)
```
#### 测试集预测
利用已经训练好的模型对测试集进行预测操作。
```python
# 预测测试集的结果
y_pred = knn_regressor.predict(X_test_std)
```
#### 结果评估
最后可通过计算均方误差(MSE)、R²分数等方式衡量模型性能。
```python
from sklearn.metrics import mean_squared_error, r2_score
# 计算 MSE 和 R² 得分
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"Mean Squared Error: {mse:.2f}")
print(f"R² Score: {r2:.2f}")
```
以上即为完整的流程说明及其实现方式[^4]。
---
阅读全文
相关推荐



















