K近邻算法简介
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。(来源:搜狗百科)
K近邻算法原理
K近邻(KNN)算法,是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。(这就是现实生活中少数服从多数的思想)
如下图所示:
正方形与三角形代表两种不同的分类在该空间的映射。现在有一绿色圆点,想要预测其所属分类。
然后根据K近邻算法的步骤来对其分类进行预测:
- 如果K=3,绿色圆点的最邻近的3个点是2个红色小三角形和1个蓝色小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类。
- 如果K=5,绿色圆点的最邻近的5个邻居是2个红色三角形和3个蓝色的正方形,还是少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于蓝色的正方形一类。
这就是K近邻算法的基本原理了。当然实际情况要复杂的多,比如k怎么确定的,k为多少效果最好呢?所谓的最近邻又是如何来判断给定呢?下面一一给出解答:
- k怎么确定的,k为多少效果最好呢?
《统计机器学习》中给出的方法就是ÿ