exponenta event banner

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

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 - вектор, содержащий потерю перекрестной проверки для каждого обученного ученика в ансамбле.