RegressionPartitionedModel

Пакет: classreg.learning.partition

Перекрестная проверенная регрессионая модель

Описание

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

Конструкция

CVMdl = crossval(Mdl) создает перекрестно проверенную регрессионую модель из регрессионной модели (Mdl).

В качестве альтернативы:

  • CVNetMdl = fitrnet(X,Y,Name,Value)

  • CVTreeMdl = fitrtree(X,Y,Name,Value)

создать перекрестно проверенную модель при Name является либо 'CrossVal', 'KFold', 'Holdout', 'Leaveout', или 'CVPartition'. Для получения дополнительной информации о синтаксисе см. fitrnet и fitrtree.

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

Mdl

Регрессионая модель, заданная как одно из следующего:

  • Модель регрессии нейронной сети, обученная с использованием fitrnet

  • Регрессионное дерево, обученное с помощью fitrtree

Свойства

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

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

NumObservations

Количество наблюдений в обучающих данных, хранимых в X и Y, заданный как числовой скаляр.

Partition

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

PredictorNames

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

ResponseName

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

ResponseTransform

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

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

CVMdl.ResponseTransform = @function

Trained

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

W

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

X

Матрица или таблица значений предиктора.

Y

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

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

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

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

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

Примеры

свернуть все

Загрузите выборочные данные. Создайте переменную X содержащий Horsepower и Weight данные.

load carsmall
X = [Horsepower Weight];

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

cvtree = fitrtree(X,MPG,'crossval','on');

Оцените ошибку перекрестной проверки carsmall данные с использованием Horsepower и Weight как переменные предиктора для пробега (MPG).

L = kfoldLoss(cvtree)
L = 25.5338