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 элементы.

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

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

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

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

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

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

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

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

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

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