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 содержит NaN s, то соответствующими значениями Xbinned является NaN s.

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-by-NumTrained, где N является количеством строк (наблюдения) в данных тренировки X и NumTrained, является количеством обученных слабых учеников. UseObsForLearner(I,J) является true, если наблюдение I использовался для учебного ученика J и является false в противном случае.

W

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

X

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

Y

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

Методы

oobLossОшибка регрессии из сумки
oobPermutedPredictorImportanceВажность предиктора оценивает перестановкой наблюдений предиктора из сумки для случайного леса деревьев регрессии
oobPredictПредскажите ответ из сумки ансамбля

Унаследованные методы

компактныйСоздайте компактный ансамбль регрессии
crossvalКрест подтверждает ансамбль
cvshrinkКрест подтверждает уменьшение (сокращение) ансамбль
упорядочитьНайдите, что веса минимизируют ошибку перезамены плюс термин штрафа
resubLossОшибка регрессии перезаменой
resubPredictПредскажите ответ ансамбля перезаменой
резюмеВозобновите учебный ансамбль
уменьшениеСократите ансамбль
потеряОшибка регрессии
предсказатьПредскажите ансамбль использования ответов моделей регрессии
predictorImportanceОценки важности предиктора
removeLearnersУдалите членов компактного ансамбля регрессии

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

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

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

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

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

Mdl = fitrensemble(X,Y,'Method','bag')
Mdl = 
  classreg.learning.regr.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')

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

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

L = resubLoss(Mdl)
L = 14.6350

Советы

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

view(ens.Trained{t})

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

Введенный в R2011a

Для просмотра документации необходимо авторизоваться на сайте