CompactTreeBagger class

Компактный ансамбль деревьев принятия решений, выращенных агрегированием bootstrap

Описание

CompactTreeBagger класс является легким классом, который содержит деревья, выращенные с помощью TreeBagger. CompactTreeBagger не сохраняет никакой информации о том, как TreeBagger вырастил деревья решений. Он не содержит входных данных, используемых для выращивания деревьев, и не содержит параметров обучения, таких как минимальный размер листа или количество переменных, выбранных для каждого разделения решения случайным образом. Вы можете использовать только CompactTreeBagger для предсказания отклика обученного ансамбля приведены новые данные X, и другие связанные функции.

CompactTreeBagger позволяет сохранить обученный ансамбль на диск или использовать его любым другим способом, отбрасывая при этом обучающие данные и различные параметры обучающей строения, нерелевантные для предсказания отклика полностью выращенного ансамбля. Это снижает требования к хранению и памяти, особенно для ансамблей, обученных на больших наборах данных.

Конструкция

CompactTreeBaggerСоздание CompactTreeBagger объект

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

Функции объекта

combineОбъедините два ансамбля
errorОшибка (вероятность неправильной классификации или MSE)
marginКлассификационный запас
mdsproxМногомерное масштабирование матрицы близости
meanMarginСредний классификационный запас
outlierMeasureПоказатель выбросов для данных
partialDependenceВычисление частичной зависимости
plotPartialDependenceСоздайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE)
predictПрогнозируйте ответы с помощью ансамбля упакованных деревьев решений
proximityМатрица близости для данных
setDefaultYfitУстановите значение по умолчанию для predict

Свойства

ClassNames

The ClassNames свойство является массивом ячеек, содержащим имена классов для переменной отклика Y поставляется в TreeBagger. Это свойство пустое для деревьев регрессии.

DefaultYfit

The DefaultYfit свойство управляет тем, какое предсказанное значение CompactTreeBagger возвращается, когда предсказание невозможно, например, когда predict метод должен предсказать для наблюдения, которое имеет только ложные значения в матрице, предоставленной через 'useifort' аргумент.

Для классификации можно задать для этого свойства любое '' или 'MostPopular'. Если вы выбираете 'MostPopular' (по умолчанию), значение свойства становится именем наиболее вероятного класса в обучающих данных.

Для регрессии можно задать это свойство в любой числовой скаляр. По умолчанию это среднее значение отклика для обучающих данных.

DeltaCriterionDecisionSplit

The DeltaCriterionDecisionSplit свойство является числовым массивом размера 1-by- Nvars из изменений разделенного критерия, суммированного по расколам на каждой переменной, усредненных по всему ансамблю выращенных деревьев.

Method

The Method свойство 'classification' для классификационных ансамблей и 'regression' для регрессионных ансамблей.

NumPredictorSplit

The NumPredictorSplit свойство является числовым массивом размера 1-by- Nvars, где каждый элемент дает количество разделений на этом предикторе, суммированных по всем деревьям.

NumTrees

The NumTrees свойство является скаляром, равным количеству деревьев решений в ансамбле.

PredictorNames

The PredictorNames свойство является массивом ячеек, содержащим имена переменных предиктора ( функций). Эти имена взяты из необязательного 'names' параметр, который подавался на TreeBagger. Имена по умолчанию 'x1', 'x2', и т.д.

SurrogateAssociation

The SurrogateAssociation свойство является матрицей размера Nvars -by - Nvars с прогнозирующими показателями переменной ассоциации, усредненными по всему ансамблю выращенных деревьев. Если вы вырастили обстановку ансамбля 'surrogate' на 'on'эта матрица для каждого дерева заполнена прогнозирующими показателями ассоциации, усредненными по суррогатным разделениям. Если вы вырастили обстановку ансамбля 'surrogate' на 'off' (по умолчанию), SurrogateAssociation является диагональным.

Trees

The Trees свойство является массивом ячеек размера NumTrees-by-1, содержащая деревья в ансамбле.

Примеры

свернуть все

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

Загрузите 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

     1115742      976936

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

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

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

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

Figure Classification tree viewer contains an axes and other objects of type uimenu, uicontrol. The axes contains 60 objects of type line, text.

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

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

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

Копировать семантику

Значение. Чтобы узнать, как это влияет на использование класса, смотрите Сравнение указателя и классов значений в MATLAB® Объектно-ориентированная документация по программированию.

Совет

The Trees свойство CMdl сохраняет вектор камеры CMdl.NumTrees CompactClassificationTree или CompactRegressionTree объекты модели. Для текстового или графического отображения древовидных t в векторе камеры введите

view(CMdl.Trees{t})