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, ...
随机推荐
- android 类似QQ底部输入框弹出键盘和面板冲突 布局闪动处理方案(转)
先看下效果 差不多就是解决这种冲突,布局闪动的 作者的githup :https://github.com/Jacksgong/JKeyboardPanelSwitch Android键盘面板冲突 布 ...
- Java线程:线程状态
线程可以创建6状态: New()新创建.Runnable(可运行).Blocked(被阻塞). Waiting(等待).Timed waiting(计时等待).Terminated(被终止)1 新建线 ...
- loadrunner Analysis :SLA(Service Level Agreement服务水平协议)
SLA是为负载场景定义的具体目标,用于与实际负载结果比较,确定系统是否达到性能目标. 1.1.1 设置SLA(以Transaction Response Time(Average)为例) 可以 ...
- Android之com.nostra13.universalimageloader加载图片抛出OutOfMemroyError错误的多种解决办法
com.nostra13.universalimageloader是用来加载图片非常好的框架,但是也有问题,一旦图片过多的话,很容易就会提示OutOfMemroyError错误,也就是内存溢出的问题, ...
- Js获取复选框checkbox的值
var emps= $("input[name='emp']:checked"); var employee= ""; emps.each(function() ...
- iOS动画案例(1)
受人所托,做一个类似于qq账号信息里的一个动画,感觉挺有意思,也没感觉有多难,就开始做了,结果才发现学的数学知识都还给体育老师了,研究了大半天才做出来. 先看一下动画效果: 用到的知识 ...
- DailyTick 开发实录 —— UI 设计
上次的文章中描述了 DailyTick 的设计理念.经过两周左右的设计和开发,现在 DailyTick 的主要 UI 已经完成了原型的设计和初步的实现.既然是原型,当然看起来就有点粗糙. 主 UI 主 ...
- GIT团队开发操作
01. 建立代码仓库(专门用于团队开发的代码仓库) ========================================================================== ...
- ubuntu 更新引导命令
sudo update-grub 运行结果: Generating grub configuration file ...Warning: Setting GRUB_TIMEOUT to a non- ...
- PS切图篇(一)---界面设置
#工作区设置 四大主要面板:信息 字符 图层 历史记录 打开必要属性: 选择工具设置 选择图层的方式:ctrl+鼠标左击想选择的图层