knn算法python实现例子
时间: 2023-12-04 14:41:19 浏览: 357
kNN算法是一种常见的分类算法,它的Python实现非常简单。下面是一个用来预测豆瓣电影用户性别的例子:
1.首先,我们需要准备数据集,包括用户的电影评分和性别标签。
2.然后,我们需要将数据集分为训练集和测试集。
3.接下来,我们需要对测试集中的每个样本进行分类,具体步骤如下:
a.计算测试样本与每个训练样本之间的距离。
b.选取距离最近的k个训练样本。
c.根据这k个训练样本的性别标签,预测测试样本的性别。
4.最后,我们需要计算分类的准确率。
下面是一个简单的kNN算法Python实现例子:
```python
import numpy as np
from collections import Counter
def knn(k, train_data, test_data):
distances = []
for train in train_data:
distance = np.sqrt(np.sum((train[:-1] - test_data[:-1]) ** 2))
distances.append((distance, train[-1]))
distances.sort()
top_k = [i[-1] for i in distances[:k]]
return Counter(top_k).most_common(1)[0][0]
# 测试
train_data = np.array([[1, 2, 1], [2, 1, 1], [3, 4, 2], [4, 3, 2]])
test_data = np.array([3, 2])
print(knn(3, train_data, test_data))
```
阅读全文