Я пытаюсь использовать метод MATLAB TreeBagger
, который реализует случайный лес. Мои данные - это структура 25 * 1 с 2 полями (позиция и стоимость). Каждый элемент поля позиции равен 56 * 3, а каждый элемент стоимости - 1 * 2. Поле «позиция» - «Тренировка X», а поле «стоимость» - «Тренировка Y».
Как я могу использовать метод TreeBagger
?
Я написал этот код:
for m = 1 : 2
for q=1:25
fitness(q,m)=subpop(q,:).cost(1,m);
end
M1 = TreeBagger(1,
[subpop.position],fitness(:,m),'Method','regression','Surrogate','on',...
'oobvarimp','on','OOBPred','on');
imp(m,:) = M1.OOBPermutedVarDeltaError;
end
Но я столкнулся со следующей ошибкой:
Error using classreg.learning.FullClassificationRegressionModel.prepareDataCR (line 138)
X and Y do not have the same number of observations.
Error in classreg.learning.regr.FullRegressionModel.prepareData (line 104)
[X,Y,W,dataSummary] = ...
Error in TreeBagger/init (line 1198)
[bagger.X,bagger.Y,bagger.W,bagger.DataSummary] = ...
Error in TreeBagger (line 531)
bagger = init(bagger,X,Y,makeArgs{:});
Error in test_980305 (line 199)
M1 =
TreeBagger(1,[subpop.position],fitness(:,m),'Method','regression','Surrogate','on',...