crossval

Класс: RegressionSVM

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

Синтаксис

CVMdl = crossval(mdl)
CVMdl = crossval(mdl,Name,Value)

Описание

CVMdl = crossval(mdl) возвращает перекрестно проверенную (секционированную) машину опорных векторов, CVMdl, из обученной регрессионой модели SVM, mdl.

CVMdl = crossval(mdl,Name,Value) возвращает перекрестно проверенную модель с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

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

расширить все

Полная, обученная регрессионая модель SVM, заданная как RegressionSVM модель, возвращенная fitrsvm.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Раздел перекрестной проверки, заданный как cvpartition объект раздела, созданный cvpartition. Объект раздела задает тип перекрестной валидации и индексацию для наборов обучения и валидации.

Чтобы создать перекрестно проверенную модель, можно задать только один из следующих четырех аргументов в виде имя-значение: CVPartition, Holdout, KFold, или Leaveout.

Пример: Предположим, что вы создаете случайный разбиение для 5-кратной перекрестной валидации при 500 наблюдениях при помощи cvp = cvpartition(500,'KFold',5). Затем можно задать перекрестно проверенную модель при помощи 'CVPartition',cvp.

Доля данных, используемых для валидации удержания, заданная в виде скалярного значения в области значений (0,1). Если вы задаете 'Holdout',p, затем программное обеспечение завершает следующие шаги:

  1. Случайный выбор и резервирование p*100% данных в качестве данных валидации и train модели с использованием остальных данных.

  2. Сохраните компактную, обученную модель в Trained свойство перекрестно проверенной модели.

Чтобы создать перекрестно проверенную модель, можно задать только один из следующих четырех аргументов в виде имя-значение: CVPartition, Holdout, KFold, или Leaveout.

Пример: 'Holdout',0.1

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

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

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

  2. Для каждого набора зарезервируйте набор как данные валидации и обучите модель, используя другой k - 1 комплект.

  3. Сохраните k компактные, обученные модели в k-by-1 вектор камеры в Trained свойство перекрестно проверенной модели.

Чтобы создать перекрестно проверенную модель, можно задать только один из следующих четырех аргументов в виде имя-значение: CVPartition, Holdout, KFold, или Leaveout.

Пример: 'KFold',5

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

Выходной флаг перекрестной проверки, заданный как 'on' или 'off'. Если вы задаете 'Leaveout','on', затем для каждого из n наблюдений (где n - количество наблюдений, исключая недостающие наблюдения, заданное в NumObservations свойство модели), программное обеспечение завершает следующие шаги:

  1. Зарезервируйте одно наблюдение как данные валидации и обучите модель с помощью другого n - 1 наблюдений.

  2. Сохраните n компактные обученные модели в векторе камеры n-на-1 в Trained свойство перекрестно проверенной модели.

Чтобы создать перекрестно проверенную модель, можно задать только один из следующих четырех аргументов в виде имя-значение: CVPartition, Holdout, KFold, или Leaveout.

Пример: 'Leaveout','on'

Выходные аргументы

расширить все

Перекрестная проверенная регрессионая модель SVM, возвращенная как RegressionPartitionedSVM модель.

Примеры

расширить все

В этом примере показано, как обучить перекрестно проверенную регрессионую модель SVM с помощью crossval.

Этот пример использует данные abalone из репозитория машинного обучения UCI. Загрузите данные и сохраните их в текущей папке с именем 'abalone.data'. Считайте данные в table.

tbl = readtable('abalone.data','Filetype','text','ReadVariableNames',false);
rng default  % for reproducibility

В выборочные данные содержится 4177 наблюдений. Все переменные предиктора непрерывны, кроме sex, которая является категориальной переменной с возможными значениями 'M' (для мужчин), 'F' (для женщин), и 'I' (для младенцев). Цель состоит в том, чтобы предсказать количество звонков на абалоне и определить его возраст с помощью физических измерений.

Обучите регрессионую модель SVM, используя функцию Гауссова ядра со шкалой ядра, равной 2,2. Стандартизируйте данные.

mdl = fitrsvm(tbl,'Var9','KernelFunction','gaussian','KernelScale',2.2,'Standardize',true);

mdl является обученным RegressionSVM регрессионная модель.

Перекрестная валидация модели с помощью 10-кратной перекрестной валидации.

CVMdl = crossval(mdl)
CVMdl = 

  classreg.learning.partition.RegressionPartitionedSVM
      CrossValidatedModel: 'SVM'
           PredictorNames: {1x8 cell}
    CategoricalPredictors: 1
             ResponseName: 'Var9'
          NumObservations: 4177
                    KFold: 10
                Partition: [1x1 cvpartition]
        ResponseTransform: 'none'


  Properties, Methods

CVMdl является RegressionPartitionedSVM перекрестная проверенная регрессионная модель. Программное обеспечение:

1. Случайным образом разделяет данные на 10 наборов одинаковых размеров.

2. Обучает регрессионую модель SVM на девяти из 10 наборов.

3. Повторяет шаги 1 и 2 k = 10 раз. Каждый раз он оставляет одну из перегородок и обучается на других девяти перегородках.

4. Объединяет статистику обобщения для каждой складки.

Вычислите потери реституции для перекрестно проверенной модели.

loss = kfoldLoss(CVMdl)
loss =

    4.5712

В этом примере показано, как задать пропорцию удержания для настройки перекрестной проверенной регрессионой модели SVM.

Этот пример использует данные abalone из репозитория машинного обучения UCI. Загрузите данные и сохраните их в текущей папке с именем 'abalone.data'. Считайте данные в table.

tbl = readtable('abalone.data','Filetype','text','ReadVariableNames',false);
rng default  % for reproducibility

В выборочные данные содержится 4177 наблюдений. Все переменные предиктора непрерывны, кроме sex, которая является категориальной переменной с возможными значениями 'M' (для мужчин), 'F' (для женщин), и 'I' (для младенцев). Цель состоит в том, чтобы предсказать количество звонков на абалоне и определить его возраст с помощью физических измерений.

Обучите регрессионую модель SVM, используя функцию Гауссова ядра с автоматической шкалой ядра. Стандартизируйте данные.

mdl = fitrsvm(tbl,'Var9','KernelFunction','gaussian','KernelScale','auto','Standardize',true);

mdl является обученным RegressionSVM регрессионная модель.

Перекрестная проверка регрессионной модели путем определения 10% -ной выборки удержания.

CVMdl = crossval(mdl,'Holdout',0.1)
CVMdl = 

  classreg.learning.partition.RegressionPartitionedSVM
      CrossValidatedModel: 'SVM'
           PredictorNames: {1x8 cell}
    CategoricalPredictors: 1
             ResponseName: 'Var9'
          NumObservations: 4177
                    KFold: 1
                Partition: [1x1 cvpartition]
        ResponseTransform: 'none'


  Properties, Methods

CVMdl является RegressionPartitionedSVM объект модели.

Вычислите потери реституции для перекрестно проверенной модели.

loss = kfoldLoss(CVMdl)
loss =

    5.2499

Альтернативы

Вместо того, чтобы обучать регрессионую модель SVM и затем проводить ее перекрестную валидацию, можно создать перекрестно проверенную модель непосредственно при помощи fitrsvm и определение любого из этих аргументов пары "имя-значение": 'CrossVal', 'CVPartition', 'Holdout', 'Leaveout', или 'KFold'.

Ссылки

[1] Нэш, У. Дж., Т. Л. Селлерс, С. Р. Тальбот, А. Дж. Коуторн и У. Б. Форд. "Популяционная биология Абалоне (виды Haliotis) в Тасмании. I. Blacklip Abalone (H. rubra) с Северного побережья и островов пролива Басс ". Деление морского рыболовства, технический доклад № 48, 1994 год.

[2] Waugh, S. «Extending and Benchmarking Cascade-Correlation: Extensions to the Cascade-Correlation Architecture and Benchmarking of Feed-Forward Supervied Neural Networds». Тасманийский университет, кафедра компьютерных наук, 1995 год.

[3] Кларк, Д., З. Шретер, А. Адамс. «A Quantitative Comparison of Dystal and Backpropagation». представлено на Австралийской конференции по нейронным сетям, 1996.

[4] Лихман, M. UCI Machine Learning Repository, [http://archive.ics.uci.edu/ml]. Ирвин, Калифорнийский университет, Школа информации и компьютерных наук.

Введенный в R2015b