Matlab分类器大全

简介: train_data是训练特征数据, train_label是分类标签。 Predict_label是预测的标签。 MatLab训练数据, 得到语义标签向量 Scores(概率输出)。1.逻辑回归(多项式MultiNomial logistic Regression)Factor = mnrfit(train_data, train_label);Scores =

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/abcjennifer/article/details/17137785

目录
相关文章
|
算法 定位技术
基于MATLAB的GPS卫星绕地运行轨迹动态模拟仿真
基于MATLAB的GPS卫星绕地运行轨迹动态模拟仿真
|
Kubernetes 网络协议 Linux
Softether VPN 打通 Kubernetes 调试网络
通过 Softether VPN 打通 Kubernetes 调试网络,其中包括无拆分隧道限制的版本,可以自定义推送路由
2787 2
|
7月前
|
人工智能 API 开发者
阿里云百炼官网登录入口:首页和后台API管理调用控制台
阿里云百炼官网提供两大入口:一是平台介绍页,详述大模型能力、优势及定价,可免费领取最高5000万Tokens;二是管理控制台,用于获取API-KEY、调用API及查阅文档。开发者可通过对应链接快速开通服务并接入使用。
14720 1
|
监控 NoSQL Java
若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)
若依(RuoYi)是一款基于Spring Boot和Vue.js的开源Java快速开发脚手架,支持OAuth2、JWT鉴权,集成多种安全框架和持久化框架。它提供了系统管理、监控管理、任务调度、代码生成等常用功能模块,适合中小型公司快速搭建Web应用。本文主要介绍若依框架的特点、版本发展、优缺点及项目部署步骤,帮助开发者快速上手并部署若依项目。
22382 3
若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)
|
并行计算 API 异构计算
JAX 中文文档(十六)(2)
JAX 中文文档(十六)
922 1
|
机器学习/深度学习 数据采集 人工智能
虚拟偶像诞生记 - 数字人行业和技术探究
为你讲述当前业界的现状,包括不同行业中的showcase和优秀的技术/创作平台,引出近几年比较火热的元宇宙概念,包含多个核心技术点,同时畅想数字人在未来的技术增长和业务价值,以及当下我们该如何布局。
13867 5
虚拟偶像诞生记 - 数字人行业和技术探究
|
编解码 移动开发 小程序
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
本文将通过介绍实时视频直播技术体系,包括常用的推拉流架构、传输协议等,让你对现今主流的视频直播技术有一个基本的认知。
1635 1
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
|
IDE 数据可视化 Java
Spring Boot 项目快速创建的 3 种方式
这篇来点轻松的话题,谈谈 Spring Boot 项目快速创建的 3 种方式,这是开发 Spring Boot 项目的第一步。
981 0
Spring Boot 项目快速创建的 3 种方式
|
SQL XML 网络协议
SQL注入从入门到进阶(二)--->进阶篇
看完本章节内容:1. 学会使用SqlMap工具 2. 了解一些Web安全基本知识
667 0
|
前端开发 API
万能Postman搭建模拟Web服务器(Mock Server)
万能Postman搭建模拟Web服务器(Mock Server)
2149 0
万能Postman搭建模拟Web服务器(Mock Server)

热门文章

最新文章