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
  • 5923

random forest 随机森林(高亮!用于分类) matlab实现

最近要用到随机森林,于是乎对它的原理了解了一番,并做了一下算法的实现。本次实现是用于分类问题的,如果是回归问题,分裂规则不一样,我还没有实现..... 下面的原理摘自别人的笔记,如果了解决策树CART...
  • sgfmby1994
  • sgfmby1994
  • 2017年09月06日 11:02
  • 2634

随机森林matlab代码

  • 2013年07月02日 17:27
  • 211KB
  • 下载

可直接运行的随机森林的matlab代码

  • 2013年06月13日 16:30
  • 510KB
  • 下载

Matlab随机森林库

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

matlab实现的随机森林算法

  • 2017年10月31日 09:11
  • 572KB
  • 下载

随机森林Matlab

  • 2017年01月24日 20:56
  • 266KB
  • 下载

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

在matlab中,既有各种分类器的训练函数,比如“fitcsvm”,也有图形界面的分类学习工具箱,里面包含SVM、决策树、Knn等各类分类器,使用非常方便。接下来讲讲如何使用。启动:点击“应用程序”,...
  • qq_27914913
  • qq_27914913
  • 2017年05月08日 22:40
  • 7818

机器学习中的kNN算法及Matlab实例

原文转自:http://blog.csdn.net/baimafujinji/article/details/6496222 一、 引言 K最近邻(k-Nearest  Neighbo...
  • liuhuicsu
  • liuhuicsu
  • 2017年04月25日 17:00
  • 3102

Matlab-SVM分类器

支持向量机(Support Vector Machine,SVM),可以完成对数据的分类,包括线性可分情况和线性不可分情况。 1、线性可分 首先,对于SVM来说,它用于二分类问题,也就是通...
  • lwwangfang
  • lwwangfang
  • 2016年08月29日 11:47
  • 18235
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)
举报原因:
原因补充:

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