Main Content

compact

マルチクラス誤り訂正出力符号 (ECOC) モデルのサイズを縮小

説明

CompactMdl = compact(Mdl) は、コンパクトなマルチクラス誤り訂正出力符号 (ECOC) モデル (CompactMdl) を返します。これは学習済みの ECOC モデル Mdl のコンパクトなバージョンです。CompactMdlCompactClassificationECOC オブジェクトです。

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

すべて折りたたむ

学習データを削除することにより、完全な ECOC モデルのサイズを縮小します。完全な ECOC モデル (ClassificationECOC モデル) には、学習データが保持されます。効率を向上させるため、より小さい分類器を使用します。

フィッシャーのアヤメのデータ セットを読み込みます。予測子データ X、応答データ Y、および Y 内のクラスの順序を指定します。

load fisheriris
X = meas;
Y = categorical(species);
classOrder = unique(Y);

SVM バイナリ分類器を使用して ECOC モデルを学習させます。SVM テンプレート t を使用して予測子データを標準化し、クラスの順序を指定します。学習時に、t の空のオプションについては既定値が使用されます。

t = templateSVM('Standardize',true);
Mdl = fitcecoc(X,Y,'Learners',t,'ClassNames',classOrder);

MdlClassificationECOC モデルです。

ECOC モデルのサイズを小さくします。

CompactMdl = compact(Mdl)
CompactMdl = 
  CompactClassificationECOC
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: [setosa    versicolor    virginica]
           ScoreTransform: 'none'
           BinaryLearners: {3x1 cell}
             CodingMatrix: [3x3 double]


CompactMdlCompactClassificationECOC モデルです。CompactMdl では、Mdl で保存されるすべてのプロパティが保存されるわけではありません。具体的には、学習データが保存されません。

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

whos('CompactMdl','Mdl')
  Name            Size            Bytes  Class                                                  Attributes

  CompactMdl      1x1             15792  classreg.learning.classif.CompactClassificationECOC              
  Mdl             1x1             29207  ClassificationECOC                                               

完全な ECOC モデル (Mdl) はコンパクトな ECOC モデル (CompactMdl) のほぼ 2 倍のサイズです。

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

入力引数

すべて折りたたむ

学習済みの完全なマルチクラス ECOC モデル。fitcecoc によって学習をさせた ClassificationECOC モデルを指定します。

拡張機能

バージョン履歴

R2014b で導入