目前了解到的
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 = *****bayes.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)
MATLAB中的分類器
目前了解到的 matlab 中分類器有 k近鄰分類器,隨機森林分類器,樸素貝葉斯,整合學習方法,鑑別分析分類器,支援向量機。現將其主要函式使用方法總結如下,更多細節需參考 matlab 幫助檔案。設訓練樣本 train data 矩陣,每行乙個樣本,每列乙個特徵 訓練樣本標籤 train label...
貝葉斯分類器的MATLAB實現
貝葉斯分類器是一種簡單的模式分類器,它是以特徵值的統計概率為基礎的,簡單的講,例如已知兩個類w1和w2,乙個未知樣本x,這裡說的未知,就是不知道它屬於w1類還是屬於w2類,然後根據統計方法分別計算得到x屬於w1類的概率,即p w1 x 和屬於w2類的概率,即p w2 x 如果p w1 x p w2 ...
matlab 實現貝葉斯分類器
網上有很多文章介紹貝葉斯原理,這裡推薦個鏈結。這裡再說貝葉斯分類器的設計步驟 1.對每個簇的資料求均值mu 和協方差矩陣sigma 2.對測試資料,將其對每個簇用均值和協方差矩陣求相關性。3.將資料分類到相關性大的簇中。分類器函式 bayesclassifer.m function labels b...