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).

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

  • CVGPRMdl = fitrgp(X,Y,Name,Value)

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

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

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

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

Mdl

Модель регрессии в виде одного из следующего:

  • Гауссова модель регрессии процесса обучила использование fitrgp

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

  • Дерево регрессии обучило использование fitrtree

Свойства

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

Объект, содержащий параметры Mdl.

NumObservations

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

Partition

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

PredictorNames

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

ResponseName

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

ResponseTransform

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

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

CVMdl.ResponseTransform = @function

Trained

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

W

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

X

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

Y

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

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

gatherСоберите свойства объекта Statistics and Machine Learning Toolbox от графического процессора
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

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