Как я могу определить количество деревьев в случайном лесу в Matlab? - PullRequest
0 голосов
/ 21 октября 2018

В Matlab мы обучаем случайный лес, используя метод TreeBagger().Одним из параметров этого метода является количество деревьев.Я использую случайный лес для классификации подходов.Как я могу определить количество деревьев случайного леса?

1 Ответ

0 голосов
/ 23 октября 2018

Если вы обучали эту модель, вы должны знать количество деревьев, которые использовались в модели, потому что она должна быть задана в качестве входных данных для TreeBagger().
В любом случае, для изученной модели, такой как RFmodel, выможно использовать compact(RFmodel) для определения количества деревьев.

Это пример регрессии, основанный на документации Matlab :

load imports-85;
Y = X(:,1);
X = X(:,2:end);
isCat = [zeros(15,1);ones(size(X,2)-15,1)]; % Categorical variable flag
rng(1945,'twister')
UnknownNumberofTrees=100;
RFmodel = TreeBagger(UnknownNumberofTrees,X,Y,'Method','R','OOBPred','On',...
        'Cat',find(isCat == 1),'MinLeaf',5);

RFmodelObject = compact(RFmodel);
RFmodelObject.NTrees

%ans =

%   100
...