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

目录
相关文章
|
6月前
|
算法 数据挖掘 数据处理
【MATLAB】抗差估计算法
【MATLAB】抗差估计算法
57 0
|
6月前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
6月前
|
机器学习/深度学习 算法
基于自适应支持向量机的matlab建模与仿真,不使用matlab的SVM工具箱函数
基于自适应支持向量机的matlab建模与仿真,不使用matlab的SVM工具箱函数
|
6月前
|
算法
【MATLAB】 卡尔曼滤波算法
【MATLAB】 卡尔曼滤波算法
63 0
|
机器学习/深度学习 算法 数据挖掘
|
机器学习/深度学习
【MATLAB第27期】源码分享 | 基于MATLAB的生成对抗网络GAN回归预测模型
【MATLAB第27期】源码分享 | 基于MATLAB的生成对抗网络GAN回归预测模型
|
机器学习/深度学习 算法
单隐层神经网络在Matlab上实现及其简单应用
单隐层神经网络在Matlab上实现及其简单应用
|
机器学习/深度学习 传感器 算法
基于matlab实现AdaBoost数据分类
基于matlab实现AdaBoost数据分类
|
机器学习/深度学习 算法 数据处理
【MATLAB第28期】基于MATLAB的GWO-GMDH时间序列预测模型
【MATLAB第28期】基于MATLAB的GWO-GMDH时间序列预测模型
|
机器学习/深度学习 算法
【MATLAB第46期】基于MATLAB的改进模糊卷积神经网络IFCNN分类预测模型
【MATLAB第46期】基于MATLAB的改进模糊卷积神经网络IFCNN分类预测模型