一、引入
KNN算法是属于分类算法,并且属于监督学习,KNN算法就是其中最典型最容易实现的算法。
我们假设一种运用KNN算法的情况,例如:有五组数据,这五组数据表示人并且有三个维度,分别是一个月逛街、打游戏、吃零食的次数。具体数据如下:
- 20 5 15 woman
- 9 18 10 man
- 21 10 7 woman
- 17 13 25 woman
- 12 21 19 man
- 25 9 13 unknow
这五组数据表明男性和女性在三个维度下可能有不同表现,那么如果给出一组未知性别的数据,如何通过KNN判断这组数组说明的是男性还是女性。在使用KNN算法判断之前,我们先来简单说下KNN算法的步骤。
二、KNN算法执行步骤
1.计算测量对象到训练集中每个对象的距离,即找到自己未知对象和训练集对象的距离
2.按照距离的远近距离就那些排序
3.选择当前测试对象和K个最近距离的训练对象,其中要注意K的取值
4.统计这K个训练对象的类别频率
5.这K个训练对象出现的最高频率的类别即为测试对象的类别
给出步骤后我们尝试用Python来判断训练对象应该是属于女性还是男性
三、代码实现
import numpy as np
from sklearn import neighb