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: {1×32 cell} DistributionParameters: {2×32 cell} Properties, Methods
Mdl
は学習させた ClassificationNaiveBayes
分類器です。
単純ベイズ分類器のサイズを縮小します。
CMdl = compact(Mdl)
CMdl = CompactClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' DistributionNames: {1×32 cell} DistributionParameters: {2×32 cell} Properties, Methods
CMdl
は学習させた CompactClassificationNaiveBayes
分類器です。
各分類器が使用するメモリの量を表示します。
whos('Mdl','CMdl')
Name Size Bytes Class Attributes CMdl 1x1 16436 classreg.learning.classif.CompactClassificationNaiveBayes Mdl 1x1 112598 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: [90×1 double] Bias: -0.1342 KernelParameters: [1×1 struct] Mu: [0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501 0.1194 0.5118 0.1813 0.4762 0.1550 0.4008 0.0934 0.3442 0.0711 0.3819 -0.0036 0.3594 -0.0240 0.3367 0.0083 0.3625 -0.0574 0.3961 -0.0712 0.5416 -0.0695 0.3784 … ] (1×34 double) Sigma: [0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927 0.5207 0.5071 0.4839 0.5635 0.4948 0.6222 0.4949 0.6528 0.4584 0.6180 0.4968 0.6263 0.5191 0.6098 0.5182 0.6038 0.5275 0.5785 0.5085 0.5162 0.5500 0.5759 0.5080 … ] (1×34 double) BoxConstraints: [351×1 double] ConvergenceInfo: [1×1 struct] IsSupportVector: [351×1 logical] Solver: 'SMO' Properties, Methods
SVMModel
は ClassificationSVM
分類器です。
SVM 分類器のサイズを縮小します。
CompactSVMModel = compact(SVMModel)
CompactSVMModel = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' Alpha: [90×1 double] Bias: -0.1342 KernelParameters: [1×1 struct] Mu: [0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501 0.1194 0.5118 0.1813 0.4762 0.1550 0.4008 0.0934 0.3442 0.0711 0.3819 -0.0036 0.3594 -0.0240 0.3367 0.0083 0.3625 -0.0574 0.3961 -0.0712 0.5416 -0.0695 0.3784 … ] (1×34 double) Sigma: [0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927 0.5207 0.5071 0.4839 0.5635 0.4948 0.6222 0.4949 0.6528 0.4584 0.6180 0.4968 0.6263 0.5191 0.6098 0.5182 0.6038 0.5275 0.5785 0.5085 0.5162 0.5500 0.5759 0.5080 … ] (1×34 double) SupportVectors: [90×34 double] SupportVectorLabels: [90×1 double] Properties, Methods
CompactSVMModel
は CompactClassificationSVM
分類器です。
各分類器が使用するメモリの量を表示します。
whos('SVMModel','CompactSVMModel')
Name Size Bytes Class Attributes CompactSVMModel 1x1 30749 classreg.learning.classif.CompactClassificationSVM SVMModel 1x1 140279 ClassificationSVM
完全な SVM 分類器 (SVMModel
) はコンパクトな SVM 分類器 (CompactSVMModel
) に対して 4 倍以上大きくなっています。
新しい観測値のラベルを効率的に設定するため、SVMModel
を MATLAB® ワークスペースから削除し、CompactSVMModel
と新しい予測子の値を predict
に渡すことができます。
コンパクトな SVM 分類器のサイズをさらに小さくするには、関数discardSupportVectors
を使用してサポート ベクターを破棄します。
学習データを削除することにより、回帰用の完全な一般化加法モデル (GAM) のサイズを縮小します。完全なモデルには、学習データが保持されます。コンパクトなモデルを使用すると、メモリ効率を向上させることができます。
carbig
データ セットを読み込みます。
load carbig
予測子変数 (X
) として Acceleration
、Displacement
、Horsepower
および Weight
を、応答変数 (Y
) として MPG
を指定します。
X = [Acceleration,Displacement,Horsepower,Weight]; Y = MPG;
X
と Y
を使用して GAM に学習させます。
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 597222 classreg.learning.regr.CompactRegressionGAM Mdl 1x1 631046 RegressionGAM
完全なモデル (Mdl
) は、コンパクトなモデル (CMdl
) より大きくなります。
新しい観測値の応答を効率的に予測するため、Mdl
を MATLAB® ワークスペースから削除し、CMdl
と新しい予測子の値を predict
に渡すことができます。
学習データを削除することにより、完全な分位点線形回帰モデルのサイズを縮小します。完全な分位点回帰モデルには学習データが含まれています。コンパクトな分位点回帰モデルを使用すると、メモリ効率を向上させることができます。
carbig
データ セットを読み込みます。このデータ セットには、1970 年代と 1980 年代初期に製造された自動車の測定値が格納されています。予測子変数 Acceleration
、Displacement
、Horsepower
、および Weight
を格納する行列 X
を作成します。応答変数 MPG
を変数 Y
に保存します。
load carbig
X = [Acceleration,Displacement,Horsepower,Weight];
Y = MPG;
X
および Y
からいずれかの配列に欠損値がある行を削除します。
R = rmmissing([X Y]); X = R(:,1:end-1); Y = R(:,end);
分位点線形回帰モデルに学習させます。0.25
、0.50
、0.75
の分位数 (つまり、第 1 四分位数、中央値、第 3 四分位数) を使用するように指定します。モデルの当てはめを改善するために、ベータ許容誤差を既定値の 1e-4
ではなく 1e-6
に変更し、リッジ (L2) 正則化項 1
を使用します。
Mdl = fitrqlinear(X,Y,Quantiles=[0.25,0.50,0.75], ...
BetaTolerance=1e-6,Lambda=1)
Mdl = RegressionQuantileLinear ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Beta: [4×3 double] Bias: [17.0306 22.5291 29.0044] Quantiles: [0.2500 0.5000 0.7500] Properties, Methods
Mdl
は RegressionQuantileLinear
モデル オブジェクトです。
分位点回帰モデルのサイズを縮小します。
CompactMdl = compact(Mdl)
CompactMdl = CompactRegressionQuantileLinear ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Beta: [4×3 double] Bias: [17.0306 22.5291 29.0044] Quantiles: [0.2500 0.5000 0.7500] Properties, Methods
CompactMdl
は CompactRegressionQuantileLinear
モデル オブジェクトです。
各モデルが使用するメモリの量を表示します。
whos("Mdl","CompactMdl")
Name Size Bytes Class Attributes CompactMdl 1x1 4936 classreg.learning.regr.CompactRegressionQuantileLinear Mdl 1x1 26426 RegressionQuantileLinear
完全な分位点線形回帰モデル (Mdl
) はコンパクトな分位点線形回帰モデル (CompactMdl
) よりも 5 倍以上大きくなっています。
新しい観測値に対する応答を効率的に予測するため、Mdl
を MATLAB® ワークスペースから削除し、CompactMdl
と新しい予測子の値を predict
に渡すことができます。
入力引数
機械学習モデル。分類、回帰、または分位点回帰の完全なモデル オブジェクトとして指定します。サポートされるモデルは以下の表に記載されています。
分類モデル オブジェクト
モデル | 完全な分類モデル オブジェクト |
---|---|
判別分析分類器 | ClassificationDiscriminant |
サポート ベクター マシンまたはその他の分類器用のマルチクラス モデル | ClassificationECOC |
分類用のアンサンブル学習器 | ClassificationBaggedEnsemble , ClassificationEnsemble |
一般化加法モデル | ClassificationGAM |
単純ベイズ モデル | ClassificationNaiveBayes |
ニューラル ネットワーク分類器 | ClassificationNeuralNetwork |
1 クラスおよびバイナリ分類用のサポート ベクター マシン | ClassificationSVM |
マルチクラス分類用の二分決定木 | ClassificationTree |
回帰モデル オブジェクト
モデル | 完全な回帰モデル オブジェクト |
---|---|
回帰モデルのアンサンブル | RegressionBaggedEnsemble , RegressionEnsemble |
一般化加法モデル (GAM) | RegressionGAM |
ガウス過程回帰 (GPR) モデル | RegressionGP |
ニューラル ネットワーク回帰モデル | RegressionNeuralNetwork |
回帰用のサポート ベクター マシン | RegressionSVM |
回帰木 | RegressionTree |
分位点回帰モデル オブジェクト
モデル | 完全な分位点回帰モデル オブジェクト |
---|---|
分位点線形回帰モデル (R2025a 以降) | RegressionQuantileLinear |
回帰用の分位点ニューラル ネットワーク モデル (R2025a 以降) | RegressionQuantileNeuralNetwork |
出力引数
コンパクトな機械学習モデル。入力モデル Mdl
に応じて、次の表のコンパクトなモデル オブジェクトのいずれかとして返されます。
分類モデル オブジェクト
モデル | 完全なモデル (Mdl ) | コンパクトなモデル (CompactMdl ) |
---|---|---|
判別分析分類器 | ClassificationDiscriminant | CompactClassificationDiscriminant |
サポート ベクター マシンまたはその他の分類器用のマルチクラス モデル | ClassificationECOC | CompactClassificationECOC |
分類用のアンサンブル学習器 | ClassificationBaggedEnsemble , ClassificationEnsemble | CompactClassificationEnsemble |
一般化加法モデル | ClassificationGAM | CompactClassificationGAM |
単純ベイズ モデル | ClassificationNaiveBayes | CompactClassificationNaiveBayes |
ニューラル ネットワーク分類器 | ClassificationNeuralNetwork | CompactClassificationNeuralNetwork |
1 クラスおよびバイナリ分類用のサポート ベクター マシン | ClassificationSVM | CompactClassificationSVM |
マルチクラス分類用の二分決定木 | ClassificationTree | CompactClassificationTree |
回帰モデル オブジェクト
モデル | 完全なモデル (Mdl ) | コンパクトなモデル (CompactMdl ) |
---|---|---|
回帰モデルのアンサンブル | RegressionBaggedEnsemble , RegressionEnsemble | CompactRegressionEnsemble |
一般化加法モデル | RegressionGAM | CompactRegressionGAM |
ガウス過程回帰 (GPR) モデル | RegressionGP | CompactRegressionGP |
ニューラル ネットワーク回帰モデル | RegressionNeuralNetwork | CompactRegressionNeuralNetwork |
回帰用のサポート ベクター マシン | RegressionSVM | CompactRegressionSVM |
回帰木 | RegressionTree | CompactRegressionTree |
分位点回帰モデル オブジェクト
モデル | 完全なモデル (Mdl ) | コンパクトなモデル (CompactMdl ) |
---|---|---|
分位点線形回帰モデル (R2025a 以降) | RegressionQuantileLinear | CompactRegressionQuantileLinear |
回帰用の分位点ニューラル ネットワーク モデル (R2025a 以降) | RegressionQuantileNeuralNetwork | CompactRegressionQuantileNeuralNetwork |
拡張機能
使用上の注意および制限:
この関数は、
ClassificationBaggedEnsemble
、ClassificationECOC
、ClassificationEnsemble
、ClassificationNeuralNetwork
、ClassificationSVM
、またはClassificationTree
オブジェクトとして指定した学習済み分類モデルの GPU 配列を完全にサポートします。この関数は、
RegressionBaggedEnsemble
、RegressionEnsemble
、RegressionNeuralNetwork
、RegressionSVM
、またはRegressionTree
オブジェクトとして指定した学習済み回帰モデルの GPU 配列を完全にサポートします。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2011a で導入compact
オブジェクト関数を使用して、RegressionQuantileLinear
モデル オブジェクトと RegressionQuantileNeuralNetwork
モデル オブジェクトのサイズを縮小できます。関数は CompactRegressionQuantileLinear
モデル オブジェクトと CompactRegressionQuantileNeuralNetwork
モデル オブジェクトをそれぞれ返します。
compact
は、RegressionNeuralNetwork
モデルと ClassificationNeuralNetwork
モデルの GPU 配列を完全にサポートします。
compact
で RegressionSVM
モデルの GPU 配列が完全にサポートされます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)