matlab knn,MATLAB的KNN实现
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实现相关推荐
- MNIST手写数字体分类--KNN matlab实现
关于数据集神马的,请直接参考:http://blog.csdn.net/wangyuquanliuli/article/details/11606435 这里直接给出KNN matlab的实现 tra ...
- c++引用matlab类,matlab调用C++函数浅谈(一)
由于在下才疏学浅,在网上看各高手指南时亦觉云里雾里,遂决定一切说明从最基础说起,一是方便自己(记性奇差),二是方便似我的小白.以下部分是我从各网站论坛等摘抄.重组.改写过的,以求更加详实明朗,由于参考 ...
- 磁盘驱动读取系统MATLAB仿真,matlab读写..doc
matlab读写. MATLAB二进制数据文件的读写 (2011-06-04 19:44:27) 转载▼ 标签: easleyhux matlab 二进制读写 杂谈分类: MATLAB 所谓二进制格式 ...
- 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)一阶保持(FOH)内插
上篇博文采用了零阶保持(ZOH)的方式进行了重构:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH) 这篇博文我们使用一阶保持(FOH)内插来重建信号,采用的案例依然是 ...
- 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)
上篇博文采样sinc函数内插的方式实现了模拟信号的重建:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(一) 这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案 ...
- 【数据挖掘】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 ...
- Matlab:Matlab中常用的函数、案例详细攻略
Matlab:Matlab中常用的函数.案例详细攻略 目录 常用函数 1.与文件相关 2.MATLAB GUI不同控件函数间变量传递方法 常用函数 Matlab中的bwmorph函数解释 bwmorp ...
- vb调用matlab工具箱,Matlab与VB集成 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博等....
工业生产中经常遇到复杂的数据信息处理问题,需要大运算量的矩阵计算及对分析结果进行实时.直观的图形化显示.Matlab是集数值分析.矩阵运算.信号处理和图形显示于一体的高性能数学软件,将其强大的计算功能 ...
- ccs matlab联调,MATLAB与CCS联调中idelink_ert_tlc和ert_tlc选择
同问.希望高工给解释一下.我在用idelink_ert_tlc的时候就能通过2014B给DSP直接下载程序.但是用ert_tlc就不行,提示文件路径不对.问题描述如下,请高工帮忙解决一下,谢谢! ## ...
- python分类器knn、svm_[转载]MatLab分类器大全(svm,knn,随机森林等)
train_data是训练特征数据, train_label是分类标签. Predict_label是预测的标签. MatLab训练数据, 得到语义标签向量 Scores(概率输出). 1.逻辑回归( ...
最新文章
- 一起谈.NET技术,微软PDC10:大牛谈ASP.NET和C#技术走向
- mysql查询时给字段加内容,mysql数据库查询之对应库对应表中的注释信息查询以及加字段查询...
- nginx文件服务器修改根目录,nginx修改配置文件更改网站根目录无效?
- matlab偶极矩电场强度分布图_1.2.10 电介质在外电场下的极化、电极化强度、电极化率...
- java ajax级联_jQuery ajax级联二级菜单(转)
- Eclipse配置svn
- (转)OL2中设置鼠标的样式
- VMware日志收集方法总结
- it有啥好咨询的_蓝盟浅析,IT外包的四种常用方式
- php curl 相关链接 收藏
- 黑马python24期课件和代码_黑马Python 24期全套教程
- Linux之用户和组账户管理命令
- VS code(Visual Studio Code)乱码解决方法
- Mac mini7.1 2014年末 安装单windows 10系统
- 网站301转向代码大全
- 计算机二级MS office(word 01)
- 牙齿底部粉色原因-ECR(External cervical resorption)
- Matlab实现匿名函数计算
- Gradle安装部署与基础入门详解
- 文章抓取显示盗链 php,web资源盗链与防盗链技术解析