У меня есть пять классификаторов 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;