先来一张图,图中的红颜色五角代表的星是未知图形,请问,根据周围的图形判定五角星的形状?
怎么知道五角星是个什么形状呢?你是不是听说过这么一句话,要知道一个人是什么样的人就看看他周围最近的人是什么人。对的,就是这个原理。
我们在图上画圈来圈出五角星周围的图形。
上图中如果是圆圈K1,假设圆的半径是1,那么五角星就是蓝色三角形,因为这个范围内只有一个蓝色三角形。
但是如果是圆圈K2,假设圆圈的半径是20,那么五角星就是黄色圆圈,因为这个范围内黄色圆圈最多。
那么问题了,到底是以周围1个做判断,还是周围20个判断。对的这又是问题另一个关键。
把圆的半径叫做K,K到底是1还是20或者其它的数字。这就是经典的KNN算法来了。
因为上图我们没有给图形设置属性,因此还没法算这个K值,但是最基本的原理已经出来了。