Как использовать функцию расстояния dtw в классификаторе fitcknn - PullRequest
1 голос
/ 05 мая 2020

(Matlab R 2019b)

Я использовал функцию @dtw как функцию расстояния в классификаторе fitcknn. В сообщении об ошибке говорится, что размеры двух массивов ввода для dtw не совпадают.

Я изменил функцию dtw, чтобы показать размеры массивов, и обнаружил, что первая печать верна (и x, и y - одно измерение), а второй отпечаток - нет. После этого появляется сообщение об ошибке.

Это код:

function [Mdl,Y,pred,gav,gavClass] = test_fitcknn()
    %Tests fitcknn
    % 2020-05-02
    load Y.mat Y;
    load pred.mat pred ;
    Mdl=fitcknn(pred,Y,'Distance',@dtw);
    gav=mean(pred);
    gavClass=predict(Mdl,gav);
end

И это сообщение об ошибке:

Error in test_fitcknn (line 8)
    gavClass=predict(Mdl,gav);

Caused by:
    Error using dtw (line 91)
    The number of rows between X and Y must be equal when X and Y are matrices

 pred is the input data 60X156 real
 Y is 60X1 cell output  character string  

Я сохранил данные таким образом :

save y.mat y
save pred.mat pred

С уважением, Алави

...