matlab自带各种分类器的使用示例
来源:互联网 发布:国家博物馆淘宝 编辑:程序博客网 时间:2024/06/06 18:15
目前了解到的MATLAB中分类器有:K近邻分类器,随机森林分类器,朴素贝叶斯,集成学习方法,鉴别分析分类器,支持向量机。现将其主要函数使用方法总结如下,更多细节需参考MATLAB 帮助文件。
设
训练样本:train_data % 矩阵,每行一个样本,每列一个特征
训练样本标签:train_label % 列向量
测试样本:test_data
测试样本标签:test_label
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
随机森林分类器(Random Forest)
B = TreeBagger(nTree,train_data,train_label);
predict_label = predict(B,test_data);
朴素贝叶斯 (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;
集成学习方法(Ensembles for Boosting, Bagging, or Random Subspace)
ens = fitensemble(train_data,train_label,'AdaBoostM1' ,100,'tree','type','classification');
predict_label = predict(ens, test_data);
鉴别分析分类器(discriminant analysis classifier)
obj = ClassificationDiscriminant.fit(train_data, train_label);
predict_label = predict(obj, test_data);
支持向量机(Support Vector Machine, SVM)
SVMStruct = svmtrain(train_data, train_label);
设
训练样本:train_data
训练样本标签:train_label
测试样本:test_data
测试样本标签:test_label
K近邻分类器
mdl = ClassificationKNN.fit(train_data,train_label,'NumNeighbors',1);
predict_label
accuracy
随机森林分类器(Random Forest)
B = TreeBagger(nTree,train_data,train_label);
predict_label = predict(B,test_data);
朴素贝叶斯
nb = NaiveBayes.fit(train_data, train_label);
predict_label
accuracy
集成学习方法(Ensembles for Boosting, Bagging, or Random Subspace)
ens = fitensemble(train_data,train_label,'AdaBoostM1' ,100,'tree','type','classification');
predict_label
鉴别分析分类器(discriminant analysis classifier)
obj = ClassificationDiscrimina
predict_label
支持向量机(Support Vector Machine, SVM)
SVMStruct = svmtrain(train_data, train_label);
predict_label
我自己代码如下:
- 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%
0 0
- matlab自带各种分类器的使用示例
- matlab自带各种分类器的使用示例
- matlab自带的分类器的使用实例
- matlab中自带的分类器
- matlab自带的分类器的测试和分类
- Matlab自带的分类学习工具箱(SVM、决策树、Knn等分类器)
- matlab 自带分类器(2012b以上)
- matlab自带的分类器对人脸、鼻子、嘴进行检测
- 一个自带简易数据集的模拟线性分类器matlab代码——实验训练
- matlab自带的滤波器
- MatLab自带的SVM,快速入门使用
- 安装了Libsvm后还想使用Matlab自带的SVM?
- 朴素贝叶斯--matlab自带工具箱的使用
- 使用OpenCV自带的级联分类器进行目标检测
- 目标检测之训练opencv自带的分类器
- 利用OpenCV自带的traincascade程序训练分类器
- mahout自带的例子 -------------------------分类
- (备用)matlab自带的princomp函数
- servlet生命周期
- 设计模式-享元模式
- Activity启动方式
- Swagger简介
- 292.Nim Game
- matlab自带各种分类器的使用示例
- shell脚本统计文件中单词的个数
- MySQL 从外表查询(并截取固定长度)批量插入数据到表中
- window下的redis安装使用
- 海量数据处理
- 延长FLASH和EEPROM芯片写入次数的小方法
- 工具类的封装--Log封装
- 2017-02-28-一个好用的Android比例自动适配的库
- 类加载全过程