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. Расширяя и Каскадная Корреляция сравнительного тестирования, кандидатская диссертация, Кафедра информатики, Университет Тасмании, 1995.

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

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

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

| | |

Введенный в R2015b