RegressionPartitionedKernel

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

Описание

RegressionPartitionedKernel набор моделей регрессии ядра, обученных на перекрестных подтвержденных сгибах. Получить перекрестное подтвержденное, модель регрессии ядра, fitrkernel использования и задайте одну из опций перекрестной проверки. Можно оценить прогнозирующее качество модели, или как хорошо модель линейной регрессии делает вывод, с помощью одного или нескольких из этих “kfold” методов: kfoldPredict и kfoldLoss.

Каждый “kfold” метод использует модели, обученные на наблюдениях учебного сгиба предсказать ответ для наблюдений сгиба валидации. Например, предположите, что вы перекрестный подтверждаете использование пяти сгибов. В этом случае программное обеспечение случайным образом присваивает каждое наблюдение в пять групп равного размера (примерно). training fold содержит четыре из групп (то есть, примерно 4/5 данных), и validation fold содержит другую группу (то есть, примерно 1/5 данных). В этом случае перекрестная проверка продолжает можно следующим образом:

  1. Программное обеспечение обучает первую модель (сохраненный в CVMdl.Trained{1}) использование наблюдений в последних четырех группах и резервах наблюдения в первой группе для валидации.

  2. Программное обеспечение обучает вторую модель (сохраненный в CVMdl.Trained{2}) использование наблюдений в первой группе и последних трех группах. Программное обеспечение резервирует наблюдения во второй группе для валидации.

  3. Программное обеспечение продолжает подобным способом для третьего через пятые модели.

Если вы подтверждаете путем вызова kfoldPredict, это вычисляет прогнозы для наблюдений в группе 1, использующей первую модель, группу 2 для второй модели, и так далее. Короче говоря, программное обеспечение оценивает ответ для каждого наблюдения с помощью модели, обученной без того наблюдения.

Примечание

RegressionPartitionedKernel объекты модели не хранят набор данных предиктора.

Создание

Создайте RegressionPartitionedKernel объект с помощью fitrkernel функция. Используйте один из 'CrossVal', 'CVPartition', 'Holdout', 'KFold', или 'Leaveout' аргументы пары "имя-значение" в вызове fitrkernel. Для получения дополнительной информации смотрите fitrkernel страница ссылки на функцию.

Свойства

развернуть все

Свойства перекрестной проверки

Это свойство доступно только для чтения.

Перекрестное подтвержденное имя модели, заданное как вектор символов.

Например, 'Kernel' задает перекрестную подтвержденную модель ядра.

Типы данных: char

Это свойство доступно только для чтения.

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

Типы данных: double

Это свойство доступно только для чтения.

Значения параметров перекрестной проверки, заданные как объект. Значения параметров соответствуют значениям аргумента пары "имя-значение", используемым, чтобы перекрестный подтвердить модель регрессии ядра. ModelParameters не содержит оцененные параметры.

Это свойство доступно только для чтения.

Количество наблюдений в обучающих данных, заданных в виде положительного числа.

Типы данных: double

Это свойство доступно только для чтения.

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

Это свойство доступно только для чтения.

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

Типы данных: cell

Это свойство доступно только для чтения.

Веса наблюдения раньше перекрестный подтверждали модель, заданную как числовой вектор. W имеет NumObservations элементы.

Программное обеспечение нормирует веса, используемые в обучении так, чтобы nansum(W) 1.

Типы данных: single | double

Это свойство доступно только для чтения.

Наблюдаемые значения ответа раньше перекрестный подтверждали модель, заданную как числовой вектор. Y имеет NumObservations элементы.

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

Типы данных: single | double

Другие свойства регрессии

Это свойство доступно только для чтения.

Категориальные индексы предиктора, заданные как пустое числовое значение. В общем случае CategoricalPredictors содержит значения индекса, соответствующие столбцам данных о предикторе, которые содержат категориальные предикторы. Поскольку RegressionKernel модели могут только быть обучены на числовых данных о предикторе, это свойство пусто ([]).

Это свойство доступно только для чтения.

Предиктор называет в порядке их внешнего вида в данных о предикторе (X), заданный как массив ячеек из символьных векторов формы {'x1','x2',...}. Длина PredictorNames равно количеству столбцов в X.

Типы данных: cell

Это свойство доступно только для чтения.

Имя переменной отклика, заданное как 'Y'. Поскольку RegressionKernel модели не могут быть обучены с помощью табличных данных, этим свойством всегда является 'Y'.

Типы данных: char

Функция преобразования ответа, заданная как 'none' или указатель на функцию. ResponseTransform описывает, как программное обеспечение преобразовывает необработанные значения ответа, предсказанные моделью.

Для функции MATLAB® или функции, которую вы задаете, вводят ее указатель на функцию. Например, можно ввести Mdl.ResponseTransform = @function, где function принимает числовой вектор исходных ответов и возвращает числовой вектор, одного размера содержащий преобразованные ответы.

Типы данных: char | string | function_handle

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

kfoldLossПотеря регрессии для перекрестной подтвержденной модели регрессии ядра
kfoldPredictПредскажите ответы для наблюдений в перекрестной подтвержденной модели регрессии ядра

Примеры

свернуть все

Симулируйте выборочные данные.

rng(0,'twister'); % For reproducibility
n = 1000;
x = linspace(-10,10,n)';
y = 1 + x*2e-2 + sin(x)./x + 0.2*randn(n,1);

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

CVMdl = fitrkernel(x,y,'Kfold',5);

CVMdl RegressionPartitionedKernel 5-кратная перекрестная подтвержденная модель. CVMdl.Trained содержит вектор ячейки пяти RegressionKernel модели. Отобразите обученное свойство.

CVMdl.Trained
ans=5×1 cell
    {1x1 RegressionKernel}
    {1x1 RegressionKernel}
    {1x1 RegressionKernel}
    {1x1 RegressionKernel}
    {1x1 RegressionKernel}

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

Предскажите ответы для наблюдений в сгибах валидации и оцените ошибку обобщения путем передачи CVMdl к kfoldPredict и kfoldLoss, соответственно.

yHat = kfoldPredict(CVMdl);
L = kfoldLoss(CVMdl)
L = 0.1887

kfoldLoss вычисляет среднюю среднеквадратическую ошибку для всех сгибов по умолчанию. Предполагаемая среднеквадратическая ошибка 0.1887.

Смотрите также

|

Введенный в R2018b