Main Content

CompactTreeBagger

バギンされた決定木のコンパクトなアンサンブル

説明

CompactTreeBagger はコンパクトなバージョンの TreeBagger アンサンブルです。コンパクトなアンサンブルには、関数 TreeBagger で決定木をどのようにして成長させるかに関する情報、木の成長に使用される入力データ、学習パラメーター (最小の葉のサイズ、各決定分岐用に無作為にサンプリングされる変数の数など) は含まれません。CompactTreeBagger は、応答ラベルやクラス ラベルの予測などのタスクに使用します。

作成

CompactTreeBagger アンサンブル オブジェクトは、compact を使用して完全な学習済み TreeBagger アンサンブルから作成します。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

モデルの学習に使用される一意のクラス名。文字ベクトルの cell 配列として指定します。

回帰木の場合、このプロパティは空 ([]) です。

この プロパティ は読み取り専用です。

predict で返される既定の予測値。"""MostPopular"、または数値スカラーとして指定します。このプロパティで、予測が不可能な場合にオブジェクト関数 predict から返される予測値を制御します。このプロパティは、関数 setDefaultYfit を使用して設定できます。

  • 分類木では、DefaultYfit"" または "MostPopular" に設定できます。"MostPopular" (分類の既定値) を指定すると、プロパティ値は学習データの中で最も可能性の高いクラスの名前になります。"" を指定すると、in-bag の観測値が out-of-bag の誤差およびマージンの計算から除外されます。

  • 回帰木では、DefaultYfit を任意の数値スカラーに設定できます。回帰の既定値は学習データの応答の平均です。DefaultYfitNaN に設定すると、in-bag の観測値が out-of-bag の誤差およびマージンの計算から除外されます。

例: CMdl = setDefaultYfit(CMdl,"MostPopular")

データ型: single | double | char | string

この プロパティ は読み取り専用です。

予測子ごとの分割基準の貢献度。数値ベクトルとして指定します。このプロパティは 1 行 Nvars 列のベクトルです。Nvars は分割基準の変化の数です。各変数の分割全体で分割基準の変化が合計され、成長した木のアンサンブル全体で合計が平均化されます。

データ型: single | double

この プロパティ は読み取り専用です。

アンサンブルのタイプ。アンサンブル分類の場合は "classification"、アンサンブル回帰の場合は "regression" として指定します。

この プロパティ は読み取り専用です。

予測子ごとの決定分岐の数。数値ベクトルとして指定します。このプロパティは 1 行 Nvars 列のベクトルです。Nvars は予測子変数の数です。NumPredictorSplit の各要素は、予測子での分割数をすべての木について合計した数を表します。

データ型: single | double

この プロパティ は読み取り専用です。

バギング アンサンブル内の決定木の数。正の整数として指定します。

データ型: single | double

この プロパティ は読み取り専用です。

予測子名。文字ベクトルの cell 配列を指定します。PredictorNames の要素の順序は、予測子名が学習データ X に現れる順序に対応します。

この プロパティ は読み取り専用です。

変数の関連性予測尺度。数値行列として指定します。このプロパティは Nvars 行 Nvars 列の行列です。Nvars は予測子変数の数です。このプロパティには、成長した木のアンサンブル全体で平均化した変数の関連性予測尺度が格納されます。

  • 名前と値の引数 Surrogate"on" に設定してアンサンブルを成長させた場合、各ツリーのこの行列には、代理分岐で平均化された関連性予測尺度が入力されます。

  • 名前と値の引数 Surrogate"off" に設定してアンサンブルを成長させた場合、SurrogateAssociation プロパティは単位行列になります。既定では Surrogate"off" に設定されます。

データ型: single | double

この プロパティ は読み取り専用です。

バギング アンサンブル内の決定木。NumTrees 行 1 列の cell 配列として指定します。それぞれの木は CompactClassificationTree オブジェクトまたは CompactRegressionTree オブジェクトです。

オブジェクト関数

combine2 つのアンサンブルの組み合わせ
error誤差 (誤分類の確率または MSE)
margin分類マージン
mdsprox近接行列の多次元尺度構成法
meanMargin平均分類マージン
outlierMeasure決定木のアンサンブルにおけるデータの外れ値の尺度
partialDependence部分依存の計算
plotPartialDependence部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成
predictバギングされた決定木のアンサンブルの使用による応答の予測
proximity決定木のアンサンブルにおけるデータの近接行列
setDefaultYfitpredict の既定値の設定

すべて折りたたむ

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

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              993836  CompactTreeBagger              
  Mdl       1x1             1132811  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'}

ヒント

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

    view(CMdl.Trees{t})

バージョン履歴

R2009a で導入