1. KNN算法
KNN算法又称为k最邻近算法(k-Nearest Neighbour),是一种出现较早且原理比较简单的机器学习算法。其基本思想就是根据距离待分类数据A最近的k个样本数据的分类来预测A可能属于的类别。基本的计算步骤如下:
- 计算待分类数据与样本集中每一个样本之间的距离(欧式距离、马氏距离等);
- 找出距离最近的k个样本;
- 观测这k个样本的分类情况;
- 将出现次数最多的类别作为待分类数据的类别。
KNN算法的优点是原理简单,易于实现,在多分类问题中能取得较好的结果;缺点是计算量较大,需要计算待测数据与每一个样本数据的距离,而且容易受到样本分布的影响,当样本不平衡时很容易产生错误分类。
2. R中的KNN
class包中提供了KNN的相关算法,包括knn,knn1