CompactTreeBagger class

Компактный ансамбль деревьев решений выращен агрегацией начальной загрузки

Описание

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

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

Конструкция

CompactTreeBaggerСоздайте CompactTreeBagger объект

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

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

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

Свойства

ClassNames

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

DefaultYfit

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

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

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

DeltaCriterionDecisionSplit

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

Method

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

NumPredictorSplit

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

NumTrees

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

PredictorNames

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

SurrogateAssociation

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

Trees

Trees свойство является массивом ячеек размера NumTrees- 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® Object-Oriented Programming.

Советы

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

view(CMdl.Trees{t})