关闭

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

223人阅读 评论(0) 收藏 举报
分类:

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


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);


0
0
查看评论

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

train_data是训练特征数据, train_label是分类标签。Predict_label是预测的标签。MatLab训练数据, 得到语义标签向量 Scores(概率输出)。1.逻辑回归(多项式MultiNomial logistic Regression)Factor = mnrfit(tr...
  • abcjennifer
  • abcjennifer
  • 2013-12-05 10:50
  • 49040

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

train_data是训练特征数据, train_label是分类标签。 Predict_label是预测的标签。 MatLab训练数据, 得到语义标签向量 Scores(概率输出)。 1.逻辑回归(多项式MultiNomial logistic Regression) Factor...
  • factor88
  • factor88
  • 2013-12-22 19:51
  • 538

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

train_data是训练特征数据, train_label是分类标签。 Predict_label是预测的标签。 MatLab训练数据, 得到语义标签向量 Scores(概率输出)。 1.逻辑回归(多项式MultiNomial logistic Regression) Factor = mnr...
  • u012260637
  • u012260637
  • 2013-11-10 12:04
  • 6776

Matlab 分类器大全(svm,knn,随机森林等

train_data是训练特征数据, train_label是分类标签。 Predict_label是预测的标签。 MatLab训练数据, 得到语义标签向量 Scores(概率输出)。 1.逻辑回归(多项式MultiNomial logistic Regression) Factor...
  • liwei1205
  • liwei1205
  • 2017-11-20 21:06
  • 127

【机器学习】SVM分类器

(最近在看机器学习,好多东西看着看着就忘记了,写下来应该会好一点,也便于整理思路。不对之处还望批评指正,共同学习) 支持向量机(support vector machine,SVM)最初是为二类的分类问题设计的,后来出现了多类问题,人们就想,能不能用SVM解决呢?然后就有了好多办法。 Vapnik在...
  • zp919191
  • zp919191
  • 2016-06-08 21:43
  • 496

决策树decision tree+SVM+knn+随机森林+高斯贝叶斯

决策树decision tree+SVM+knn+随机森林+高斯贝叶斯 Decision Tree 决策树是无参数的监督学习算法,可用于分类和回归,它的目标是通过学习从数据特征推断得到的决策规则,构建一个可以预测目标变量的决策模型。 举个例子,下图来看,这个决策树,结合一些决策...
  • accumulate_zhang
  • accumulate_zhang
  • 2017-08-24 21:18
  • 502

SVM分类器和softmax分类器原理区别对比(2)---深度学习

出处:http://blog.csdn.net/han_xiaoyang/article/details/49999583 声明:版权所有,转载请注明出处,谢谢。1. 线性分类器在深度学习与计算机视觉系列(2)我们提到了图像识别的问题,同时提出了一种简单的解决方法——KNN。然后我们也看到了KNN在...
  • u014038273
  • u014038273
  • 2017-09-10 11:41
  • 240

Svm -KNN分器在网页分类中的应用

Intenet网上海量信息使得网页分类成为一个日益重要的研究领域。网页分类通过自动为文本标注类别,可以有效地帮助人们组织管理文本信息,已经逐渐成为数据挖掘领域中一个重要的研究方向并且具有很高的商业价值。目前,文本分类已经被应用到许多领域中,包括:抽取符号知识,分发电子邮件,生成用户兴趣模式和邮件内容...
  • boom_j
  • boom_j
  • 2016-12-20 09:55
  • 519

MatLab分类器大全(svm,knn,…

matlab分类器参考原文地址:MatLab分类器大全(svm,knn,随机森林等)作者:吴学文 train_data是训练特征数据, train_label是分类标签。 Predict_label是预测的标签。 MatLab训练数据, 得到语义标签向量 Scores(概率输出)。 ...
  • qq_21208843
  • qq_21208843
  • 2017-04-14 16:46
  • 207

30分钟学会用scikit-learn的基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)

真注:本教程是本人尝试使用scikit-learn的一些经验,scikit-learn帧的超级容易上手,简单实用。30分钟学会用调用基本的回归方法和集成方法应该是够了。 本文主要参考了scikit-learn的官方网站 前言:本教程主要使用了numpy的最最基本的功能,用于生成数据,matplo...
  • u010900574
  • u010900574
  • 2016-09-26 03:16
  • 9473
    个人资料
    • 访问:239376次
    • 积分:4422
    • 等级:
    • 排名:第8040名
    • 原创:209篇
    • 转载:25篇
    • 译文:0篇
    • 评论:16条
    代码库
    博客专栏
    最新评论