Matlab学习系列22.-KNN算法.docxVIP

  • 15
  • 0
  • 约2.56千字
  • 约 7页
  • 2022-06-29 发布于江苏
  • 举报
Matlab学习系列22.-KNN算法 21. KNN算法 KNN算法又称为k近邻分类(k-nearest neighbor classification)算法,是从训练集中找到和新数据最接近的k条记录,然后根据他们的主要分类来决定新数据的类别。该算法涉及3个主要因素:训练集、距离或相似的衡量、k的大小。 一、算法要点 1. 指导思想 其指导思想是“近朱者赤,近墨者黑”,由你的邻居来推断出你的类别。 2. 算法步骤: 1)算距离:计算已知类别数据集合汇总的点与当前点的距离,按照距离递增次序排序; 2)找邻居:选取与当前点距离最近的K个点; 3)做分类:确定距离最近的前K个点所在类别的出现频率,返回距离最近的前K个点中频率最高的类别作为当前点的预测分类。 3. k值设定为多大? k太小,分类结果易受噪声点影响;k太大,近邻中又可能包含太多的其它类别的点。(对距离加权,可以降低k值设定的影响) k值通常是采用交叉检验来确定(以k=1为基准) 经验规则:k一般低于训练样本数的平方根 2.距离或相似度的衡量 懒惰算法,对测试样本分类时的计算量大,内存开销大,评分慢。可解释性较差,无法给出决策树那样的规则。 二、Matlab实现 KNN.m function relustLabel=KNN(test,train,trainlabels,k,type) %% test 为一条输入测试

文档评论(0)

1亿VIP精品文档

相关文档