компактный

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

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

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

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

| |

Введенный в R2015b

Для просмотра документации необходимо авторизоваться на сайте