使用 Python 实现 K-最近邻 (KNN) 算法实验
时间: 2024-09-13 19:18:55 浏览: 48
python实现K最近邻算法
在Python中实现K-最近邻(K-Nearest Neighbors, KNN)算法是一种基于实例的学习方法,用于分类和回归问题。下面是简单的步骤:
1. **导入库**:
首先,你需要导入必要的库,如`numpy`, `pandas`, 和`scikit-learn`,它们分别用于数据处理、数据分析以及KNN算法。
```python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
```
2. **数据预处理**:
加载数据集,通常包含特征和标签。例如,使用`load_iris`或`load_digits`等函数从`sklearn.datasets`模块加载示例数据。
```python
from sklearn.datasets import load_iris
data = load_iris()
X = data.data
y = data.target
```
3. **拆分数据**:
将数据分为训练集和测试集,以便评估模型性能。
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. **创建并训练模型**:
创建一个`KNeighborsClassifier`对象,并指定k值(通常是奇数,比如5或7)。然后使用训练数据拟合模型。
```python
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)
```
5. **预测**:
对测试集进行预测,并得到预测结果。
```python
predictions = knn.predict(X_test)
```
6. **评估模型**:
可以使用各种指标来评估模型性能,如准确率、精确度、召回率等。
```python
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, predictions)
print("Accuracy:", accuracy)
```
阅读全文