В MATLAB, как получить результат дерева классификации в матрице? - PullRequest
0 голосов
/ 06 декабря 2018

Я создал классификационное дерево, код:

mytree=ClassificationTree.fit(MyData,MyLables);
mytree.view('mode','graph');

У моих данных есть два класса, и я хочу получить результат прогнозирования в виде матрицы, которая может показать мне, что каждая строка данных принадлежит к которой, какпример.

data row          predicted class

1                   2
2                   1
.                   .
.                   .
.                   .

как мне сделать эту матрицу?

--------------------- Отредактировано ----------------------

Я обнаружил, что с помощью этой функции я могу предсказать свои данные:

label = предикат (Mdl, MyData ([1:50],:));

но к каким строкам относятся эти метки?

1 Ответ

0 голосов
/ 06 декабря 2018

Первый столбец, то есть «строка данных», представляет собой просто вектор, начинающийся с 1 до числа строк X (что, очевидно, также совпадает с числом значений в Y).Второй столбец, т. Е. «Прогнозируемый класс», совпадает с переменной MyLables.Следовательно:

ReqResult = [(1:numel(Y)).' Y];
%Assuming Y is a column vector (order = nx1). 
%If Y is a row vector then take the transpose of Y as well.

Предупреждение:

Если вы используете ≥ R2014a, вы должны использовать fitctree вместоClassificationTree.fit, поскольку, как указано в документации :

ClassificationTree.fit, будут удалены в следующем выпуске.Вместо этого используйте fitctree.

...