RegressionPartitionedEnsemble

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

Перекрестно проверенный регрессионный ансамбль

Описание

RegressionPartitionedEnsemble - набор регрессионных ансамблей, обученных на перекрестно проверенных складках. Оцените качество классификации путем перекрестной валидации с помощью одного или нескольких методов «kfold»: kfoldfun, kfoldLoss, или kfoldPredict. Каждый метод «kfold» использует модели, обученные внутрикратным наблюдениям, чтобы предсказать ответ для несовпадающих наблюдений. Например, предположим, что вы пересекаете проверку с помощью пяти складок. В этом случае каждая обучающая складка содержит примерно 4/5 данных, а каждая тестовая складка содержит примерно 1/5 данных. Первая модель, сохраненная в Trained{1} обучалась на X и Y при исключении первого 1/5 вторая модель хранилась в Trained{2} обучалась на X и Y со вторым 1/5 исключенным, и так далее. Когда вы звоните kfoldPredict, он вычисляет предсказания для первого 1/5 данных с помощью первой модели, для второго 1/5 данных с использованием второй модели и так далее. Короче говоря, ответ на каждое наблюдение вычисляется kfoldPredict использование модели, обученной без этого наблюдения.

Конструкция

cvens = crossval(ens) создает перекрестно проверенный ансамбль из ens, регрессионный ансамбль. Для получения дополнительной информации о синтаксисе смотрите crossval страница с описанием метода.

cvens = fitrensemble(X,Y,Name,Value) создает перекрестно проверенный ансамбль при Name является одним из 'crossval', 'kfold', 'holdout', 'leaveout', или 'cvpartition'. Для получения дополнительной информации о синтаксисе смотрите fitrensemble страница с описанием функции.

Входные параметры

ens

Регрессионный ансамбль, построенный с fitrensemble.

Свойства

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 содержит значения индекса, соответствующие столбцам данных предиктора, которые содержат категориальные предикторы. Если ни один из предикторов не является категориальным, то это свойство пустое ([]).

CrossValidatedModel

Имя перекрестно проверенной модели, вектор символов.

Kfold

Количество складок, используемых в перекрестном проверенном дереве, положительное целое число.

ModelParameters

Параметры хранения объектов tree.

NumObservations

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

NumTrainedPerFold

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

Partition

Разбиение классов на cvpartition используется при создании перекрестно-проверенного ансамбля.

PredictorNames

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

ResponseName

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

ResponseTransform

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

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

ens.ResponseTransform = @function

Trainable

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

Trained

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

W

Масштабированный weights, вектор с длиной n, количество строк в X.

X

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

Y

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

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

kfoldLossПотеря для перекрестно проверенной секционированной регрессионой модели
kfoldPredictПрогнозируйте ответы на наблюдения в перекрестно проверенной регрессионой модели
kfoldfunПерекрестная проверка функции для регрессии
resumeВозобновить обучение ансамбля

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

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

Примеры

свернуть все

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

Загрузите carsmall набор данных.

load carsmall;

Создайте подмножество переменных.

XX = [Cylinders Displacement Horsepower Weight];
YY = MPG;

Создайте модель ансамбля.

rens = fitrensemble(XX,YY);

Создайте перекрестно проверенный ансамбль из rens.

rng(10,'twister') % For reproducibility
cvrens = crossval(rens);

Исследуйте потери перекрестной проверки.

L = kfoldLoss(cvrens,'mode','individual')
L = 10×1

   21.4489
   48.4388
   28.2560
   17.5354
   29.9441
   49.5254
   51.2372
   31.0152
   31.6388
    8.9607

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