このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
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 111190 ClassificationNaiveBayes
完全な単純ベイズ分類器 (Mdl
) はコンパクトな単純ベイズ分類器 (CMdl
) よりも 7 倍以上サイズが大きくなります。
新しい観測値のラベルを効率的に設定するため、Mdl
を MATLAB® ワークスペースから削除し、CMdl
と新しい予測子の値をpredict
に渡すことができます。
SVM 分類器のサイズの縮小
学習データを削除することにより、完全なサポート ベクター マシン (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 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 -0.0279 0.3525 ... ] 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 0.5715 0.5136 ... ] 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 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 -0.0279 0.3525 ... ] 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 0.5715 0.5136 ... ] 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
) に対して 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 578163 classreg.learning.regr.CompactRegressionGAM Mdl 1x1 611957 RegressionGAM
完全なモデル (Mdl
) は、コンパクトなモデル (CMdl
) より大きくなります。
新しい観測値の応答を効率的に予測するため、Mdl
を MATLAB® ワークスペースから削除し、CMdl
と新しい予測子の値を predict
に渡すことができます。
入力引数
Mdl
— 機械学習モデル
完全な回帰モデル オブジェクト | 完全な分類モデル オブジェクト
機械学習モデル。完全な回帰または分類モデル オブジェクトとして指定します。サポートされるモデルは次の表に記載されています。
回帰モデル オブジェクト
モデル | 完全な回帰モデル オブジェクト |
---|---|
ガウス過程回帰 (GPR) モデル | RegressionGP |
一般化加法モデル (GAM) | RegressionGAM |
ニューラル ネットワーク モデル | RegressionNeuralNetwork |
分類モデル オブジェクト
モデル | 完全な分類モデル オブジェクト |
---|---|
一般化加法モデル | ClassificationGAM |
単純ベイズ モデル | ClassificationNaiveBayes |
ニューラル ネットワーク モデル | ClassificationNeuralNetwork |
1 クラスおよびバイナリ分類用のサポート ベクター マシン | ClassificationSVM |
出力引数
CompactMdl
— コンパクトな機械学習モデル
コンパクトな回帰モデル オブジェクト | コンパクトな分類モデル オブジェクト
コンパクトな機械学習モデル。入力モデル Mdl
に応じて、次の表のコンパクトなモデル オブジェクトのいずれかとして返されます。
回帰モデル オブジェクト
モデル | 完全なモデル (Mdl ) | コンパクトなモデル (CompactMdl ) |
---|---|---|
ガウス過程回帰 (GPR) モデル | RegressionGP | CompactRegressionGP |
一般化加法モデル | RegressionGAM | CompactRegressionGAM |
ニューラル ネットワーク モデル | RegressionNeuralNetwork | CompactRegressionNeuralNetwork |
分類モデル オブジェクト
モデル | 完全なモデル (Mdl ) | コンパクトなモデル (CompactMdl ) |
---|---|---|
一般化加法モデル | ClassificationGAM | CompactClassificationGAM |
単純ベイズ モデル | ClassificationNaiveBayes | CompactClassificationNaiveBayes |
ニューラル ネットワーク モデル | ClassificationNeuralNetwork | CompactClassificationNeuralNetwork |
1 クラスおよびバイナリ分類用のサポート ベクター マシン | ClassificationSVM | CompactClassificationSVM |
拡張機能
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
この関数は、
ClassificationSVM
オブジェクトとして指定した学習済み分類モデルの GPU 配列を完全にサポートします。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2014a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)