compact

Уменьшайте размер модели машинного обучения

    Синтаксис

    Описание

    пример

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

    CompactMdl не содержит обучающие данные, тогда как Mdl содержит обучающие данные в его X и Y свойства. Поэтому несмотря на то, что можно предсказать метки класса с помощью CompactMdl, вы не можете выполнить задачи, такие как перекрестная проверка с компактной моделью.

    Примеры

    свернуть все

    Уменьшайте размер полного наивного классификатора Байеса путем удаления обучающих данных. Полные наивные классификаторы Байеса содержат обучающие данные. Можно использовать компактный наивный классификатор Байеса, чтобы повысить эффективность памяти.

    Загрузите ionosphere набор данных. Удалите первые два предиктора для устойчивости.

    load ionosphere
    X = X(:,3:end);

    Обучите наивный классификатор Байеса с помощью предикторов X и класс маркирует Y. Методические рекомендации должны задать имена классов. fitcnb принимает, что каждый предиктор условно и нормально распределен.

    Mdl = fitcnb(X,Y,'ClassNames',{'b','g'})
    Mdl = 
      ClassificationNaiveBayes
                  ResponseName: 'Y'
         CategoricalPredictors: []
                    ClassNames: {'b'  'g'}
                ScoreTransform: 'none'
               NumObservations: 351
             DistributionNames: {1x32 cell}
        DistributionParameters: {2x32 cell}
    
    
      Properties, Methods
    
    

    Mdl обученный ClassificationNaiveBayes классификатор.

    Уменьшайте размер наивного классификатора Байеса.

    CMdl = compact(Mdl)
    CMdl = 
      CompactClassificationNaiveBayes
                  ResponseName: 'Y'
         CategoricalPredictors: []
                    ClassNames: {'b'  'g'}
                ScoreTransform: 'none'
             DistributionNames: {1x32 cell}
        DistributionParameters: {2x32 cell}
    
    
      Properties, Methods
    
    

    CMdl обученный CompactClassificationNaiveBayes классификатор.

    Отобразите объем памяти, используемый каждым классификатором.

    whos('Mdl','CMdl')
      Name      Size             Bytes  Class                                                        Attributes
    
      CMdl      1x1              15060  classreg.learning.classif.CompactClassificationNaiveBayes              
      Mdl       1x1             111190  ClassificationNaiveBayes                                               
    

    Полный наивный классификатор Байеса (Mdl) больше чем в семь раз больше, чем компактный наивный классификатор Байеса (CMdl).

    Чтобы пометить новые наблюдения эффективно, можно удалить Mdl от MATLAB® Workspace, и затем передают CMdl и новые значения предиктора к predict.

    Уменьшайте размер машины вектора полной поддержки (SVM) классификатор путем удаления обучающих данных. Полные классификаторы SVM (то есть, ClassificationSVM классификаторы), содержат обучающие данные. Чтобы повысить эффективность, используйте меньший классификатор.

    Загрузите ionosphere набор данных.

    load ionosphere

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

    SVMModel = fitcsvm(X,Y,'Standardize',true,...
        'ClassNames',{'b','g'})
    SVMModel = 
      ClassificationSVM
                 ResponseName: 'Y'
        CategoricalPredictors: []
                   ClassNames: {'b'  'g'}
               ScoreTransform: 'none'
              NumObservations: 351
                        Alpha: [90x1 double]
                         Bias: -0.1343
             KernelParameters: [1x1 struct]
                           Mu: [0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501 ... ]
                        Sigma: [0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927 ... ]
               BoxConstraints: [351x1 double]
              ConvergenceInfo: [1x1 struct]
              IsSupportVector: [351x1 logical]
                       Solver: 'SMO'
    
    
      Properties, Methods
    
    

    SVMModel ClassificationSVM классификатор.

    Уменьшайте размер классификатора SVM.

    CompactSVMModel = compact(SVMModel)
    CompactSVMModel = 
      CompactClassificationSVM
                 ResponseName: 'Y'
        CategoricalPredictors: []
                   ClassNames: {'b'  'g'}
               ScoreTransform: 'none'
                        Alpha: [90x1 double]
                         Bias: -0.1343
             KernelParameters: [1x1 struct]
                           Mu: [0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501 ... ]
                        Sigma: [0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927 ... ]
               SupportVectors: [90x34 double]
          SupportVectorLabels: [90x1 double]
    
    
      Properties, Methods
    
    

    CompactSVMModel CompactClassificationSVM классификатор.

    Отобразите объем памяти, используемый каждым классификатором.

    whos('SVMModel','CompactSVMModel')
      Name                 Size             Bytes  Class                                                 Attributes
    
      CompactSVMModel      1x1              31058  classreg.learning.classif.CompactClassificationSVM              
      SVMModel             1x1             141148  ClassificationSVM                                               
    

    Полный классификатор SVM (SVMModel) больше чем в четыре раза больше, чем компактный классификатор SVM (CompactSVMModel).

    Чтобы пометить новые наблюдения эффективно, можно удалить SVMModel от MATLAB® Workspace, и затем передают CompactSVMModel и новые значения предиктора к predict.

    Чтобы далее уменьшать размер компактного классификатора SVM, используйте discardSupportVectors функционируйте, чтобы отбросить векторы поддержки.

    Уменьшайте размер полной обобщенной аддитивной модели (GAM) для регрессии путем удаления обучающих данных. Полные модели содержат обучающие данные. Можно использовать компактную модель, чтобы повысить эффективность памяти.

    Загрузите carbig набор данных.

    load carbig

    Задайте Acceleration, Displacement, Horsepower, и Weight как переменные предикторы (X) и MPG как переменная отклика (Y).

    X = [Acceleration,Displacement,Horsepower,Weight];
    Y = MPG;

    Обучите GAM с помощью X и Y.

    Mdl = fitrgam(X,Y)
    Mdl = 
      RegressionGAM
                  ResponseName: 'Y'
         CategoricalPredictors: []
             ResponseTransform: 'none'
                     Intercept: 26.9442
        IsStandardDeviationFit: 0
               NumObservations: 398
    
    
      Properties, Methods
    
    

    Mdl RegressionGAM объект модели.

    Уменьшайте размер модели.

    CMdl = compact(Mdl)
    CMdl = 
      CompactRegressionGAM
                  ResponseName: 'Y'
         CategoricalPredictors: []
             ResponseTransform: 'none'
                     Intercept: 26.9442
        IsStandardDeviationFit: 0
    
    
      Properties, Methods
    
    

    CMdl CompactRegressionGAM объект модели.

    Отобразите объем памяти, используемый каждой моделью регрессии.

    whos('Mdl','CMdl')
      Name      Size             Bytes  Class                                          Attributes
    
      CMdl      1x1             578163  classreg.learning.regr.CompactRegressionGAM              
      Mdl       1x1             611957  RegressionGAM                                            
    

    Полная модель (Mdl) больше, чем компактная модель (CMdl).

    Чтобы эффективно предсказать ответы для новых наблюдений, можно удалить Mdl от MATLAB® Workspace, и затем передают CMdl и новые значения предиктора к predict.

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

    свернуть все

    Модель машинного обучения в виде полной регрессии или объекта модели классификации, как дали в следующих таблицах поддерживаемых моделей.

    Объект модели регрессии

    МодельПолный объект модели регрессии
    Модель Gaussian process regression (GPR)RegressionGP
    Обобщенная аддитивная модель (GAM)RegressionGAM
    Модель нейронной сетиRegressionNeuralNetwork

    Объект модели классификации

    МодельПолный объект модели классификации
    Обобщенная аддитивная модельClassificationGAM
    Наивная модель BayesClassificationNaiveBayes
    Модель нейронной сетиClassificationNeuralNetwork
    Машина опорных векторов для и бинарной классификации одного классаClassificationSVM

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

    свернуть все

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

    Объект модели регрессии

    МодельПолная модель (Mdl)Компактная модель (CompactMdl)
    Модель Gaussian process regression (GPR)RegressionGPCompactRegressionGP
    Обобщенная аддитивная модельRegressionGAMCompactRegressionGAM
    Модель нейронной сетиRegressionNeuralNetworkCompactRegressionNeuralNetwork

    Объект модели классификации

    МодельПолная модель (Mdl)Компактная модель (CompactMdl)
    Обобщенная аддитивная модельClassificationGAMCompactClassificationGAM
    Наивная модель BayesClassificationNaiveBayesCompactClassificationNaiveBayes
    Модель нейронной сетиClassificationNeuralNetworkCompactClassificationNeuralNetwork
    Машина опорных векторов для и бинарной классификации одного классаClassificationSVMCompactClassificationSVM

    Введенный в R2014a