目前了解到的
MATLAB
中分類器有:
K
近鄰分類器,隨機森林分類器,朴素貝葉斯,集成學習方法,鑒別分析分類器,支持向量機。現將其主要函數使用方法總結如下,更多細節需參考
MATLAB
幫助文件。
設
訓練樣本: train_data % 矩陣,每行一個樣本,每列一個特征
訓練樣本標簽: train_label % 列向量
測試樣本: test_data
測試樣本標簽: test_label
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
隨機森林分類器( Random Forest )
B = TreeBagger(nTree,train_data,train_label);
predict_label = predict(B,test_data);
朴素貝葉斯 ( Na?ve 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;
集成學習方法( Ensembles for Boosting, Bagging, or Random Subspace )
ens = fitensemble(train_data,train_label,'AdaBoostM1' ,100,'tree','type','classification');
predict_label = predict(ens, test_data);
鑒別分析分類器( discriminant analysis classifier )
obj = ClassificationDiscriminant.fit(train_data, train_label);
predict_label = predict(obj, test_data);
支持向量機( Support Vector Machine, SVM )
SVMStruct = svmtrain(train_data, train_label);
predict_label = svmclassify(SVMStruct, test_data)
設
訓練樣本: train_data % 矩陣,每行一個樣本,每列一個特征
訓練樣本標簽: train_label % 列向量
測試樣本: test_data
測試樣本標簽: test_label
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
隨機森林分類器( Random Forest )
B = TreeBagger(nTree,train_data,train_label);
predict_label = predict(B,test_data);
朴素貝葉斯 ( Na?ve 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;
集成學習方法( Ensembles for Boosting, Bagging, or Random Subspace )
ens = fitensemble(train_data,train_label,'AdaBoostM1' ,100,'tree','type','classification');
predict_label = predict(ens, test_data);
鑒別分析分類器( discriminant analysis classifier )
obj = ClassificationDiscriminant.fit(train_data, train_label);
predict_label = predict(obj, test_data);
支持向量機( Support Vector Machine, SVM )
SVMStruct = svmtrain(train_data, train_label);
predict_label = svmclassify(SVMStruct, test_data)