matlab中的分类器使用小结(SVM、KNN、RF、AdaBoost、Naive Bayes、DAC)
生活随笔
收集整理的這篇文章主要介紹了
matlab中的分类器使用小结(SVM、KNN、RF、AdaBoost、Naive Bayes、DAC)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.前言
目前了解到的MATLAB分類器有:K近鄰,隨機(jī)森林,樸素貝葉斯,集成學(xué)習(xí)方法,鑒別分析,支持向量機(jī)?,F(xiàn)將其主要函數(shù)使用方法總結(jié)如下,更多細(xì)節(jié)需參考MATLAB 幫助文件。
設(shè):
- 訓(xùn)練樣本:train_data ? ? ? ? ? ?% 矩陣,每行一個(gè)樣本,每列一個(gè)特征
- 訓(xùn)練樣本標(biāo)簽:train_label ? ? ? % 列向量
- 測試樣本:test_data
- 測試樣本標(biāo)簽:test_label
2.分類器使用方法
2.1 K近鄰分類器—KNN
mdl = ClassificationKNN.fit(train_data,train_label,'NumNeighbors',1); predict_label= predict(mdl, test_data); accuracy = length(find(predict_label == test_label))/length(test_label)*100;2.2 隨機(jī)森林分類器—RandomF
nTree = 20; B = TreeBagger(nTree,train_data_pca,train_label'); predict_label = predict(B,test_data_pca); predict_label = str2double(predict_label); accuracy = length(find(predict_label == test_label'))/length(test_label)*100;2.3 樸素貝葉斯分類器—Naive Bayes
nb = NaiveBayes.fit(train_data, train_label); predict_label = predict(nb, test_data); accuracy = length(find(predict_label == test_label))/length(test_label)*100;2.4 集成方法分類器—AdaBoost
ens = fitensemble(train_data,train_label,'AdaBoostM1',100,'tree','type','classification'); predict_label = predict(ens, test_data); accuracy = length(find(predict_label == test_label))/length(test_label)*100;2.5 鑒別分析分類器—Discriminant Analysis Classifier
obj = ClassificationDiscriminant.fit(train_data, train_label); predict_label = predict(obj, test_data);2.6 支持向量機(jī)分類器—SVM
option = statset('MaxIter',1000000); svm_struct = svmtrain(train_data_pca,train_label,'options',option); predict = svmclassify(svm_struct,test_data_pca); correct_num = sum((predict-test_label')==0); accuracy = correct_num / 3000;總結(jié)
以上是生活随笔為你收集整理的matlab中的分类器使用小结(SVM、KNN、RF、AdaBoost、Naive Bayes、DAC)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LBP(局部二值模式)特征提取原理
- 下一篇: matlab神经网络1:功能特色