Main Content

compact

決定木のコンパクトなアンサンブル

説明

CMdl = compact(Mdl) は、TreeBagger モデル オブジェクト Mdl のコンパクトなバージョンを作成します。Mdl を使用する場合と同じように、CMdl を使用しても正確に回帰を予測できます。ただし、CMdl には学習データが含まれていないので、oobPredict を使用する out-of-bag 予測など一部の処理を実行することはできません。

入力引数

Mdl

TreeBagger で作成されたアンサンブル回帰。

出力引数

CMdl

コンパクトなアンサンブル回帰。CMdl のクラスは CompactTreeBagger です。

すべて展開する

学習データと学習パラメーターを削除することにより、バギング分類木の完全なアンサンブルのサイズを縮小します。その後、コンパクトなアンサンブル オブジェクトを使用して、新しいデータで予測を行います。コンパクトなアンサンブルを使用するとメモリ効率が向上します。

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

load ionosphere

再現性を得るため、乱数発生器を default に設定します。

rng("default")

データ セット全体を使用して、100 本のバギング分類木のアンサンブルに学習をさせます。既定の設定では、TreeBagger は木を深く成長させます。

Mdl = TreeBagger(100,X,Y,...
    Method="classification");

Mdl は分類木の TreeBagger アンサンブルです。

コンパクトなバージョンの Mdl を作成します。

CMdl = compact(Mdl)
CMdl = 
  CompactTreeBagger
Ensemble with 100 bagged decision trees:
              Method:       classification
       NumPredictors:                   34
          ClassNames: 'b' 'g'

CMdl は分類木の CompactTreeBagger アンサンブルです。

各アンサンブルが使用するメモリの量を表示します。

whos("Mdl","CMdl")
  Name      Size              Bytes  Class                Attributes

  CMdl      1x1              963112  CompactTreeBagger              
  Mdl       1x1             1107399  TreeBagger                     

MdlCMdl より多くの領域を使用します。

CMdl.Trees プロパティは、アンサンブルの学習済み分類木を格納する 100 行 1 列の cell ベクトルです。それぞれの木は CompactClassificationTree オブジェクトです。最初の学習済み分類木をグラフィックで表示します。

view(CMdl.Trees{1},Mode="graph");

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 60 objects of type line, text. One or more of the lines displays its values using only markers

コンパクトなアンサンブルを使用して、X の平均のラベルを予測します。

predMeanX = predict(CMdl,mean(X))
predMeanX = 1x1 cell array
    {'g'}