Следующий код выполняет 10-кратное перекрестной проверки с использованием линейного дискриминантного анализа:Перекрестная проверка с использованием анализа линейной дискриминантной
load fisheriris
indices = crossvalind('Kfold',species,10);
cp = classperf(species); % initializes the CP object
for i = 1:10
test = (indices == i); train = ~test;
class = classify(meas(test),meas(train),species(train));
% updates the CP object with the current classification results
classperf(cp,class,test)
end
cp.CorrectRate
Как это может быть изменен, чтобы использовать fitcdiscr вместо того, чтобы классифицировать по линии 7? Когда я пытаюсь, я получаю сообщение об ошибке (Неверное количество аргументов). Я не знаю, какие аргументы нужны или нет.
Возможно, посмотрите [в документации] (https://in.mathworks.com/help/stats/fitcdiscr.html?requestedDomain=www.mathworks.com) –
Из [docs] (https: // www. mathworks.com/help/stats/fitcdiscr.html#bt6d86x-2_1): 'fitcdiscr (meas, species)' – EBH
Когда я пытаюсь fitcdiscr (meas, species), я получаю следующую ошибку: Ошибка при использовании classreg.learning.internal. DisallowVectorOps/subsref (строка 16) Вы не можете индексировать объект класса ClassificationDiscriminant, используя() индексирование. Ошибка в classperf (строка 223) gps = varargin {1} (:); – anonymous2015