KNN算法概述:

1.KNN算法是通过已有的数据,已有的标签,对新数据进行分类。

2.分类依据:找最近的K个点,大部分人所在的集合,就是我所在的集合。

3.K的意思:最近的K个点。

举例:2(a类),8(b类),11(a类),30(c类),45(c类),70(a类)

我的值为15,取K=3。

最近的点为:2,8,11

a类2个,b类1个,c类0个

那么我是a类的

一、数据

以矩阵形式存储,此处采用二维(即特征值两个)

一、训练数据,标签,测试数据

我们得到矩阵,形式如下

trainData = [1.0,2.0;1.2,0.1;0.1,1.4;0.3,3.5]; %为4×2矩阵,每一个数据为横向

trainClass = [1; 1; 2; 2]; %标签4×1

testData = [0.5, 2.3];

二、距离表示

采用欧氏距离

先将testData扩展到与trainData同等形式的矩阵,使得每个值直接相减

temp = repmat(testData, [size(trainData,1), 1]); %将测试点分化为训练集的数量

dist = (temp - trainData).^2; %计算距离各个点的距离,采用欧式距离法

dist = sqrt(sum(dist, 2));

三、对距离进行排序

[sorted, sortedIndex] = sort(dist); %此时得到sorted 为4×1的矩阵, 而Index下标为4*1

四、第四步我们是对其类别进行思考

采用k个临近点,此处采用k=3

我们用count数组(与标签对应),记录K个相近顶点中相应标签的个数

k = 3;

count = zeros(1, length(unique(trainClass)));

for i = 1:k

count(trainClass(sortedIndex(i))) = count(trainClass(sortedIndex(i))) + 1;

end

五、找出count数组中的最大值,也就是其分类结果

[Max, result] = max(count);

Max为最大值,result为最大值在count的下标,(恰好代表标签)。

matlab knn,MATLAB的KNN实现相关推荐

  1. MNIST手写数字体分类--KNN matlab实现

    关于数据集神马的,请直接参考:http://blog.csdn.net/wangyuquanliuli/article/details/11606435 这里直接给出KNN matlab的实现 tra ...

  2. c++引用matlab类,matlab调用C++函数浅谈(一)

    由于在下才疏学浅,在网上看各高手指南时亦觉云里雾里,遂决定一切说明从最基础说起,一是方便自己(记性奇差),二是方便似我的小白.以下部分是我从各网站论坛等摘抄.重组.改写过的,以求更加详实明朗,由于参考 ...

  3. 磁盘驱动读取系统MATLAB仿真,matlab读写..doc

    matlab读写. MATLAB二进制数据文件的读写 (2011-06-04 19:44:27) 转载▼ 标签: easleyhux matlab 二进制读写 杂谈分类: MATLAB 所谓二进制格式 ...

  4. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)一阶保持(FOH)内插

    上篇博文采用了零阶保持(ZOH)的方式进行了重构:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH) 这篇博文我们使用一阶保持(FOH)内插来重建信号,采用的案例依然是 ...

  5. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)

    上篇博文采样sinc函数内插的方式实现了模拟信号的重建:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(一) 这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案 ...

  6. 【数据挖掘】K-NN 分类 ( 简介 | 分类概念 | K-NN 分类实例 | K-NN 分类准确度评估 | K-NN 分类结果评价指标 | 准确率 | 召回率 )

    文章目录 I . K-NN 简介 II . K-NN 分类 III . K-NN 分类实例 IV . K-NN 分类 准确性评估方法 V . 保持法 VI . kkk-交叉确认法 VII . K-NN ...

  7. Matlab:Matlab中常用的函数、案例详细攻略

    Matlab:Matlab中常用的函数.案例详细攻略 目录 常用函数 1.与文件相关 2.MATLAB GUI不同控件函数间变量传递方法 常用函数 Matlab中的bwmorph函数解释 bwmorp ...

  8. vb调用matlab工具箱,Matlab与VB集成 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博等....

    工业生产中经常遇到复杂的数据信息处理问题,需要大运算量的矩阵计算及对分析结果进行实时.直观的图形化显示.Matlab是集数值分析.矩阵运算.信号处理和图形显示于一体的高性能数学软件,将其强大的计算功能 ...

  9. ccs matlab联调,MATLAB与CCS联调中idelink_ert_tlc和ert_tlc选择

    同问.希望高工给解释一下.我在用idelink_ert_tlc的时候就能通过2014B给DSP直接下载程序.但是用ert_tlc就不行,提示文件路径不对.问题描述如下,请高工帮忙解决一下,谢谢! ## ...

  10. python分类器knn、svm_[转载]MatLab分类器大全(svm,knn,随机森林等)

    train_data是训练特征数据, train_label是分类标签. Predict_label是预测的标签. MatLab训练数据, 得到语义标签向量 Scores(概率输出). 1.逻辑回归( ...

最新文章

  1. 一起谈.NET技术,微软PDC10:大牛谈ASP.NET和C#技术走向
  2. mysql查询时给字段加内容,mysql数据库查询之对应库对应表中的注释信息查询以及加字段查询...
  3. nginx文件服务器修改根目录,nginx修改配置文件更改网站根目录无效?
  4. matlab偶极矩电场强度分布图_1.2.10 电介质在外电场下的极化、电极化强度、电极化率...
  5. java ajax级联_jQuery ajax级联二级菜单(转)
  6. Eclipse配置svn
  7. (转)OL2中设置鼠标的样式
  8. VMware日志收集方法总结
  9. it有啥好咨询的_蓝盟浅析,IT外包的四种常用方式
  10. php curl 相关链接 收藏
  11. 黑马python24期课件和代码_黑马Python 24期全套教程
  12. Linux之用户和组账户管理命令
  13. VS code(Visual Studio Code)乱码解决方法
  14. Mac mini7.1 2014年末 安装单windows 10系统
  15. 网站301转向代码大全
  16. 计算机二级MS office(word 01)
  17. 牙齿底部粉色原因-ECR(External cervical resorption)
  18. Matlab实现匿名函数计算
  19. Gradle安装部署与基础入门详解
  20. 文章抓取显示盗链 php,web资源盗链与防盗链技术解析

热门文章

  1. XML和SQL的互相操作
  2. 轻松清理Windows电脑垃圾文件,提升优化电脑速度
  3. 从2012到2021,从土木到程序员
  4. RTMP H5 直播流技术解析
  5. 【Python数学建模常用算法代码(二)之BP神经网络】
  6. 转:认知自我,保持真我
  7. 互联网刮来的内容付费风,你会为内容买单吗?
  8. httpie使用教程
  9. 《快速掌握PyQt5》第二十五章 Pyinstaller打包
  10. 程序设计---图书管理系统客户端(优)