K近邻(KNN)算法的学习

K近邻算法

首先应该明白K近邻算法是一种分类算法,这里不作实际问题抽象成数学模型的解释,只在数学方面来说明。

背景

已知一系列的数据点被分成了几个类,现在有一个新的未知点,那么该把这个未知点归为哪一类呢?这就是K近邻算法来解决的问题。

算法

  1. 在未知点附近找出K个最近邻的点(一般K取较小的奇数)
  2. 查询出的这K个点分别属于哪个类
  3. 将未知点归于包含最多点的那个类

PS:需要指出的是,在寻找最近邻点是选择的距离衡量方式有多种,可能会产生不同的结果。另外,在实际情况中根据距离加上权重可能效果更好(普通算法中K个最近邻的距离的权重是相同的)。

猜你喜欢

转载自blog.csdn.net/chenbiyun940419/article/details/84574086