话说matlab的模式识别工具箱非常强大,对于一般应用来说基本不用自己编程,这就给科研带来了极大的便利。

之后估计会利用这个工具箱里的许多分类方法,比如KNN、BP、SVM等等;

现在就利用knn来进行分类。

For the object

of samplify, I only choose 3 classes while 2 samples for each class

,there are 18 features in every sample

.

准备条件:已经把特征数据和样本标号保存为文件。

测试代码为:

1.

train_data=load('sample_feature.txt');

2.

train_label=load('train_label.txt');

3.

test_data=load('features.txt');

4.

k=knnclassify(test_data,train_data,train_label,3,'cosine','random');

train_data保存的是训练样本特征,要求是最能代表本类别的,不一定多,当然不能太少;

train_label保存的是样本标号,如0,1,2等等,随便设置,只有能区分就行,具体格式可以为:

1.

1 1 2 2 3 3

test_data测试文件保存的是测试数据的特征;

关键函数介绍:

knnclassify是利用最近邻进行分类的分类器;

函数调用形式:

1.CLASS =

KNNCLASSIFY(SAMPLE,TRAINING,GROUP)

标号和训练数据必须有相同的行数;训练数据和测试数据必须有相同的列;函数对于无效值或者空值会作为丢失值或者忽略这一行。

2.CLASS =

KNNCLASSIFY(SAMPLE,TRAINING,GROUP,K)

此函数允许你设置距离矩阵形式,如:

'euclidean'欧氏距离,默认的

'cityblock'绝对差的和

'cosine'角度距离

'correlation'相关距离

'Hamming'汉明距离

3.CLASS

=KNNCLASSIFY(SAMPLE,TRAINING,GROUP,K,DISTANCE,RULE)

本函数允许你选择如何对样本进行分类,如你可以选择:

'nearest'最近的K个的最多数

'random'随机的最多数

'consensus'投票法,默认的

而我选择的函数形式是:

k=knnclassify(test_data,train_data,train_label,3,'cosine','random');

大家可以对照看看选择合适的,多试试。

嗯,很简单,就这样就可以得到最后的分类类别了。

对了,还要把最后的分类类别进行保存,之前的一篇已经提到如何保存了,最终代码:

1.

train_data=load('sample_feature.txt');

2.

train_label=load('train_label.txt');

3.

test_data=load('features.txt');

4.

k=knnclassify(test_data,train_data,train_label,3,'cosine','random');

5.

dlmwrite('a.txt',b,'delimiter',' ','newline','pc');

matlab knn,matlab自带knn函数相关推荐

  1. matlab踩坑 自带surf 函数找不了 surf 作为函数执行

    最近在用matlab学习surf函数.运行代码老是报下面的错误. 报错信息 不支持将脚本 surf 作为函数执行: C:\Users\itkey\Documents\MATLAB\surf.mlx 原 ...

  2. MATLAB自带PCA函数的参数含义及使用方法

    目录 1.PCA函数的输入与输出参数 2.PCA函数的使用方法 参考文献: 1.PCA函数的输入与输出参数 function [coeff, score, latent, tsquared, expl ...

  3. matlab计算绝对值的导数,如何用matlab求带绝对值函数的导数? 你值得一看的技巧...

    用matlab求函数的导数:如果一个函数表达式中有绝对值,那对该函数求导就需要注意啦!该函数可能在他的零点处导数不存在,所以我们不能用传统的方法求导,应该在零点处分别求左导数和右导数,如果左导数和右导 ...

  4. matlab自带滤波器函数小结(图像处理)

    matlab自带滤波器函数小结(图像处理)   1 线性平滑滤波器 用MATLAB实现领域平均法抑制噪声程序: I=imread(' c4.jpg '); subplot(231) imshow(I) ...

  5. matlab自带滤波器函数

    matlab自带滤波器函数小结(图像处理) 注:原文链接:http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=215671 1 .线性 ...

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

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

  7. matlab自带函数缺少,matlab函数库缺失 我的matlab的自带的函数库貌似都没有了

    matlab函数库缺失 我的matlab的自带的函数库貌似都没有了 mip版  关注:119  答案:4  悬赏:0 解决时间 2021-01-28 19:42 已解决 2021-01-28 03:1 ...

  8. matlab 多 带阻,matlab程序之——滤波器(带通-带阻

    <matlab程序之--滤波器(带通-带阻>由会员分享,可在线阅读,更多相关<matlab程序之--滤波器(带通-带阻(8页珍藏版)>请在人人文库网上搜索. 1.matlab程 ...

  9. 在Matlab中构建最大带权生成树

    题目:在Matlab中构建最大带权生成树 学过数据结构的都知道"最小生成树" (Minimum Spanning Tree),可以使用Prim和Kruskal算法找到完全图的最小生 ...

  10. matlab ploty,matlab绘制函数 如何利用matlab的ploty

    最近有网友提出"matlab绘制函数 如何利用matlab的ploty"等问题,小小知识站提取了各大知名网站有关"matlab绘制函数 如何利用matlab的ploty& ...

最新文章

  1. antd 侧边栏如何自适应高度
  2. 解决mysql获取不到连接的问题
  3. Sources for NFC/RFID inspection ( Soft Materials )
  4. Python基本类型-列表
  5. linux获取互联网时间,linux中用shell获取时间,日期
  6. Linux常用的基本命令vi、ps、kill(四)
  7. when will ifm open?
  8. 深度学习笔记 第四门课 卷积神经网络 第三周 目标检测
  9. Springcloud实战(五)微服务网关gateway整合nacos实战
  10. python中label组件参数_【Python64-tkinter_label组件】
  11. clover懒人_懒人气球驱动的互联网毕竟可能不是一个愚蠢的想法
  12. gitee上传大小超过100M文件
  13. Java枚举是什么?关于Java枚举的一些理解
  14. 国际标准刊号,国内统一刊号,刊号的标准格式 分类
  15. 【转】HTML5斯诺克桌球俱乐部【译】
  16. Web端访问微信小程序云数据库
  17. 51单片机汇编学习笔记4——子函数
  18. python ipaddress模块使用
  19. NES —— Go 语言开发的任天堂游戏模拟器
  20. CDN是什么?为什么要使用CDN?

热门文章

  1. 洛谷——P2006 赵神牛的游戏
  2. 想为自己设置的软件加一个属于自己的图标吗?使用AWT_Swing_图标解决你的问题(源码解析)
  3. 方法Method(Java)
  4. python循环三次跳出循环_Python3 跳出多重循环 for...else...
  5. perf script 执行时间_在Python中准确地测量代码执行时间
  6. Numpy,Pandas,Matplotlib
  7. git常用命令(史上最经典)
  8. Saltstack远程执行命令(3)
  9. 关于视频监控线缆的常识
  10. 【广度优先搜索】一个实例+两张动图彻底理解 BFS | 思路+代码详解 | 用 DFS 自动控制我们的小游戏