2015-09-23 2 views
2

Я пытаюсь использовать метод TreeBagger MATLAB, который реализует случайный лес.Использование и понимание метода TreeBagger (случайного леса) MATLAB

Я получаю некоторые результаты и могу сделать классификацию в MATLAB после обучения классификатора. Однако я хотел бы «увидеть» деревья или узнать, как работает классификация.

Например, давайте запустим этот минимальный пример, я нашел здесь: Matlab treebagger example

Итак, я в конечном итоге с Classificator хранится в «B». Как я могу осмотреть деревья? Как посмотреть на каждый узел, чтобы увидеть, на каких критериях (например, функция) принято решение? Ввод B возвращается:

B = 

    TreeBagger 
Ensemble with 20 bagged decision trees: 
      Training X:    [6x2] 
      Training Y:    [6x1] 
       Method:  classification 
       Nvars:     2 
     NVarToSample:     2 
       MinLeaf:     1 
       FBoot:     1 
SampleWithReplacement:     1 
ComputeOOBPrediction:     0 
    ComputeOOBVarImp:     0 
      Proximity:     [] 
      ClassNames:    '0'    '1' 

Я не могу увидеть что-то вроде B.trees или так.

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

Я надеюсь, что вы получите точку, или понять мой запрос;)

Спасибо за ответы!

Бест, Патрик

ответ

2

Узнал, как осмотреть деревья, выполнив команду view(). Например. для проверки первого дерева примера:

>> view(B.Trees{1}) 
Decision tree for classification 
1 if x2<650 then node 2 elseif x2>=650 then node 3 else 0 
2 if x1<4.5 then node 4 elseif x1>=4.5 then node 5 else 1 
3 class = 0 
4 class = 0 
5 class = 1 

Пропустив еще несколько аргументов в команде view(), дерево также может быть визуализированы:

view(B.Trees{1},'mode','graph') 

enter image description here

Смежные вопросы