exponenta event banner

TreeBagger

Класс: TreeBagger

Создание пакета деревьев решений

Отдельные деревья принятия решений имеют тенденцию к перевыполнению. Загрузочно-агрегированные (пакетированные) деревья решений объединяют результаты многих деревьев решений, что уменьшает эффекты переоборудования и улучшает обобщение. TreeBagger выращивает деревья решений в ансамбле с помощью загрузочных образцов данных. Также, TreeBagger выбирает случайное подмножество предикторов для использования при каждом разделении решения, как в алгоритме случайного леса [1].

По умолчанию TreeBagger деревья классификации мешков. Вместо этого укажите, чтобы группировать деревья регрессии 'Method','regression'.

Для регрессионных проблем: TreeBagger поддерживает среднюю и квантильную регрессию (то есть квантильный регрессионный лес [5]).

Синтаксис

Mdl = TreeBagger(NumTrees,Tbl,ResponseVarName)
Mdl = TreeBagger(NumTrees,Tbl,formula)
Mdl = TreeBagger(NumTrees,Tbl,Y)
B = TreeBagger(NumTrees,X,Y)
B = TreeBagger(NumTrees,X,Y,Name,Value)

Описание

Mdl = TreeBagger(NumTrees,Tbl,ResponseVarName) возвращает ансамбль из NumTrees фасованные деревья классификации обучены с использованием данных образцов в таблице Tbl. ResponseVarName - имя переменной ответа в Tbl.

Mdl = TreeBagger(NumTrees,Tbl,formula) возвращает ансамбль пакетированных деревьев классификации, обученных с использованием данных образца в таблице Tbl. formula является пояснительной моделью ответа и подмножеством переменных предиктора в Tbl используется для подгонки Mdl. Определить Formula используя нотацию Уилкинсона. Дополнительные сведения см. в разделе Нотация Уилкинсона.

Mdl = TreeBagger(NumTrees,Tbl,Y) возвращает совокупность деревьев классификации с использованием переменных предиктора в таблице Tbl и метки классов в векторе Y.

Y - массив данных ответа. Элементы Y соответствуют строкам Tbl. Для классификации, Y - набор меток истинного класса. Метки могут быть любой переменной группировки, то есть числовым или логическим вектором, символьной матрицей, строковым массивом, массивом ячеек символьных векторов или категориальным вектором. TreeBagger преобразует метки в массив ячеек символьных векторов. Для регрессии Y - числовой вектор. Чтобы вырастить деревья регрессии, необходимо указать пару имя-значение 'Method','regression'.

B = TreeBagger(NumTrees,X,Y) создает ансамбль B из NumTrees деревья решений для прогнозирования ответа Y как функция предикторов в числовой матрице обучающих данных, X. Каждая строка в X представляет наблюдение, и каждый столбец представляет предиктор или функцию.

B = TreeBagger(NumTrees,X,Y,Name,Value) указывает дополнительные пары имя-значение параметра:

'InBagFraction'Доля входных данных в выборке с заменой из входных данных для выращивания каждого нового дерева. Значение по умолчанию - 1.
'Cost'

Квадратная матрица C, где C(i,j) - стоимость классификации точки по классу j если его истинный класс i (т.е. строки соответствуют истинному классу, а столбцы соответствуют прогнозируемому классу). Порядок строк и столбцов Cost соответствует порядку классов в ClassNames имущество обученных TreeBagger модель B.

В качестве альтернативы, cost может быть структурой S имеет два поля:

  • S.ClassNames содержит имена групп в виде категориальной переменной, символьного массива, строкового массива или массива ячеек символьных векторов

  • S.ClassificationCosts содержащий матрицу затрат C

Значение по умолчанию: C(i,j) = 1 если i ~= j, и C(i,j) = 0 если i = j.

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

'SampleWithReplacement''on' в выборку с заменой или 'off' в пробу без замены. Если вы пробуете без замены, вам нужно установить 'InBagFraction' до значения, меньшего единицы. По умолчанию: 'on'.
'OOBPrediction''on' для хранения информации о том, какие наблюдения находятся вне пакета для каждого дерева. Эта информация может использоваться oobPrediction для вычисления прогнозируемых вероятностей классов для каждого дерева в ансамбле. По умолчанию: 'off'.
'OOBPredictorImportance''on' хранить в ансамбле оценки из мешка, имеющие важное значение для особенностей. По умолчанию: 'off'. Определение 'on' также устанавливает 'OOBPrediction' значение для 'on'. Если анализ важности предиктора является вашей целью, то также укажите 'PredictorSelection','curvature' или 'PredictorSelection','interaction-curvature'. Дополнительные сведения см. в разделе fitctree или fitrtree.
'Method'Также 'classification' или 'regression'. Для регрессии требуется числовое значение Y.
'NumPredictorsToSample'Количество переменных, выбираемых случайным образом для каждого разделения решения. По умолчанию используется квадратный корень из числа переменных для классификации и одна треть от числа переменных для регрессии. Допустимые значения: 'all' или положительное целое число. Установка для этого аргумента любого допустимого значения, но 'all' вызывает случайный алгоритм леса Бреймана [1].
'NumPrint'Количество учебных циклов (выращенных деревьев), после которых TreeBagger отображает диагностическое сообщение о ходе обучения. По умолчанию нет диагностических сообщений.
'MinLeafSize'Минимальное количество наблюдений на лист дерева. По умолчанию используется 1 для классификации и 5 для регрессии.
'Options'

Структура, задающая опции, которые управляют вычислениями при выращивании ансамбля деревьев решений. Один из вариантов требует, чтобы при вычислении деревьев решений на нескольких репликациях начальной загрузки использовалось несколько процессоров, если доступен Toolbox™ параллельных вычислений. Две опции определяют потоки случайных чисел, которые будут использоваться при выборе реплик начальной загрузки. Этот аргумент можно создать с помощью вызова statset. Можно получить значения отдельных полей с помощью вызова statget. Применимый statset параметры:

  • 'UseParallel' - если true и установлена панель инструментов Parallel Computing Toolbox, то программа использует существующий параллельный пул для параллельных деревьев, или, в зависимости от параметров параллельной обработки, программа открывает и использует новый пул, если в данный момент нет открытого. В противном случае программное обеспечение вычисляется последовательно. По умолчанию: false, что означает последовательное вычисление.

    Для двухъядерных систем и выше, TreeBagger параллелизирует обучение с использованием стандартных блоков Intel ® Threading Building Blocks (TBB). Следовательно, использование 'UseParallel' на одном компьютере может не сильно ускорить вычисления и может потреблять больше памяти, чем в последовательном. Подробные сведения о TBB Intel см. в разделе https://software.intel.com/en-us/intel-tbb.

  • 'UseSubstreams' - если true выберите каждую репликацию начальной загрузки с использованием отдельного подпотока генератора случайных чисел (или потока). Эта опция доступна только с RandStream типы, поддерживающие субпотоки: 'mlfg6331_64' или 'mrg32k3a'. По умолчанию: false, не используйте другой субпоток для вычисления каждой репликации начальной загрузки.

  • Streams - A RandStream объект или массив ячеек таких объектов. Если не указать Streams, TreeBagger использует поток или потоки по умолчанию. Если вы решили указать Streams, использовать один объект, за исключением случая

    • UseParallel является true

    • UseSubstreams является false

    В этом случае используйте массив ячеек того же размера, что и пул Parallel.

'Prior'

Предварительные вероятности для каждого класса. Укажите в качестве одного из следующих параметров:

  • Вектор символов или строковый скаляр:

    • 'Empirical' определяет вероятности классов из частот классов в Y. При передаче весов наблюдения они используются для вычисления вероятностей классов. Это значение по умолчанию.

    • 'Uniform' устанавливает все вероятности классов равными.

  • Вектор (одно скалярное значение для каждого класса). Порядок элементов Prior соответствует порядку классов в ClassNames имущество обученных TreeBagger модель B.

  • Структура S с двумя полями:

    • S.ClassNames содержит имена классов в виде категориальной переменной, символьного массива, строкового массива или массива ячеек символьных векторов

    • S.ClassProbs содержащий вектор соответствующих вероятностей

Если установлены значения для обоих Weights и Priorвеса перенормируются для суммирования со значением предшествующей вероятности в соответствующем классе.

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

'PredictorNames'

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

  • Если вы поставляете X и Y, то вы можете использовать 'PredictorNames' дать переменные предиктора в X имена.

    • Порядок имен в PredictorNames должен соответствовать порядку столбцов X. То есть PredictorNames{1} является именем X(:,1)PredictorNames{2} является именем X(:,2)и так далее. Также, size(X,2) и numel(PredictorNames) должно быть равным.

    • По умолчанию PredictorNames является {'x1','x2',...}.

  • Если вы поставляете Tbl, то вы можете использовать 'PredictorNames' чтобы выбрать, какие переменные предиктора использовать в обучении. То есть TreeBagger использует переменные предиктора в PredictorNames и ответ только на обучение.

    • PredictorNames должен быть подмножеством Tbl.Properties.VariableNames и не может включать имя переменной ответа.

    • По умолчанию PredictorNames содержит имена всех переменных предиктора.

    • Рекомендуется указывать предикторы для обучения с использованием одного из 'PredictorNames' или formula только.

'CategoricalPredictors'

Список категориальных предикторов, указанный как пара, разделенная запятыми, состоящая из 'CategoricalPredictors' и одно из следующих.

  • Числовой вектор с индексами из 1 кому p, где p - количество столбцов X.

  • Логический вектор длины p, где true запись означает, что соответствующий столбец X является категориальной переменной.

  • Строковый массив или массив ячеек символьных векторов, где каждый элемент массива является именем переменной предиктора. Имена должны совпадать с записями в PredictorNames значения.

  • Символьная матрица, где каждая строка матрицы является именем переменной предсказателя. Имена должны совпадать с записями в PredictorNames значения. Поместите имена с дополнительными пробелами, чтобы каждая строка символьной матрицы имела одинаковую длину.

  • 'all', что означает, что все предикторы категоричны.

'ChunkSize'

Размер блока, указанный как разделенная запятыми пара, состоящая из 'ChunkSize' и положительное целое число. Размер порции определяет количество наблюдений в каждой порции данных. Значение по умолчанию: 50000.

Примечание

Этот параметр применяется только при использовании TreeBagger на высоких массивах. Дополнительные сведения см. в разделе Расширенные возможности.

В дополнение к дополнительным аргументам, приведенным выше, TreeBagger принимает эти необязательные fitctree и fitrtree аргументы.

Примеры

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

Загрузите набор данных радужки Фишера.

load fisheriris

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

rng(1); % For reproducibility
Mdl = TreeBagger(50,meas,species,'OOBPrediction','On',...
    'Method','classification')
Mdl = 
  TreeBagger
Ensemble with 50 bagged decision trees:
                    Training X:              [150x4]
                    Training Y:              [150x1]
                        Method:       classification
                 NumPredictors:                    4
         NumPredictorsToSample:                    2
                   MinLeafSize:                    1
                 InBagFraction:                    1
         SampleWithReplacement:                    1
          ComputeOOBPrediction:                    1
 ComputeOOBPredictorImportance:                    0
                     Proximity:                   []
                    ClassNames:        'setosa'    'versicolor'     'virginica'

  Properties, Methods

Mdl является TreeBagger ансамбль.

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

Постройте график первого обученного дерева классификации.

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

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

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

Mdl.OOBIndices сохраняет индексы вне пакета в виде матрицы логических значений.

Постройте график ошибки вне пакета по количеству выращенных деревьев классификации.

figure;
oobErrorBaggedEnsemble = oobError(Mdl);
plot(oobErrorBaggedEnsemble)
xlabel 'Number of grown trees';
ylabel 'Out-of-bag classification error';

Figure contains an axes. The axes contains an object of type line.

Погрешность «вне мешка» уменьшается с количеством выращенных деревьев.

Чтобы пометить наблюдения вне мешка, пропустите Mdl кому oobPredict.

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

load carsmall

Обучение ансамбля пакетных регрессионных деревьев с использованием всего набора данных. Укажите 100 слабых учеников.

rng(1); % For reproducibility
Mdl = TreeBagger(100,Displacement,MPG,'Method','regression');

Mdl является TreeBagger ансамбль.

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

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

predX = linspace(min(Displacement),max(Displacement),10)';
mpgMean = predict(Mdl,predX);
mpgQuartiles = quantilePredict(Mdl,predX,'Quantile',[0.25,0.5,0.75]);

Постройте график наблюдений и оценочных средних ответов и квартилей на том же рисунке.

figure;
plot(Displacement,MPG,'o');
hold on
plot(predX,mpgMean);
plot(predX,mpgQuartiles);
ylabel('Fuel economy');
xlabel('Engine displacement');
legend('Data','Mean Response','First quartile','Median','Third quartile');

Figure contains an axes. The axes contains 5 objects of type line. These objects represent Data, Mean Response, First quartile, Median, Third quartile.

Загрузить carsmall набор данных. Рассмотрим модель, которая предсказывает среднюю экономию топлива автомобиля с учетом его ускорения, количества цилиндров, рабочего объема двигателя, лошадиных сил, производителя, модельного года и веса. Рассмотреть Cylinders, Mfg, и Model_Year в качестве категориальных переменных.

load carsmall
Cylinders = categorical(Cylinders);
Mfg = categorical(cellstr(Mfg));
Model_Year = categorical(Model_Year);
X = table(Acceleration,Cylinders,Displacement,Horsepower,Mfg,...
    Model_Year,Weight,MPG);
rng('default'); % For reproducibility

Отображение количества категорий, представленных в категориальных переменных.

numCylinders = numel(categories(Cylinders))
numCylinders = 3
numMfg = numel(categories(Mfg))
numMfg = 28
numModelYear = numel(categories(Model_Year))
numModelYear = 3

Потому что есть 3 категории только в Cylinders и Model_Yearстандартный алгоритм разделения предиктора CART предпочитает разделение непрерывного предиктора по этим двум переменным.

Обучение случайного леса из 200 деревьев регрессии с использованием всего набора данных. Чтобы вырастить несмещенные деревья, укажите использование теста кривизны для расщепления предикторов. Поскольку в данных отсутствуют значения, укажите использование суррогатных разбиений. Храните информацию вне пакета для оценки важности предиктора.

Mdl = TreeBagger(200,X,'MPG','Method','regression','Surrogate','on',...
    'PredictorSelection','curvature','OOBPredictorImportance','on');

TreeBagger сохраняет оценки важности предиктора в свойстве OOBPermutedPredictorDeltaError. Сравните оценки с помощью гистограммы.

imp = Mdl.OOBPermutedPredictorDeltaError;

figure;
bar(imp);
title('Curvature Test');
ylabel('Predictor importance estimates');
xlabel('Predictors');
h = gca;
h.XTickLabel = Mdl.PredictorNames;
h.XTickLabelRotation = 45;
h.TickLabelInterpreter = 'none';

Figure contains an axes. The axes with title Curvature Test contains an object of type bar.

В этом случае Model_Year является наиболее важным предиктором, за которым следует Weight.

Сравните imp для оценки важности предиктора, вычисленной из случайного леса, который выращивает деревья с использованием стандартной CART.

MdlCART = TreeBagger(200,X,'MPG','Method','regression','Surrogate','on',...
    'OOBPredictorImportance','on');

impCART = MdlCART.OOBPermutedPredictorDeltaError;

figure;
bar(impCART);
title('Standard CART');
ylabel('Predictor importance estimates');
xlabel('Predictors');
h = gca;
h.XTickLabel = Mdl.PredictorNames;
h.XTickLabelRotation = 45;
h.TickLabelInterpreter = 'none';

Figure contains an axes. The axes with title Standard CART contains an object of type bar.

В этом случае Weight, непрерывный предиктор, является наиболее важным. Следующие два наиболее важных предиктора Model_Year за которым внимательно следят Horsepower, который является непрерывным предиктором.

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

При выполнении вычислений в массивах TALL MATLAB ® использует либо параллельный пул (по умолчанию при наличии Toolbox™ Parallel Computing), либо локальный сеанс MATLAB. Для выполнения примера с использованием локального сеанса MATLAB при наличии панели инструментов Parallel Computing Toolbox измените глобальную среду выполнения с помощью mapreducer функция.

mapreducer(0)

Создайте хранилище данных, которое ссылается на расположение папки, содержащей набор данных. Выберите подмножество переменных для работы и обработайте 'NA' значения как отсутствующие данные, так что datastore заменяет их на NaN значения. Создайте таблицу высокого уровня, содержащую данные в хранилище данных.

ds = datastore('airlinesmall.csv');
ds.SelectedVariableNames = {'Month','DayofMonth','DayOfWeek',...
                            'DepTime','ArrDelay','Distance','DepDelay'};
ds.TreatAsMissing = 'NA';
tt  = tall(ds) % Tall table
tt =

  Mx7 tall table

    Month    DayofMonth    DayOfWeek    DepTime    ArrDelay    Distance    DepDelay
    _____    __________    _________    _______    ________    ________    ________

     10          21            3          642          8         308          12   
     10          26            1         1021          8         296           1   
     10          23            5         2055         21         480          20   
     10          23            5         1332         13         296          12   
     10          22            4          629          4         373          -1   
     10          28            3         1446         59         308          63   
     10           8            4          928          3         447          -2   
     10          10            6          859         11         954          -1   
      :          :             :           :          :           :           :
      :          :             :           :          :           :           :

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

Y = tt.DepDelay > 10 % Class labels
Y =

  Mx1 tall logical array

   1
   0
   1
   1
   0
   1
   0
   0
   :
   :

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

X = tt{:,1:end-1} % Predictor data
X =

  Mx6 tall double matrix

          10          21           3         642           8         308
          10          26           1        1021           8         296
          10          23           5        2055          21         480
          10          23           5        1332          13         296
          10          22           4         629           4         373
          10          28           3        1446          59         308
          10           8           4         928           3         447
          10          10           6         859          11         954
          :           :            :          :           :           :
          :           :            :          :           :           :

Создайте высокий массив для весов наблюдения, произвольно назначив двойные веса наблюдениям класса 1.

W = Y+1; % Weights

Удалить строки в X, Y, и W которые содержат отсутствующие данные.

R = rmmissing([X Y W]); % Data with missing entries removed
X = R(:,1:end-2); 
Y = R(:,end-1); 
W = R(:,end);

Обучение ансамбля из 20 фасованных деревьев принятия решений с использованием всего набора данных. Укажите весовой вектор и однородные предыдущие вероятности. Для воспроизводимости задайте начальные значения генераторов случайных чисел с помощью rng и tallrng. Результаты могут варьироваться в зависимости от количества работников и среды выполнения для массивов tall. Дополнительные сведения см. в разделе Управление местом запуска кода.

rng('default') 
tallrng('default')
tMdl = TreeBagger(20,X,Y,'Weights',W,'Prior','Uniform')
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 1.5 sec
Evaluation completed in 1.9 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 2.4 sec
Evaluation completed in 2.7 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 8.8 sec
Evaluation completed in 8.8 sec
tMdl = 
  CompactTreeBagger
Ensemble with 20 bagged decision trees:
              Method:       classification
       NumPredictors:                    6
          ClassNames: '0' '1'

  Properties, Methods

tMdl является CompactTreeBagger ансамбль с 20 фасованными деревьями решения.

Вычислите вероятность неправильной классификации каждого дерева в модели. Атрибут веса, содержащегося в векторе W для каждого наблюдения с помощью 'Weights' аргумент пары имя-значение.

terr = error(tMdl,X,Y,'Weights',W)
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 8.2 sec
Evaluation completed in 8.3 sec
terr = 20×1

    0.1420
    0.1214
    0.1115
    0.1078
    0.1037
    0.1027
    0.1005
    0.0997
    0.0981
    0.0983
      ⋮

Найдите среднюю вероятность неправильной классификации для ансамбля деревьев решений.

avg_terr = mean(terr)
avg_terr = 0.1022

Совет

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

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

    view(B.Trees{t})

  • Стандартная CART имеет тенденцию выбирать разделенные предикторы, содержащие много различных значений, например непрерывных переменных, по сравнению с теми, которые содержат несколько различных значений, например категориальных переменных [4]. Рекомендуется задать проверку кривизны или взаимодействия, если выполняются следующие условия:

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

    • Если анализ важности предиктора является вашей целью. TreeBagger сохраняет оценки важности предиктора в OOBPermutedPredictorDeltaError имущество Mdl.

    Дополнительные сведения о выборе предиктора см. в разделе PredictorSelection для классификационных деревьев или PredictorSelection для регрессионных деревьев.

Алгоритмы

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

  • Дополнительные сведения о выборе предикторов разделения и алгоритмов разделения узлов при выращивании деревьев решений см. в разделах Алгоритмы для деревьев классификации и Алгоритмы для деревьев регрессии.

Альтернативная функциональность

Toolbox™ статистики и машинного обучения предлагает три объекта для фасовки в мешки и случайного леса:

Для получения подробной информации о различиях между TreeBagger и фасованные ансамбли (ClassificationBaggedEnsemble и RegressionBaggedEnsemble), см. Сравнение ансамблей TreeBagger и Bagged.

Ссылки

[1] Брейман, Л. «Случайные леса». Машинное обучение 45, стр. 5-32, 2001.

[2] Брейман, Л., Дж. Фридман, Р. Ольшен и К. Стоун. Деревья классификации и регрессии. Бока Ратон, FL: CRC Press, 1984.

[3] Loh, W.Y. «Регрессионные деревья с несмещенным выбором переменных и обнаружением взаимодействия». Statistica Sinica, Vol. 12, 2002, pp. 361-386.

[4] Ло, У.Я. и Ю.С. Ших. «Разбить методы выбора для деревьев классификации». Statistica Sinica, том 7, 1997, стр. 815-840.

[5] Мейнсхаузен, Н. «Квантильные регрессионные леса». Журнал исследований машинного обучения, том 7, 2006, стр. 983-999.

Расширенные возможности

Представлен в R2009a