exponenta event banner

RegressionPartitionedKernel

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

Описание

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

Каждый метод «kfold» использует модели, обученные тренировочным наблюдениям, чтобы предсказать ответ для валидационных наблюдений. Например, предположим, что выполняется перекрестная проверка с использованием пяти сгибов. В этом случае программное обеспечение случайным образом распределяет каждое наблюдение на пять групп одинакового размера (примерно). Тренировочная складка содержит четыре группы (то есть примерно 4/5 данных), а проверочная складка содержит другую группу (то есть примерно 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 элементы.

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

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

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

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

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

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

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

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

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

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

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

Имена предикторов в порядке их появления в данных предиктора, заданных как клеточный массив векторов символов. Длина PredictorNames равно количеству столбцов, используемых в качестве переменных предиктора в обучающих данных X или Tbl.

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

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

Имя ответной переменной, указанное как символьный вектор.

Типы данных: 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 array
    {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