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

python分类器knn、svm_[转载]MatLab分类器大全(svm,knn,随机森林等)相关推荐

  1. paper 130:MatLab分类器大全(svm,knn,随机森林等)

    train_data是训练特征数据, train_label是分类标签. Predict_label是预测的标签. MatLab训练数据, 得到语义标签向量 Scores(概率输出). 1.逻辑回归( ...

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

    train_data是训练特征数据, train_label是分类标签. Predict_label是预测的标签. MatLab训练数据, 得到语义标签向量 Scores(概率输出). 1.逻辑回归( ...

  3. (转载)机器学习知识点(十七)Bagging与随机森林算法原理小结

    集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合.本文就对集成学习中Bagging ...

  4. 02-分类算法:knn、朴素贝叶斯、决策树和随机森林

    目录 sklearn数据集 一.数据集划分 二. 数据集获取 三.sklearn机器学习算法的实现-估计器 分类算法-k近邻算法(KNN) 一.定义: 二.公式: 三.语法: 四.模型调优方法: 1. ...

  5. Python数据分析与机器学习实战<八>决策树、随机森林

    目录 决策树原理概述 树模型 决策树 树的组成 决策树的训练和测试 选择节点(即如何进行特征划分?) 衡量标准---熵 公式: Pi为取到某个类别的概率​ 熵的图像 如何决策一个节点的选择? 决策树构 ...

  6. python随机森林筛选变量_用随机森林分类器和GBDT进行特征筛选

    一.决策树(类型.节点特征选择的算法原理.优缺点.随机森林算法产生的背景) 1.分类树和回归树 由目标变量是离散的还是连续的来决定的:目标变量是离散的,选择分类树:反之(目标变量是连续的,但自变量可以 ...

  7. 随机森林分类器_建立您的第一个随机森林分类器

    随机森林分类器 In this post, I will guide you through building a simple classifier using Random Forest from ...

  8. Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付

    全文链接:http://tecdat.cn/?p=26184 在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化?( ...

  9. 用随机森林分类器和GBDT进行特征筛选

    一.决策树(类型.节点特征选择的算法原理.优缺点.随机森林算法产生的背景) 1.分类树和回归树 由目标变量是离散的还是连续的来决定的:目标变量是离散的,选择分类树:反之(目标变量是连续的,但自变量可以 ...

最新文章

  1. 那些为“自主”的研发“
  2. php根据数组某一字段排序,php如何根据数组中某一字段来实现排序
  3. leetcode 153. Find Minimum in Rotated Sorted Array | 153. 寻找旋转排序数组中的最小值(二分查找)
  4. 解读NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
  5. 一次java线程死锁的定位
  6. 开源应自由!Apache、OpenStack 基金会权威回应美国出口管制
  7. Ubuntu10下SSH2协议安装
  8. chrome 中的console 下无法使用jquery选择器
  9. TrainingModel(3)
  10. 442.数组中重复的数据
  11. java网店系统_java网店系统JSPGOU
  12. sendip linux发包工具
  13. 黑群晖二合一已损毁_手动修复黑群晖已损毁磁盘空间
  14. matlab进化树的下载,Dendroscope(进化树显示分析软件)
  15. LBS计算两坐标的距离
  16. 微信如何屏蔽别人发来的消息,如何屏蔽微信消息
  17. 在电脑上怎么做报表新手_自己怎样在电脑上制作表格
  18. s5pv210 linux,S5PV210-零基础体验uboot
  19. 利用python爬虫大量爬取网页图片
  20. web 页面 常用分辨率(PC 移动端)

热门文章

  1. Hadoop之HDFS面试知识复习
  2. 腾讯物联网操作系统正式开源,最小体积仅1.8 KB
  3. 我不是码神!Serverless真的可以为所欲为?
  4. Linux下编译带x264的ffmpeg的方法
  5. C语言文件操作 fopen, fclose, mkdir(打开关闭文件,建文件夹,判断文件是否存在可读或可写)
  6. Ceph 的数据回填和恢复
  7. c/c++操作mysql数据库使用utf8总结
  8. C# 实验三 判断一个字符、判断三角形、千名学生、a+aa+aaa+aaaa、求数列相加、约瑟夫环
  9. 使用Tomcat Native提升Tomcat IO效率
  10. Copy ArrayList的四种方式