RegressionBaggedEnsemble

Пакет: classreg.learning.regr
Суперклассы: RegressionEnsemble

Регрессионный ансамбль, выращенный повторной дискретизацией

Описание

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

Конструкция

Создайте упакованный объект регрессионного ансамбля с помощью fitrensemble. Установите аргумент пары "имя-значение" 'Method' из fitrensemble на 'Bag' использовать агрегацию bootstrap (пакетирование, например, случайный лес).

Свойства

BinEdges

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

Программное обеспечение помещает числовые предикторы только, если вы задаете 'NumBins' аргумент имя-значение как положительный целочисленный скаляр при обучении модели с учениками дерева. The BinEdges свойство пустое, если 'NumBins' значение пустое (по умолчанию).

Можно воспроизвести привязанные данные предиктора Xbinned при помощи BinEdges свойство обученной модели mdl.

X = mdl.X; % Predictor data
Xbinned = zeros(size(X));
edges = mdl.BinEdges;
% Find indices of binned predictors.
idxNumeric = find(~cellfun(@isempty,edges));
if iscolumn(idxNumeric)
    idxNumeric = idxNumeric';
end
for j = idxNumeric 
    x = X(:,j);
    % Convert x to array if x is a table.
    if istable(x) 
        x = table2array(x);
    end
    % Group x into bins by using the discretize function.
    xbinned = discretize(x,[-inf; edges{j}; inf]); 
    Xbinned(:,j) = xbinned;
end
Xbinned содержит индексы интервала в диапазоне от 1 до количества интервалов для числовых предикторов. Xbinned значения 0 для категориальных предикторов. Если X содержит NaNs, затем соответствующее Xbinned значения NaNс.

CategoricalPredictors

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

CombineWeights

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

ExpandedPredictorNames

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

Если модель использует кодировку для категориальных переменных, то ExpandedPredictorNames включает имена, которые описывают расширенные переменные. В противном случае ExpandedPredictorNames то же, что и PredictorNames.

FitInfo

Числовой массив информации о подгонке. The FitInfoDescription свойство описывает содержимое этого массива.

FitInfoDescription

Вектор символов, описывающий смысл FitInfo массив.

FResample

Числовой скаляр между 0 и 1. FResample - доля обучающих данных fitrensemble переизбирается наугад для каждого слабого ученика при построении ансамбля.

HyperparameterOptimizationResults

Описание оптимизации гиперпараметров перекрестной валидации, сохраненное как BayesianOptimization объект или таблица гиперпараметров и связанных значений. Непусто, когда OptimizeHyperparameters Пара "имя-значение" не пуста при создании. Значение зависит от настройки HyperparameterOptimizationOptions Пара "имя-значение" при создании:

  • 'bayesopt' (по умолчанию) - Объект класса BayesianOptimization

  • 'gridsearch' или 'randomsearch' - Таблица используемых гиперпараметров, наблюдаемых значений целевой функции (потери перекрестной валидации) и ранг наблюдений от самого низкого (лучшего) до самого высокого (худшего)

LearnerNames

Массив ячеек из символьных векторов с именами слабых учащихся ансамбля. Имя каждого ученика появляется всего один раз. Например, если у вас есть ансамбль из 100 деревьев, LearnerNames является {'Tree'}.

Method

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

ModelParameters

Параметры, используемые в обучающих ens.

NumObservations

Числовой скаляр, содержащий количество наблюдений в обучающих данных.

NumTrained

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

PredictorNames

Массив ячеек с именами для переменных предиктора в том порядке, в котором они появляются X.

ReasonForTermination

Вектор символов, описывающий причину fitrensemble перестал добавлять в ансамбль слабых учеников.

Regularization

Структура, содержащая результат regularize способ. Использование Regularization с shrink чтобы уменьшить ошибку реституции и сжать ансамбль.

Replace

Логический флаг, указывающий, были ли обучающие данные для слабых учащихся в этом ансамбле отобраны с заменой. Replace является true для отбора проб с заменой, false в противном случае.

ResponseName

A вектора символов с именем переменной отклика Y.

ResponseTransform

Указатель на функцию для преобразования счетов или вектор символов, представляющий встроенную функцию преобразования. 'none' означает отсутствие преобразования; эквивалентно 'none' означает @(x)x.

Добавление или изменение ResponseTransform функция, использующая запись через точку:

ens.ResponseTransform = @function

Trained

Обученные учащиеся, массив ячеек из компактных регрессионых моделей.

TrainedWeights

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

UseObsForLearner

Логическая матрица размера N-by- NumTrained, где N количество строк (наблюдений) в обучающих данных X, и NumTrained количество подготовленных слабых учащихся. UseObsForLearner(I,J) является true если наблюдение I использовался для обучения учащихся J, и есть false в противном случае.

W

Масштабированный weights, вектор с длиной n, количество строк в X. Сумма элементов W является 1.

X

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

Y

Численный вектор-столбец с одинаковым числом строк, как X который обучал ансамбль. Каждая запись в Y - ответ на данные в соответствующей строке X.

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

compactСоздайте компрессионный регрессионный ансамбль
crossvalCross validate ансамбль
cvshrinkПерекрестное подтверждение усадки (обрезки) ансамбля
limeЛокальные интерпретируемые модели-агностические объяснения (LIME)
lossОшибка регрессии
oobLossОшибка регрессии вне мешка
oobPermutedPredictorImportanceОценки важности предиктора путем сочетания наблюдений предиктора вне мешка для случайного леса деревьев регрессии
oobPredictПредсказание отклика ансамбля вне мешка
partialDependenceВычисление частичной зависимости
plotPartialDependenceСоздайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE)
predictСпрогнозируйте ответы, используя ансамбль регрессионых моделей
predictorImportanceОценки предикторной важности для регрессионого ансамбля
regularizeНайдите веса, чтобы минимизировать ошибку восстановления плюс срок штрафа
removeLearnersУдалите представителей компрессионного регрессионного ансамбля
resubLossРегрессионная ошибка путем реституции
resubPredictПредсказать ответ ансамбля путем реституции
resumeВозобновить обучение ансамбля
shapleyЗначения Shapley
shrinkАнсамбль чернослива

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

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

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

load carsmall
X = [Weight Cylinders];
Y = MPG;

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

Mdl = fitrensemble(X,Y,'Method','bag')
Mdl = 
  RegressionBaggedEnsemble
             ResponseName: 'Y'
    CategoricalPredictors: []
        ResponseTransform: 'none'
          NumObservations: 94
               NumTrained: 100
                   Method: 'Bag'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.'
                  FitInfo: []
       FitInfoDescription: 'None'
           Regularization: []
                FResample: 1
                  Replace: 1
         UseObsForLearner: [94x100 logical]


  Properties, Methods

Mdl является RegressionBaggedEnsemble объект модели.

Mdl.Trained - свойство, которое хранит вектор камеры 100 на 1 обученных компактных деревьев регрессии (CompactRegressionTree моделировать объекты), которые составляют ансамбль.

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

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

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

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

Оцените среднюю квадратную ошибку (MSE) в выборке.

L = resubLoss(Mdl)
L = 12.4048

Совет

Для мешанного ансамбля регрессионных деревьев, Trained свойство ens сохраняет вектор камеры ens.NumTrained CompactRegressionTree объекты модели. Для текстового или графического отображения древовидных t в векторе камеры введите

view(ens.Trained{t})

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

.
Введенный в R2011a