RegressionPartitionedSVM

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

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

Описание

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

Конструкция

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

CVMdl = crossval(mdl,Name,Value) возвращает перекрестную подтвержденную модель с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value. Name может также быть именем свойства, и Value является соответствующим значением. Имя должно находиться внутри одинарных кавычек (' '). Можно задать несколько аргументов пары "имя-значение" в любом порядке как 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