exponenta event banner

RegressionBaggedEnsemble

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

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

Описание

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

Строительство

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

Свойства

BinEdges

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

Программа содержит числовые предикторы только при указании 'NumBins' аргумент «имя-значение» в качестве положительного целого скаляра при обучении модели с учащимися дерева. 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 значения NaNs.

CategoricalPredictors

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

CombineWeights

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

ExpandedPredictorNames

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

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

FitInfo

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

FitInfoDescription

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

FResample

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

HyperparameterOptimizationResults

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

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

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

LearnerNames

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

Method

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

ModelParameters

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

NumObservations

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

NumTrained

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

PredictorNames

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

ReasonForTermination

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

Regularization

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

Replace

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

ResponseName

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

ResponseTransform

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

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

ens.ResponseTransform = @function

Trained

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

TrainedWeights

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

UseObsForLearner

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

W

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

X

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

Y

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

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

compactСоздание компактного регрессионного ансамбля
crossvalАнсамбль перекрестной проверки
cvshrinkАнсамбль усадки (отсечения) перекрестной проверки
limeЛокальные интерпретируемые модели-агностические объяснения (LIME)
lossОшибка регрессии
oobLossОшибка регрессии вне пакета
oobPermutedPredictorImportanceОценки важности предиктора путем перестановки наблюдений предиктора вне мешка для случайного леса деревьев регрессии
oobPredictПрогнозирование внеплощадочной реакции ансамбля
partialDependenceВычислить частичную зависимость
plotPartialDependenceСоздание графиков частичной зависимости (PDP) и индивидуального условного ожидания (ICE)
predictПрогнозирование ответов с использованием совокупности регрессионных моделей
predictorImportanceОценки важности предиктора для регрессионного ансамбля
regularizeПоиск весов для минимизации ошибки повторного предоставления плюс срок штрафа
removeLearnersУдаление членов компактного регрессионного ансамбля
resubLossРегрессионная ошибка при повторном замещении
resubPredictПрогнозирование реакции ансамбля путем повторного замещения
resumeВозобновить учебный ансамбль
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