Main Content

compact

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

    説明

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

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

    すべて折りたたむ

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

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

    loadionosphereX = 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) よりも 7 倍以上サイズが大きくなります。

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

    学習データを削除することにより、完全なサポート ベクター マシン (SVM) 分類器のサイズを縮小します。完全な SVM 分類器 (つまり、ClassificationSVM分類器) には学習データが格納されます。効率を向上させるため、より小さい分類器を使用します。

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

    loadionosphere

    SVM 分類器を学習させます。予測子データを標準化し、クラスの順序を指定します。

    SVMModel = fitcsvm(X,Y,'Standardize',true,...'ClassNames',{'b','g'})
    SVMModel = ClassificationSVM ResponseName:“Y”的猫egoricalPredictors: [] 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

    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: [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

    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データセットを読み込みます。

    loadcarbig

    予測子変数 (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 IsStandardDeviationFit: 0 NumObservations: 398 Properties, Methods

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

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

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

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

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

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

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

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

    入力引数

    すべて折りたたむ

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

    回帰モデル オブジェクト

    モデル 完全な回帰モデル オブジェクト
    ガウス過程回帰 (GPR) モデル RegressionGP
    一般化加法モデル (GAM) RegressionGAM
    ニューラル ネットワーク モデル RegressionNeuralNetwork

    分類モデル オブジェクト

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

    出力引数

    すべて折りたたむ

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

    回帰モデル オブジェクト

    モデル 完全なモデル (Mdl) コンパクトなモデル (CompactMdl)
    ガウス過程回帰 (GPR) モデル RegressionGP CompactRegressionGP
    一般化加法モデル RegressionGAM CompactRegressionGAM
    ニューラル ネットワーク モデル RegressionNeuralNetwork CompactRegressionNeuralNetwork

    分類モデル オブジェクト

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

    バージョン履歴

    R2014a で導入