RegressionPartitionedSVM

Пакет: classreg.learning.partition
Суперклассы: RegressionPartitionedModel

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

Описание

RegressionPartitionedSVM набор моделей регрессии машины опорных векторов (SVM), обученных на перекрестных подтвержденных сгибах.

Конструкция

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

CVMdl = crossval(mdl,Name,Value) возвращает перекрестную подтвержденную модель с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Name может также быть имя свойства и Value соответствующее значение. Name должен появиться в одинарных кавычках (''). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

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

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

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

Свойства

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

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

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

Имя перекрестной подтвержденной модели, сохраненной как вектор символов.

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

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

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

Параметры перекрестной проверки, сохраненные как объект.

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

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

Раздел данных для перекрестной проверки, сохраненной как cvpartition объект.

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

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

Имя переменной отклика, сохраненное как вектор символов.

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

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

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

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

Обученные, компактные модели регрессии, сохраненные как массив ячеек CompactRegressionSVM модели.

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

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

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

Значения предиктора раньше обучали модель, сохраненную как матрица числовых значений, если модель обучена на матрице или таблице, если модель обучена на таблице. X имеет размер n-by-p, где n является количеством строк, и p является количеством переменных предикторов или столбцов в обучающих данных.

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

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

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

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

Методы

Унаследованные методы

kfoldLossПотеря перекрестной проверки разделенной модели регрессии
kfoldPredictПредскажите ответ для наблюдений, не используемых для обучения
kfoldfunКрест подтверждает функцию

Примеры

свернуть все

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

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

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

Выборочные данные содержат 4 177 наблюдений. Все переменные предикторы непрерывны за исключением 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. Случайным образом делит данные в десять одинаково измеренных наборов.

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

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

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

Отобразите первую из 10 обученных моделей.

FirstModel = CVMdl.Trained{1}
FirstModel = 

  classreg.learning.regr.CompactRegressionSVM
       PredictorNames: {1x8 cell}
         ResponseName: 'Var9'
    ResponseTransform: 'none'
                Alpha: [3553x1 double]
                 Bias: 11.0623
     KernelParameters: [1x1 struct]
                   Mu: [0 0 0 0.5242 0.4080 0.1393 0.8300 0.3599 0.1811 0.2392]
                Sigma: [1 1 1 0.1205 0.0995 0.0392 0.4907 0.2217 0.1103 0.1392]
       SupportVectors: [3553x10 double]


  Properties, Methods

FirstModel является первым из 10, обученных CompactRegressionSVM модели.

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

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

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

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

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

mdl = fitrsvm(tbl,'Var9','KernelFunction','gaussian','KernelScale',2.2,'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 объект модели.

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

CVMdl.Trained{1}
TrainedModel = 

  classreg.learning.regr.CompactRegressionSVM
       PredictorNames: {1x8 cell}
         ResponseName: 'Var9'
    ResponseTransform: 'none'
                Alpha: [3530x1 double]
                 Bias: 11.2646
     KernelParameters: [1x1 struct]
                   Mu: [0 0 0 0.5244 0.4080 0.1393 0.8282 0.3595 0.1805 0.2386]
                Sigma: [1 1 1 0.1198 0.0989 0.0388 0.4891 0.2218 0.1093 0.1390]
       SupportVectors: [3530x10 double]


  Properties, Methods

TrainedModel CompactRegressionSVM модель регрессии, которая была обучена с помощью 90% данных.

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

Можно создать RegressionPartitionedSVM модель с помощью следующих методов:

  • Используйте учебную функцию fitrsvm и задайте один из 'CrossVal', 'Holdout', 'KFold', или 'Leaveout' пары "имя-значение".

  • Обучите использование модели fitrsvm, затем крест подтверждает модель с помощью crossval метод.

  • Создайте использование раздела перекрестной проверки cvpartition, затем передайте получившийся объект раздела fitrsvm во время обучения с помощью 'CVPartition' пара "имя-значение".

Ссылки

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

[2] Во, S. Расширяя и Каскадная Корреляция сравнительного тестирования, Ph.D. тезис, Кафедра информатики, Университет Тасмании, 1995.

[3] Кларк, D., З. Шретер, А. Адамс. Количественное Сравнение Dystal и Backpropagation, представленного австралийской Конференции по Нейронным сетям, 1996.

[4] Личмен, M. Репозиторий Машинного обучения UCI, [http://archive.ics.uci.edu/ml]. Ирвин, CA: Калифорнийский университет, Школа Информатики и вычислительной техники.

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

| | |

Введенный в R2015b