1、K近邻算法介绍
K近邻(k-Nearest Neighbor,KNN)分类算法的思路是:在特征空间中,如果一个样本附近的k个最近样本的大多数属于某一个类别,则该样本也属于这个类别。K近邻算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
总的来说,K 近邻算法就是靠找离待分类样本最近的一些已知分类的样本,根据它们的类别情况来给待分类样本确定类别的一种方法。
2、K近邻算法实现
首先K近邻算法是 lazy-learning 算法,在一开始并不需要对训练集进行这样的训练操作,它只是简单地存储训练样本集,等到有新的数据需要分类时才开始真正的处理工作,所以说它不需要使用训练集进行训练,具有 “惰性” 的特点。这点与决策树、神经网络等算法,要在训练阶段花费大量时间去调整模型参数、构建模型结构等有明显区别。
其次,K近邻算法的训练样本集就是用来辅助对新数据进行分类判断的一个数据集合。在这个集合里,每个数据都带有相应的标签,所谓标签就是表明这个数据所属的类别是什么。
随后,信数据输入后会进行2个操作,第一个是特征比较:把新数据所具备的各个特征,和训练样本集中每个数据对应的特征逐一进行对比。第二个是提取最近邻数据的分类标签:通过比较后,算法会从样本集中找出与新数据最相似的数据,这里一般是选取前 K 个最相似的数据,这就是 “K 近邻” 里 “K” 的含义所在。这个 “K” 通常是设定为不大于 20 的整数。
最后,在选出了 K 个最相似的数据后,查看这 K 个数据分别属于哪些类别,然后统计各个类别出现的次数,哪个类别出现的次数最多,就把这个出现次数最多的类别作为新输入的那个无标签数据的

最低0.47元/天 解锁文章
1194

被折叠的 条评论
为什么被折叠?



