Matlab之KNN实现

该博客介绍了如何使用Matlab实现KNN算法。首先,通过Matlab生成两类高斯分布数据并标记类别,然后详细解释了KNN算法的流程,包括计算距离、选取最近的K个点以及确定测试数据的类别。博主通过一个二维数据集的例子,展示了KNN算法的运行过程,测试数据在[-3, 3]范围内,以黑点表示属于某一类。" 78903799,7427822,阻止输入框回车刷新页面:智能查询处理,"['前端开发', 'HTML', 'JavaScript', 'Ajax', '表单交互']
摘要由CSDN通过智能技术生成

1.     算法流程

1)      通过Matlab产生高斯分布产生两类数据,并标明类别

2)      数据初始化:设置K=某个常数(一般为奇数)

3)      对于每个测试数据,

计算其到两类数据的所有点的距离

对于上述求得的距离,选出K个最小的,

检测这选出的K个值中属于类别1和类别2的个数

If Cnt1>Cnt2

          属于类别1;

Else

          属于类别2;


2、实验代码:

clear all;
close all;
clc;

%%第一个类数据和标号
mu1=[0 0];  %均值
S1=[0.3 0;0 0.35];  %协方差
data1=mvnrnd(mu1,S1,100);   %产生高斯分布数据
plot(data1(:,1),data1(:,2),'+');
label1=ones(100,1); %产生100行1列的单位矩阵
hold o

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值