exponenta event banner

crossval

Класс: RegingSVM

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

Синтаксис

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.

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

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

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

  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-by-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) в Тасмании. И. Блэклип Абалоне (Х. рубра) с Северного побережья и островов Бассова пролива ". Отдел морского рыболовства, Технический доклад № 48, 1994 год.

[2] Во, С. «Расширение и сравнительный анализ каскадной корреляции: расширение каскадно-корреляционной архитектуры и сравнительный анализ искусственных нейронных сетей, находящихся под контролем Feed-Forward». Факультет компьютерных наук Тасманийского университета, 1995 год.

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

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

Представлен в R2015b