MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)

转载 2013年12月05日 10:50:30
train_data是训练特征数据, train_label是分类标签。
Predict_label是预测的标签。
MatLab训练数据, 得到语义标签向量 Scores(概率输出)。


1.逻辑回归(多项式MultiNomial logistic Regression)
Factor = mnrfit(train_data, train_label);
Scores = mnrval(Factor, test_data);
scores是语义向量(概率输出)。对高维特征,吃不消。


2.随机森林分类器(Random Forest)
Factor = TreeBagger(nTree, train_data, train_label);
[Predict_label,Scores] = predict(Factor, test_data);
scores是语义向量(概率输出)。实验中nTree = 500。
效果好,但是有点慢。2500行数据,耗时400秒。500万行大数据分析,会咋样?准备好一篇小说慢慢阅读吧^_^


3.朴素贝叶斯分类(Naive Bayes)
Factor = NaiveBayes.fit(train_data, train_label);
Scores = posterior(Factor, test_data);
[Scores,Predict_label] = posterior(Factor, test_data);
Predict_label = predict(Factor, test_data);
accuracy = length(find(predict_label == test_label))/length(test_label)*100;
效果不佳。


4. 支持向量机SVM分类
Factor = svmtrain(train_data, train_label);
predict_label = svmclassify(Factor, test_data);
不能有语义向量 Scores(概率输出)


支持向量机SVM(Libsvm)
Factor = svmtrain(train_label, train_data, '-b 1');
[predicted_label, accuracy, Scores] = svmpredict(test_label, test_data, Factor, '-b 1');


5.K近邻分类器 (KNN)
predict_label = knnclassify(test_data, train_data,train_label, num_neighbors);
accuracy = length(find(predict_label == test_label))/length(test_label)*100;
不能有语义向量 Scores(概率输出)


IDX = knnsearch(train_data, test_data);
IDX = knnsearch(train_data, test_data, 'K', num_neighbors);
[IDX, Dist] = knnsearch(train_data, test_data, 'K', num_neighbors);
IDX是近邻样本的下标集合,Dist是距离集合。
自己编写, 实现概率输出 Scores(概率输出)


Matlab 2012新版本:
Factor = ClassificationKNN.fit(train_data, train_label, 'NumNeighbors', num_neighbors);
predict_label = predict(Factor, test_data);
[predict_label, Scores] = predict(Factor, test_data);


6.集成学习器(Ensembles for Boosting, Bagging, or Random Subspace)
Matlab 2012新版本:
Factor = fitensemble(train_data, train_label, 'AdaBoostM2', 100, 'tree');
Factor = fitensemble(train_data, train_label, 'AdaBoostM2', 100, 'tree', 'type', 'classification');
Factor = fitensemble(train_data, train_label, 'Subspace', 50, 'KNN');
predict_label = predict(Factor, test_data);
[predict_label, Scores] = predict(Factor, test_data);
效果比预期差了很多。不佳。


7. 判别分析分类器(discriminant analysis classifier)
Factor = ClassificationDiscriminant.fit(train_data, train_label);
Factor = ClassificationDiscriminant.fit(train_data, train_label, 'discrimType', '判别类型:伪线性...');
predict_label = predict(Factor, test_data);

[predict_label, Scores] = predict(Factor, test_data);


转载自:http://blog.csdn.net/xuhaijiao99/article/details/15027093

相关文章推荐

随机森林调用matlab代码做回归

function Randomfre(set,numtrees ) %利用随机森林进行训练跟预测 % by YangL s=['rf/train_',num2str(set),'.rf']; t...
  • balllee
  • balllee
  • 2014年02月24日 22:41
  • 4961

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Matlab随机森林库

什么是随机森林? Random forest is a classification technique that proposed by Leo Brieman (2001), given...
  • alaclp
  • alaclp
  • 2012年04月21日 17:13
  • 4943

matlab自带各种分类器的使用示例

目前了解到的MATLAB中分类器有:K近邻分类器,随机森林分类器,朴素贝叶斯,集成学习方法,鉴别分析分类器,支持向量机。现将其主要函数使用方法总结如下,更多细节需参考MATLAB 帮助文件。 设 ...

Matlab-SVM分类器

支持向量机(Support Vector Machine,SVM),可以完成对数据的分类,包括线性可分情况和线性不可分情况。 1、线性可分 首先,对于SVM来说,它用于二分类问题,也就是通...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

机器学习的各种分类器,MATLAB实现代码

train_data是训练特征数据, train_label是分类标签。 Predict_label是预测的标签。 MatLab训练数据, 得到语义标签向量 Scores(概率输出)。 ...
  • xs1997
  • xs1997
  • 2017年03月29日 14:51
  • 1021

最近邻分类器及MATLAB实现

应用背景:在前面一些图像处理相关的文章中,已经说到图像的特征提取,在选择好一些主要特征之后,那么我们用这些特征做什么用呢,我们的主要目的是利用这些特征对图像进行分类。接下来的问题是怎么分类,这里介绍最...

Matlab自带的分类学习工具箱(SVM、决策树、Knn等分类器)

在matlab中,既有各种分类器的训练函数,比如“fitcsvm”,也有图形界面的分类学习工具箱,里面包含SVM、决策树、Knn等各类分类器,使用非常方便。接下来讲讲如何使用。启动:点击“应用程序”,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)
举报原因:
原因补充:

(最多只允许输入30个字)