compact

Класс: RegressionSVM

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

Синтаксис

compactMdl = compact(mdl)

Описание

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

compactMdl не содержит обучающие данные, тогда как mdl содержит обучающие данные в его свойствах mdl.X и mdl.Y.

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

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

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

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

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

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

Предскажите значения отклика с помощью compactMdl точно так же, как вы были бы с помощью mdl. Однако начиная с compactMdl не содержит обучающие данные, вы не можете выполнить определенные задачи, такие как перекрестная проверка.

Примеры

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

То В этом примере показано, как уменьшать размер полного, обучило модель регрессии SVM путем отбрасывания обучающих данных и некоторой информации, связанной с учебным процессом.

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

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

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

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

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

  RegressionSVM
           PredictorNames: {1x8 cell}
             ResponseName: 'Var9'
    CategoricalPredictors: 1
        ResponseTransform: 'none'
                    Alpha: [3635x1 double]
                     Bias: 10.8144
         KernelParameters: [1x1 struct]
                       Mu: [1x10 double]
                    Sigma: [1x10 double]
          NumObservations: 4177
           BoxConstraints: [4177x1 double]
          ConvergenceInfo: [1x1 struct]
          IsSupportVector: [4177x1 logical]
                   Solver: 'SMO'


  Properties, Methods

Уплотните модель.

compactMdl = compact(mdl)
compactMdl = 

  classreg.learning.regr.CompactRegressionSVM
           PredictorNames: {1x8 cell}
             ResponseName: 'Var9'
    CategoricalPredictors: 1
        ResponseTransform: 'none'
                    Alpha: [3635x1 double]
                     Bias: 10.8144
         KernelParameters: [1x1 struct]
                       Mu: [1x10 double]
                    Sigma: [1x10 double]
           SupportVectors: [3635x10 double]


  Properties, Methods

Уплотненная модель отбрасывает обучающие данные и некоторую информацию, связанную с учебным процессом.

Сравните размер полной модели mdl и компактная модель compactMdl.

vars = whos('compactMdl','mdl');
[vars(1).bytes,vars(2).bytes]
ans =

      323793      775968

Уплотненная модель использует приблизительно половину памяти о полной модели.

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

Загрузите carsmall выборочные данные.

load carsmall
rng default  % for reproducibility

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

mdl = fitrsvm(Weight,MPG,'Standardize',true);

Обратите внимание на то, что MPG содержит несколько NaN значения. Когда обучение модель, fitrsvm удалит строки, которые содержат NaN значения и от предиктора и от данных об ответе. В результате обученная модель использует только 94 из 100 общих наблюдений, содержавшихся в выборочных данных.

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

compactMdl = compact(mdl);

compactMdl CompactRegressionSVM модель, которая имеет те же параметры, векторы поддержки и связанные оценки как mdl, но больше не хранит обучающие данные.

Отбросьте векторы поддержки и связанные оценки для уплотненной модели.

mdlOut = discardSupportVectors(compactMdl);

mdlOut CompactRegressionSVM модель, которая имеет те же параметры как mdl и compactMdl, но больше не хранит векторы поддержки и связанные оценки.

Сравните размеры трех моделей регрессии SVM, compactMdl, mdl, и mdlOut.

vars = whos('compactMdl','mdl','mdlOut');
[vars(1).bytes,vars(2).bytes,vars(3).bytes]
ans =

        3601       13727        2305

Уплотненная модель compactMdl использует 3 601 байт памяти, в то время как полная модель mdl использует 13 727 байтов памяти. Модель mdlOut, то, которое также отбрасывает векторы поддержки, использует 2 305 байтов памяти.

Ссылки

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

[2] Во, S. "Расширяя и Тестируя Каскадной Корреляции в сравнении с эталоном: Расширения Архитектуры Каскадной Корреляции и Сравнительное тестирование Feedforward Контролируемые Искусственные Нейронные сети". Университет тезиса Факультета информатики Тасмании, 1995.

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

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

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

| |

Введенный в R2015b