在MATLAB中实现KNN分类器

 时间:2024-10-12 00:26:41

1、思路1. 导入训练数据:5位同学各自得两门学科(数学和电子)得成绩以及对应结果(过关和没过关)2. 选定k值3. 输入测试样本:新来的一位同学两门学科的成绩4. 计算和训练数据之间的距离,并排序5. 选取距离最近的k个训练数据的结果中出现频率最高的结果作为最后预测的结果

2、具体代码clcclear allclose allwarning offx=[4 6 7 5 8];y=[3 7 8 5 8];c=["Fail","Pass","Pass","Fail","Pass"];k=3;a=6;b=8;distance=[];for i=1:length(x) e=sqrt((x(i)-a)^2+(y(i)-b)^2); distance=[distance e];endtemp=0;gemp=0;for i=1:length(distance) for j=1:(length(distance)-i) if(distance(j)>distance(j+1)) temp=distance(j); distance(j)=distance(j+1); distance(j+1)=temp; gemp=c(j); c(j)=c(j+1); c(j+1)=gemp; end endendclassy=[];for i=1:k classy=[classy c(i)];endoutput=string(mode(categorical(classy)))

3、结果展示

在MATLAB中实现KNN分类器
  • 王者荣耀变身大作战模式活动入口在哪?怎么进?
  • 我的世界BC2怎么制作火力发电机
  • 我的世界工业2怎么合成金属成型机怎么使用
  • 我的世界面包怎么做
  • 我的世界怎么获得黑曜石:[1]形成黑曜石
  • 热门搜索
    紫罗兰怎么养 鸭蛋怎么腌 胃病怎么治 猪肝怎么煮 头发太油怎么办 clock怎么读 妊娠纹怎么预防 壳牌机油怎么样 怎么提高免疫力 脚上起小水泡很痒是怎么回事还脱皮