Класс CompactTreeBagger

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

Описание

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

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

Конструкция

CompactTreeBaggerОбъект Create CompactTreeBagger

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

Методы

объединениеОбъедините два ансамбля
ошибкаОшибка (misclassification вероятность или MSE)
полеПоле классификации
mdsproxМногомерное масштабирование матрицы близости
meanMarginСреднее поле классификации
outlierMeasureМера по выбросу для данных
предсказатьПредскажите ансамбль использования ответов сложенных в мешок деревьев решений
близостьМатрица близости для данных
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-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

     1066952      925404

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

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

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

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

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

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

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

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

Значение. Чтобы изучить, как это влияет на ваше использование класса, смотрите Сравнение Указателя и Классов Значения (MATLAB) в документации MATLAB® Object-Oriented Programming.

Советы

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

view(CMdl.Trees{t})