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 15508 classreg.learning.classif.CompactClassificationNaiveBayes Mdl 1x1 111654 ClassificationNaiveBayes
完全な単純ベイズ分類器 (Mdl) はコンパクトな単純ベイズ分類器 (CMdl) よりも 7 倍以上サイズが大きくなります。
新しい観測値のラベルを効率的に設定するため、Mdl を MATLAB® ワークスペースから削除し、CMdl と新しい予測子の値をpredictに渡すことができます。
学習データを削除することにより、完全なサポート ベクター マシン (SVM) 分類器のサイズを縮小します。完全な SVM 分類器 (つまり、ClassificationSVM 分類器) には学習データが格納されます。効率を向上させるため、より小さい分類器を使用します。
ionosphere データ セットを読み込みます。
load ionosphereSVM 分類器を学習させます。予測子データを標準化し、クラスの順序を指定します。
SVMModel = fitcsvm(X,Y,'Standardize',true,... 'ClassNames',{'b','g'})
SVMModel =
ClassificationSVM
ResponseName: 'Y'
CategoricalPredictors: []
ClassNames: {'b' 'g'}
ScoreTransform: 'none'
NumObservations: 351
Alpha: [89×1 double]
Bias: -0.1341
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: [89×1 double]
Bias: -0.1341
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: [89×34 double]
SupportVectorLabels: [89×1 double]
Properties, Methods
CompactSVMModel は CompactClassificationSVM 分類器です。
各分類器が使用するメモリの量を表示します。
whos('SVMModel','CompactSVMModel')
Name Size Bytes Class Attributes CompactSVMModel 1x1 30271 classreg.learning.classif.CompactClassificationSVM SVMModel 1x1 139561 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 587518 classreg.learning.regr.CompactRegressionGAM Mdl 1x1 621294 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 4696 classreg.learning.regr.CompactRegressionQuantileLinear Mdl 1x1 26069 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、RegressionGP、RegressionNeuralNetwork、RegressionSVM、またはRegressionTreeオブジェクトとして指定した学習済み回帰モデルの GPU 配列を完全にサポートします。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2011a で導入compact で RegressionGP モデル オブジェクトの GPU 配列が完全にサポートされます。
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)