TreeBagger

Класс: TreeBagger

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

Отдельные деревья решений, как правило, перегружаются. Агрегированные по Bootstrap (bagged) деревья решений объединяют результаты многих деревьев решений, что уменьшает эффекты сверхподбора кривой и улучшает обобщение. TreeBagger выращивает деревья решений в ансамбле, используя выборки данных bootstrap. Кроме того, 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 если его класс true 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'

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

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

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

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

  • 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, где a 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стандартный алгоритм разделения предикторов ТЕЛЕЖКА предпочитает разделение непрерывного предиктора над этими двумя переменными.

Обучите случайный лес из 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 к оценкам предикторной важности, вычисленным из случайного леса, который выращивает деревья с помощью стандартной ТЕЛЕЖКА.

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 является большим набором данных, который содержит табличный файл данных о рейсах авиакомпании.

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

mapreducer(0)

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

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. Результаты могут варьироваться в зависимости от количества рабочих процессов и окружения выполнения для длинных массивов. Для получения дополнительной информации смотрите Управление, Где Ваш Код Запуски.

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

Совет

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

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

    view(B.Trees{t})

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

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

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

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

Алгоритмы

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

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

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

Statistics and Machine Learning Toolbox™ предлагает три объекта для мешков и случайных лесов:

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

Ссылки

[1] Breiman, L. «Random Forests». Машинное обучение 45, стр. 5-32, 2001.

[2] Breiman, L., J. Friedman, R. Olshen, and C. Stone. Деревья классификации и регрессии. Бока Ратон, FL: CRC Press, 1984.

[3] Loh, W.Y. «Regression Trees with Unbiased Variable Selection and Interaction Detection». Statistica Sinica, Vol. 12, 2002, pp. 361-386.

[4] Loh, W.Y. and Y.S. Shih. «Разделение методов выбора для деревьев классификации». Statistica Sinica, Vol. 7, 1997, pp. 815-840.

[5] Meinshausen, N. «Quantle Regression Forests». Journal of Машинное Обучение Research, Vol. 7, 2006, pp. 983-999.

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

Введенный в R2009a