ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

CompactTreeBagger クラス

バギングにより成長させた決定木のコンパクトなアンサンブル

説明

CompactTreeBaggerTreeBagger を使用して成長させたツリーを含む軽量のクラスです。CompactTreeBagger は、TreeBagger が決定木をどのようにして成長させたかに関する情報を保持しません。また、ツリーの成長に使用した入力データや、最小の葉のサイズ、ランダムな決定分岐用にサンプリングした変数の数などの学習パラメーターも含みません。CompactTreeBagger は、新しいデータ X とその他の関連する関数を与えて、学習されたアンサンブルの応答を予測するためにだけ使用できます。

CompactTreeBagger では学習済みのアンサンブルをディスクに保存したり、その他の方法で使用したりすることはできますが、完全に成長したアンサンブルに対する応答の予測には関係ない学習構成のさまざまなパラメーターと学習データは破棄されます。これにより、特に大きなデータセットで学習をしたアンサンブルの場合は、ストレージ要件およびメモリ要件が減少します。

構築

CompactTreeBaggerCompactTreeBagger オブジェクトの作成

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

メソッド

combine2 つのアンサンブルの組み合わせ
error誤差 (誤分類の確率または MSE)
margin分類マージン
mdsprox近接行列の多次元尺度構成法
meanMargin平均分類マージン
outlierMeasureデータに対する外れ値の尺度
predictバギングされた決定木のアンサンブルの使用による応答の予測
proximityデータの近接行列
setDefaultYfitpredict の既定値の設定

プロパティ

ClassNames

ClassNames プロパティは TreeBagger に与える応答変数 Y 用のクラス名を含む cell 配列です。回帰木の場合、このプロパティは空です。

DefaultYfit

たとえば、'useifort' 引数によって提供された行列に false 値のみを含む観測について、predict メソッドを使用して予測する場合など、予測が不可能な場合、DefaultYfit プロパティは CompactTreeBagger が返す予測値を制御します。

分類では、このプロパティを '' または 'MostPopular' に設定できます。'MostPopular' (既定値) を選択すると、プロパティ値は学習データの中で最も可能性の高いクラスの名前になります。

回帰では、このプロパティを任意のスカラー値に設定できます。既定値は学習データの応答値の平均です。

DeltaCriterionDecisionSplit

DeltaCriterionDecisionSplit プロパティは、各変数の分割全体で合計され、成長したツリーのアンサンブル全体で平均化された分割基準の変化を示す、サイズが 1 行 Nvars 列の数値配列です。

Method

Method プロパティは、アンサンブル分類では 'classification' で、アンサンブル回帰では 'regression' です。

NumPredictorSplit

NumPredictorSplit プロパティは、1 行 Nvars 列のサイズの数値配列です。ここで、それぞれの要素は、すべてのツリーにわたって合計されたこの予測子上での分割数を与えます。

NumTrees

NumTrees プロパティは、アンサンブル内の決定木の数と等しいスカラーです。

PredictorNames

PredictorNames プロパティは、予測子変数 (特徴量) の名前を格納する cell 配列です。これらの名前は、TreeBagger に提供されたオプションの 'names' パラメーターから取得されます。既定の名前は 'x1''x2' などです。

SurrogateAssociation

SurrogateAssociation プロパティは Nvars 行 Nvars 列のサイズの行列で、成長した木から成るアンサンブル全体で平均化された、変数の結びつきの予測尺度を含んでいます。アンサンブルの設定を 'surrogate' から 'on' にすると、各ツリーのこの行列には、代理分岐で平均化された関連性予測尺度が入力されます。アンサンブル設定を 'surrogate' から 'off' (既定値) にした場合、SurrogateAssociation は対角行列になります。

Trees

Trees プロパティは、アンサンブル内のツリーを格納するサイズ NumTrees 行 1 列の cell 配列です。

すべて折りたたむ

新しいデータの予測を効率的にするため、コンパクトな bag of trees を作成します。

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

load ionosphere

すべての測定値と AdaBoostM1 メソッドを使用して、100 本の分類の bag of trees に学習をさせます。

Mdl = TreeBagger(100,X,Y,'Method','classification')
Mdl = 
  TreeBagger
Ensemble with 100 bagged decision trees:
                    Training X:             [351x34]
                    Training Y:              [351x1]
                        Method:       classification
                 NumPredictors:                   34
         NumPredictorsToSample:                    6
                   MinLeafSize:                    1
                 InBagFraction:                    1
         SampleWithReplacement:                    1
          ComputeOOBPrediction:                    0
 ComputeOOBPredictorImportance:                    0
                     Proximity:                   []
                    ClassNames:             'b'             'g'

  Properties, Methods

Mdl は、学習データも含まれている TreeBagger モデル オブジェクトです。

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

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

  Properties, Methods

CMdlCompactTreeBagger モデル オブジェクトです。CMdlMdl とほとんど同じです。1 つ違うことは、学習データが格納されていないことです。

MdlCMdl の領域消費量を比較します。

mdlInfo = whos('Mdl');
cMdlInfo = whos('CMdl');
[mdlInfo.bytes cMdlInfo.bytes]
ans = 1×2

     1031399      890204

MdlCMdl より多くの領域を消費します。

CMdl.Trees には、Mdl を構成する学習済み分類木 (CompactClassificationTree モデル オブジェクト) が格納されています。

コンパクトなモデルの 1 番目の木のグラフを表示します。

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

既定の設定では、TreeBagger は木を深く成長させます。

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

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

コピーのセマンティクス

値。これがクラスの使用に与える影響については、『MATLAB® オブジェクト指向プログラミング』ドキュメンテーションのハンドル クラスと値クラスの比較 (MATLAB)を参照してください。

ヒント

CMdlTrees プロパティには、CMdl.NumTrees 個の CompactClassificationTree または CompactRegressionTree モデル オブジェクトから構成される cell ベクトルが格納されます。cell ベクトルの木 t をテキストまたはグラフィックで表示するには、次のように入力します。

view(CMdl.Trees{t})