compact

Класс: TreeBagger

Компактный ансамбль деревьев решений

Описание

CMdl = compact(Mdl) создает компактную версию Mdl, TreeBagger объект модели. Можно предсказать регрессии с помощью CMdl точно так же, как вы можете с помощью Mdl. Однако начиная с CMdl не содержит обучающие данные, вы не можете выполнить некоторые действия, те, которые делают предсказания из сумки с помощью oobPredict.

Входные параметры

Mdl

Ансамбль регрессии создается с TreeBagger.

Выходные аргументы

CMdl

Компактный ансамбль регрессии. CMdl имеет класс CompactTreeBagger.

Примеры

развернуть все

Создайте компактный мешок деревьев для того, чтобы эффективно сделать предсказания на новых данных.

Загрузите ionosphere набор данных.

load ionosphere

Обучите мешок 100 деревьев классификации с помощью всех измерений и AdaBoostM1 метод.

Mdl = TreeBagger(100,X,Y,'Method','classification')
Mdl = 
  TreeBagger
Ensemble with 100 bagged decision trees:
                    Training X:             [351x34]
                    Training Y:              [351x1]
                        Method:       classification
                 NumPredictors:                   34
         NumPredictorsToSample:                    6
                   MinLeafSize:                    1
                 InBagFraction:                    1
         SampleWithReplacement:                    1
          ComputeOOBPrediction:                    0
 ComputeOOBPredictorImportance:                    0
                     Proximity:                   []
                    ClassNames:             'b'             'g'

  Properties, Methods

Mdl TreeBagger объект модели, который содержит обучающие данные, среди прочего.

Создайте компактную версию Mdl.

CMdl = compact(Mdl)
CMdl = 
  CompactTreeBagger
Ensemble with 100 bagged decision trees:
              Method:       classification
       NumPredictors:                   34
          ClassNames: 'b' 'g'

  Properties, Methods

CMdl CompactTreeBagger объект модели. CMdl почти то же самое как Mdl. Одно исключение - то, что это не хранит обучающие данные.

Сравните суммы места, занимавшего Mdl и CMdl.

mdlInfo = whos('Mdl');
cMdlInfo = whos('CMdl');
[mdlInfo.bytes cMdlInfo.bytes]
ans = 1×2

     1069822      931016

Mdl занимает больше места, чем CMdl.

CMdl.Trees хранит обученные деревья классификации (CompactClassificationTree объекты модели), которые составляют Mdl.

Отобразите график первого дерева в компактной модели.

view(CMdl.Trees{1},'Mode','graph');

По умолчанию, TreeBagger выращивает глубокие деревья.

Предскажите метку среднего значения X использование компактного ансамбля.

predMeanX = predict(CMdl,mean(X))
predMeanX = 1x1 cell array
    {'g'}