Как подать мажоритарное голосование для ансамбля классификации в Matlab? - PullRequest
0 голосов
/ 04 мая 2019

У меня есть пять классификаторов SVM, случайный лес, наивный Байес, дерево решений, KNN, я прикрепил свой код Matlab.Я хочу объединить результаты этих пяти классификаторов в наборе данных, используя метод голосования большинством, и я хочу считать, что все эти классификаторы имеют одинаковый вес.потому что число тестов рассчитывается 5, поэтому выход каждого классификатора составляет 5 меток (метки классов в этом примере 1 или 2).Я хотел бы спросить, как я могу применить большинство голосов непосредственно к этим выходам классификаторов в Matlab?

clear all
close all
clc
load data.mat;
data=data;
[n,m]=size(data);
rows=(1:n);
test_count=floor((1/6)*n);
sum_ens=0;sum_result=0;
test_rows=randsample(rows,test_count);
train_rows=setdiff(rows,test_rows);
test=data(test_rows,:);
train=data(train_rows,:);
xtest=test(:,1:m-1);
ytest=test(:,m);
xtrain=train(:,1:m-1);
ytrain=train(:,m);

%-----------svm------------------
svm=svm1(xtest,xtrain,ytrain);

%-------------random forest---------------
rforest=randomforest(xtest,xtrain,ytrain);

%-------------decision tree---------------
DT=DTree(xtest,xtrain,ytrain);

%---------------bayesian---------------------
NBModel = NaiveBayes.fit(xtrain,ytrain, 'Distribution', 'kernel');
Pred = NBModel.predict(xtest);
dt=Pred;

%--------------KNN----------------
knnModel=fitcknn(xtrain,ytrain,'NumNeighbors',4);
     pred=knnModel.predict(xtest);
     sk=pred;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...