在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]形成黑曜石
  • 热门搜索
    coach是什么牌子 如何煮绿豆汤 宁波生活网 volte是什么功能 生活没意思 u盘不读盘怎么办 全日制是什么意思 生活百事通 如何注册淘宝账号 电脑接电视怎么接