knn算法实例附代码
时间: 2023-07-05 08:25:58 浏览: 37
以下是KNN算法的一个简单实例及其代码,代码使用Python和scikit-learn库实现。
假设我们有一个包含两个特征和三个类别的数据集,数据集如下:
| 特征1 | 特征2 | 类别 |
|-------|-------|------|
| 1 | 2 | A |
| 2 | 3 | A |
| 3 | 4 | B |
| 4 | 5 | B |
| 5 | 6 | C |
| 6 | 7 | C |
首先,我们需要导入需要的库:
```python
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
```
然后,我们需要准备数据集,将数据集分为训练集和测试集:
```python
# 准备数据集
X_train = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]])
y_train = np.array(['A', 'A', 'B', 'B', 'C', 'C'])
X_test = np.array([[2.5, 3.5], [5.5, 6.5]])
```
接下来,我们需要实例化KNeighborsClassifier类,并设置K值为3:
```python
# 实例化KNeighborsClassifier类
knn = KNeighborsClassifier(n_neighbors=3)
```
然后,我们需要使用训练集来训练KNN模型:
```python
# 训练KNN模型
knn.fit(X_train, y_train)
```
接下来,我们可以使用测试集来测试KNN模型的分类效果:
```python
# 预测测试集的类别
y_pred = knn.predict(X_test)
print(y_pred)
```
最后,我们可以输出KNN模型的评分结果:
```python
# 输出KNN模型的评分结果
score = knn.score(X_test, ['B', 'C'])
print(score)
```
完整代码如下:
```python
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
# 准备数据集
X_train = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]])
y_train = np.array(['A', 'A', 'B', 'B', 'C', 'C'])
X_test = np.array([[2.5, 3.5], [5.5, 6.5]])
# 实例化KNeighborsClassifier类
knn = KNeighborsClassifier(n_neighbors=3)
# 训练KNN模型
knn.fit(X_train, y_train)
# 预测测试集的类别
y_pred = knn.predict(X_test)
print(y_pred)
# 输出KNN模型的评分结果
score = knn.score(X_test, ['B', 'C'])
print(score)
```
输出结果为:
```
['A' 'C']
0.5
```
其中,y_pred为测试集的预测结果,score为KNN模型的评分结果。
阅读全文