Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

compact

機械学習モデルのサイズの縮小

    説明

    CompactMdl = compact(Mdl) は、コンパクトなモデル (CompactMdl) を返します。これは学習済みの機械学習モデル Mdl のコンパクトなバージョンです。

    CompactMdl には学習データが含まれませんが、Mdl では X および Y プロパティに学習データが含まれています。したがって、CompactMdl を使用してクラス ラベルを予測することはできますが、コンパクトなモデルで交差検証などのタスクは実行できません。

    すべて折りたたむ

    学習データを削除することにより、完全な単純ベイズ分類器のサイズを縮小します。完全な単純ベイズ分類器は学習データを保持しています。コンパクトな単純ベイズ分類器を使用すると、メモリ効率を向上させることができます。

    ionosphere データセットを読み込みます。安定させるため、最初の 2 つの予測子を削除します。

    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             111174  ClassificationNaiveBayes                                               
    

    完全な単純ベイズ分類器 (Mdl) はコンパクトな単純ベイズ分類器 (CMdl) よりも 7 倍以上サイズが大きくなります。

    新しい観測値のラベルを効率的に設定するため、Mdl を MATLAB® ワークスペースから削除し、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: [1x34 double]
                        Sigma: [1x34 double]
               BoxConstraints: [351x1 double]
              ConvergenceInfo: [1x1 struct]
              IsSupportVector: [351x1 logical]
                       Solver: 'SMO'
    
    
      Properties, Methods
    
    

    SVMModelClassificationSVM 分類器です。

    SVM 分類器のサイズを縮小します。

    CompactSVMModel = compact(SVMModel)
    CompactSVMModel = 
      CompactClassificationSVM
                 ResponseName: 'Y'
        CategoricalPredictors: []
                   ClassNames: {'b'  'g'}
               ScoreTransform: 'none'
                        Alpha: [90x1 double]
                         Bias: -0.1343
             KernelParameters: [1x1 struct]
                           Mu: [1x34 double]
                        Sigma: [1x34 double]
               SupportVectors: [90x34 double]
          SupportVectorLabels: [90x1 double]
    
    
      Properties, Methods
    
    

    CompactSVMModelCompactClassificationSVM 分類器です。

    各分類器が使用するメモリの量を表示します。

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

    完全な SVM 分類器 (SVMModel) はコンパクトな SVM 分類器 (CompactSVMModel) に対して 4 倍以上大きくなっています。

    新しい観測値のラベルを効率的に設定するため、SVMModel を MATLAB® ワークスペースから削除し、CompactSVMModel と新しい予測子の値を predict に渡すことができます。

    コンパクトな SVM 分類器のサイズをさらに小さくするには、関数discardSupportVectorsを使用してサポート ベクターを破棄します。

    学習データを削除することにより、回帰用の完全な一般化加法モデル (GAM) のサイズを縮小します。完全なモデルには、学習データが保持されます。コンパクトなモデルを使用すると、メモリ効率を向上させることができます。

    carbig データセットを読み込みます。

    load carbig

    予測子変数 (X) として AccelerationDisplacementHorsepower および Weight を、応答変数 (Y) として MPG を指定します。

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

    XY を使用して GAM に学習させます。

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

    MdlRegressionGAM モデル オブジェクトです。

    モデルのサイズを縮小します。

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

    CMdlCompactRegressionGAM モデル オブジェクトです。

    各回帰モデルが使用するメモリの量を表示します。

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

    完全なモデル (Mdl) は、コンパクトなモデル (CMdl) より大きくなります。

    新しい観測値の応答を効率的に予測するため、Mdl を MATLAB® ワークスペースから削除し、CMdl と新しい予測子の値を predict に渡すことができます。

    入力引数

    すべて折りたたむ

    機械学習モデル。完全な回帰または分類モデル オブジェクトとして指定します。サポートされるモデルは次の表に記載されています。

    回帰モデル オブジェクト

    モデル完全な回帰モデル オブジェクト
    一般化加法モデルRegressionGAM
    ニューラル ネットワーク モデルRegressionNeuralNetwork

    分類モデル オブジェクト

    モデル完全な分類モデル オブジェクト
    一般化加法モデルClassificationGAM
    単純ベイズ モデルClassificationNaiveBayes
    ニューラル ネットワーク モデルClassificationNeuralNetwork
    1 クラスおよびバイナリ分類用のサポート ベクター マシンClassificationSVM

    出力引数

    すべて折りたたむ

    コンパクトな機械学習モデル。入力モデル Mdl に応じて、次の表のコンパクトなモデル オブジェクトのいずれかとして返されます。

    回帰モデル オブジェクト

    モデル完全なモデル (Mdl)コンパクトなモデル (CompactMdl)
    一般化加法モデルRegressionGAMCompactRegressionGAM
    ニューラル ネットワーク モデルRegressionNeuralNetworkCompactRegressionNeuralNetwork

    分類モデル オブジェクト

    モデル完全なモデル (Mdl)コンパクトなモデル (CompactMdl)
    一般化加法モデルClassificationGAMCompactClassificationGAM
    単純ベイズ モデルClassificationNaiveBayesCompactClassificationNaiveBayes
    ニューラル ネットワーク モデルClassificationNeuralNetworkCompactClassificationNeuralNetwork
    1 クラスおよびバイナリ分類用のサポート ベクター マシンClassificationSVMCompactClassificationSVM

    R2014a で導入