Matlab自带常用的分类器,直接复制用就好了,很方面。
很方面的,懒得自己写了。
- clc
- clear all
- load('wdtFeature');
- % 训练样本:train_data % 矩阵,每行一个样本,每列一个特征
- % 训练样本标签:train_label % 列向量
- % 测试样本:test_data
- % 测试样本标签:test_label
- train_data = traindata'
- train_label = trainlabel'
- test_data = testdata'
- test_label = testlabel'
- % K近邻分类器 (KNN)
- % mdl = ClassificationKNN.fit(train_data,train_label,'NumNeighbors',1);
- % predict_label = predict(mdl, test_data);
- % accuracy = length(find(predict_label == test_label))/length(test_label)*100
- %
- % 94%
- % 随机森林分类器(Random Forest)
- % nTree = 5
- % B = TreeBagger(nTree,train_data,train_label);
- % predict_label = predict(B,test_data);
- %
- % m=0;
- % n=0;
- % for i=1:50
- % if predict_label{i,1}>0
- % m=m+1;
- % end
- % if predict_label{i+50,1}<0
- % n=n+1;
- % end
- % end
- %
- % s=m+n
- % r=s/100
- % result 50%
- % **********************************************************************
- % 朴素贝叶斯 (Na?ve Bayes)
- % nb = NaiveBayes.fit(train_data, train_label);
- % predict_label = predict(nb, test_data);
- % accuracy = length(find(predict_label == test_label))/length(test_label)*100;
- %
- %
- % % 结果 81%
- % % **********************************************************************
- % % 集成学习方法(Ensembles for Boosting, Bagging, or Random Subspace)
- % ens = fitensemble(train_data,train_label,'AdaBoostM1' ,100,'tree','type','classification');
- % predict_label = predict(ens, test_data);
- %
- % m=0;
- % n=0;
- % for i=1:50
- % if predict_label(i,1)>0
- % m=m+1;
- % end
- % if predict_label(i+50,1)<0
- % n=n+1;
- % end
- % end
- %
- % s=m+n
- % r=s/100
- % 结果 97%
- % **********************************************************************
- % 鉴别分析分类器(discriminant analysis classifier)
- % obj = ClassificationDiscriminant.fit(train_data, train_label);
- % predict_label = predict(obj, test_data);
- %
- % m=0;
- % n=0;
- % for i=1:50
- % if predict_label(i,1)>0
- % m=m+1;
- % end
- % if predict_label(i+50,1)<0
- % n=n+1;
- % end
- % end
- %
- % s=m+n
- % r=s/100
- % result 86%
- % **********************************************************************
- % 支持向量机(Support Vector Machine, SVM)
- SVMStruct = svmtrain(train_data, train_label);
- predict_label = svmclassify(SVMStruct, test_data)
- m=0;
- n=0;
- for i=1:50
- if predict_label(i,1)>0
- m=m+1;
- end
- if predict_label(i+50,1)<0
- n=n+1;
- end
- end
- s=m+n
- r=s/100
- % result 86%
原文链接:http://blog.csdn.net/u014114990/article/details/51067059
Matlab自带常用的分类器,直接复制用就好了,很方面。的更多相关文章
- matlab进阶:常用功能的实现,常用函数的说明
常用功能的实现 获取当前脚本所在目录 current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/' 常用函数的说明 bsxfun m ...
- 使用matlab自带工具实现rcnn
平台:matlab2016b matlab自带一个cifar10Net工具可用于深度学习. 图片标注 这里使用的是matlab自带的工具trainingImageLabeler对图像进行roi的标注. ...
- matlab自带princomp(PCA降维方式)
matlab 中自带的函数就不必怀疑. princomp:principal componet analysis (PCA). [COEFF,SCORE,latent,tsquare]=princom ...
- 如何利用OpenCV自带的级联分类器训练程序训练分类器
介绍 使用级联分类器工作包括两个阶段:训练和检测. 检测部分在OpenCVobjdetect 模块的文档中有介绍,在那个文档中给出了一些级联分类器的基本介绍.当前的指南描述了如何训练分类器:准备训练数 ...
- Lua基本语法-书写规范以及自带常用函数
Lua基本语法-书写规范和常用函数 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 String Ope ...
- matlab GUI之常用对话框(四)-- 输入对话框 inputdlg、目录对话框 uigetdir、列表对话框 listdlg
常用对话框(四) 1.输入对话框 inputdlg answer = inputdlg(prompt) answer = inputdlg(prompt,dlg_title) answer = in ...
- matlab GUI之常用对话框(三)-- dialog \ errordlg \ warndlg \ helpdlg \ msgbox \questdlg
常用的对话框(三) 1.普通对话框 dialog 调用格式: h=dialog('PropertyName','PropertyValue'......) %普通对话框 h=dialog( ]); ...
- matlab GUI之常用对话框(二)-- 进度条的使用方法
常用对话框(二) 进度条 waitbar 调用格式: h = waitbar(x,'message') waitbar(x,'message','CreateCancelBtn','button ...
- matlab GUI之常用对话框(一)-- uigetfile\ uiputfile \ uisetcolor \ uisetfont
常用对话框(一) 1.uigetfile 文件打开对话框 调用格式: [FileName,PathName,FilterIndex]=uigetfile or [FileName, ...
随机推荐
- 使用(Drawable)资源——图片资源
图片资源是最简单的Drawable资源,只要把*.png.*.jpg.*.gif等格式的图片放入/res/drawble-xxx目录下,Android SDK就会在编译应用中自动加载该图片,并在R资源 ...
- Bootstrap入门(二十)组件14:警告框
Bootstrap入门(二十)组件14:警告框 警告框组件通过提供一些灵活的预定义消息,为常见的用户动作提供反馈消息,提示.通知或者警示,可以迅速吸引注意力. 1.情景警告框 2.可关闭的警告框 3. ...
- Bootstrap入门(十五)组件9:面板组件
Bootstrap入门(十五)组件9:面板组件 虽然不总是必须,但是某些时候你可能需要将某些 DOM 内容放到一个盒子里.对于这种情况,可以试试面板组件. 1.基本实例 2.带标题的面板 3.情景效果 ...
- 一篇完整的FlexBox布局指南
一篇完整的FlexBox布局指南 转载请标注本文链接并附带以下信息: 译:Cydiacen 作者:CHRIS COYIER 原文:A Complete Guide to Flexbox 原文更新于 2 ...
- kafka 以windows服务的方式在windows下安装并自启动
准备工作: 下载kafka http://apache.fayea.com/kafka/0.10.0.0/kafka_2.10-0.10.0.0.tgz 解压kafka至D:\bigdata\kafk ...
- Android笔记:Fragment与ViewPager组合时,如何在FragmentActicity获取Fragment对象
项目中有一处需要监听宿主的控件,再去更新Fragment页面,由此必须去获取Fragment里的对象; 在FragmentActivity + Fragment组合里是可以使用以下方案: MedicF ...
- arm交叉编译器科普
交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如ARM,MIPS vendor - 工具链提供商 os - 目标操作系统 ea ...
- 《JAVASCRIPT高级程序设计》第二章
把javascript应用在网页中,需要涉及web的核心语言-html:如何让javascript既能与html共存,又不影响页面的显示效果,经过长时间的讨论.试错,最终的决定是为web增加统一的脚本 ...
- EntityFramework Core并发导致显示插入主键问题
前言 之前讨论过EntityFramework Core中并发问题,按照官网所给并发冲突解决方案以为没有什么问题,但是在做单元测试时发现too young,too siimple,下面我们一起来看看. ...
- CSS3知识点整理(四)----布局样式及其他
包括CSS3多列布局样式.Flexbox伸缩布局.盒子模型等.重点介绍了Flexbox伸缩布局的各种属性用法. 一.多列布局 为了能在Web页面中方便实现类似报纸.杂志那种多列排版的布局,W3C特意给 ...