K-最近邻的数学解释
KNN 代表 K-nearest neighbour,它是监督学习算法之一,主要用于根据邻居的分类方式对数据进行分类。 KNN 存储所有可用案例并根据相似性度量对新案例进行分类。 KNN 中的 K 是一个参数,它指的是要包括在多数表决过程中的最近邻居的数量。
我们如何选择K?
Sqrt(n),其中 n 是数据点的总数(如果 n 是偶数,我们必须通过加 1 或减 1 来使值变得奇数,这有助于更好地选择)
何时使用 KNN?
当数据集被标记且无噪声并且它必须很小时,我们可以使用 KNN,因为 KNN 是一个“惰性学习器” 。让我们通过一个例子来理解 KNN 算法
NAME | AGE | GENDER | CLASS OF SPORTS |
Ajay | 32 | 0 | Football |
Mark | 40 | 0 | Neither |
Sara | 16 | 1 | Cricket |
Zaira | 34 | 1 | Cricket |
Sachin | 55 | 0 | Neither |
Rahul | 40 | 0 | Cricket |
Pooja | 20 | 1 | Neither |
Smith | 15 | 0 | Cricket |
Laxmi | 55 | 1 | Football |
Michael | 15 | 0 | Football |
这里男性用数值 0 表示,女性用 1 表示。让我们找出安吉丽娜将属于哪个类别的人,其 k 因子为 3,年龄为 5。所以我们必须找出距离使用
d=√((x2-x1)²+(y2-y1)²) to find the distance between any two points.
所以让我们用公式找出Ajay和Angelina之间的距离
d=√((age2-age1)²+(gender2-gender1)²)
d=√((5-32)²+(1-0)²)
d=√729+1
d=27.02
同样,我们一一找出所有的距离。
Distance between Angelina and | Distance |
Ajay | 27.02 |
Mark | 35.01 |
Sara | 11.00 |
Zaira | 9.00 |
Sachin | 50.01 |
Rahul | 35.01 |
Pooja | 15.00 |
Smith | 10.00 |
Laxmi | 50.00 |
Michael | 10.05 |
所以对于安吉丽娜来说, k因子的值是 3。而最接近 3 的是 9,10,10.5 最接近 Angelina 的是 Zaira、Smith 和 Michael。
Zaira 9 板球
迈克尔 10 板球
史密斯 10.5 足球
所以根据KNN算法,安吉丽娜将属于喜欢板球的人。这就是 KNN 算法的工作原理。