matlab中的分类器使用小结(SVM、KNN、RF、AdaBoost、Naive Bayes、DAC)
生活随笔
收集整理的這篇文章主要介紹了
matlab中的分类器使用小结(SVM、KNN、RF、AdaBoost、Naive Bayes、DAC)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.前言
目前了解到的MATLAB分類器有:K近鄰,隨機森林,樸素貝葉斯,集成學習方法,鑒別分析,支持向量機?,F將其主要函數使用方法總結如下,更多細節需參考MATLAB 幫助文件。
設:
- 訓練樣本:train_data ? ? ? ? ? ?% 矩陣,每行一個樣本,每列一個特征
- 訓練樣本標簽:train_label ? ? ? % 列向量
- 測試樣本:test_data
- 測試樣本標簽: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 隨機森林分類器—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 支持向量機分類器—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;總結
以上是生活随笔為你收集整理的matlab中的分类器使用小结(SVM、KNN、RF、AdaBoost、Naive Bayes、DAC)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LBP(局部二值模式)特征提取原理
- 下一篇: 轮廓线重建:二维平行轮廓线重建理论和方法