exponenta event banner

RegressionEnsemble

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

Ансамблевая регрессия

Описание

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

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

Создание объекта регрессионного ансамбля с помощью fitrensemble.

Свойства

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 массив.

LearnerNames

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

HyperparameterOptimizationResults

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

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

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

Method

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

ModelParameters

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

NumObservations

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

NumTrained

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

PredictorNames

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

ReasonForTermination

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

Regularization

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

ResponseName

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

ResponseTransform

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

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

ens.ResponseTransform = @function

Trained

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

TrainedWeights

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

W

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

X

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

Y

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

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

compactСоздание компактного регрессионного ансамбля
crossvalАнсамбль перекрестной проверки
cvshrinkАнсамбль усадки (отсечения) перекрестной проверки
limeЛокальные интерпретируемые модели-агностические объяснения (LIME)
lossОшибка регрессии
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 регрессионных деревьев с использованием LSBoost способ. Укажите, что Cylinders является категориальной переменной.

Mdl = fitrensemble(X,Y,'Method','LSBoost',...
    'PredictorNames',{'W','C'},'CategoricalPredictors',2)
Mdl = 
  RegressionEnsemble
           PredictorNames: {'W'  'C'}
             ResponseName: 'Y'
    CategoricalPredictors: 2
        ResponseTransform: 'none'
          NumObservations: 94
               NumTrained: 100
                   Method: 'LSBoost'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.'
                  FitInfo: [100x1 double]
       FitInfoDescription: {2x1 cell}
           Regularization: []


  Properties, Methods

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

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 36 objects of type line, text.

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

Предсказать экономию топлива 4000 фунтовых автомобилей с 4, 6 и 8 баллонами.

XNew = [4000*ones(3,1) [4; 6; 8]];
mpgNew = predict(Mdl,XNew)
mpgNew = 3×1

   19.5926
   18.6388
   15.4810

Совет

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

view(ens.Trained{t})

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

.
Представлен в R2011a