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

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

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