TreeBagger クラス
決定木の bag of trees
説明
TreeBagger
は、分類または回帰のいずれかについて決定木のアンサンブルをバギングします。"バギング" とは、"bootstrap aggregation" を意味します。アンサンブル内の各ツリーは、個々に抽出された入力データのブートストラップ複製上で成長します。この複製に含まれない観測値は、このツリーにとって "out of bag" となります。
個別のツリーの成長に関して、TreeBagger
は ClassificationTree
と RegressionTree
の機能に依存します。特に、ClassificationTree
と RegressionTree
は各決定分岐について無作為に選択された特徴量の個数をオプションの入力引数として受け入れます。つまり、TreeBagger
はランダム フォレスト アルゴリズム[1]を実装します。
回帰問題の場合、TreeBagger
は平均および分位点回帰 (つまり、分位点回帰フォレスト[2]) をサポートします。
与えられたデータに対する平均応答の予測または平均二乗誤差の推定を行うには、
TreeBagger
モデルとデータをpredict
またはerror
にそれぞれ渡します。out-of-bag 観測値について同様の操作を実行するには、oobPredict
またはoobError
を使用します。与えられたデータに対する応答分布の分位数または分位数誤差を推定するには、
TreeBagger
モデルとデータをquantilePredict
またはquantileError
にそれぞれ渡します。out-of-bag 観測値について同様の操作を実行するには、oobQuantilePredict
またはoobQuantileError
を使用します。
構築
TreeBagger | 決定木の bag of trees の作成 |
オブジェクト関数
append | アンサンブルに新しいツリーを追加する |
compact | 決定木のコンパクトなアンサンブル |
error | 誤差 (誤分類の確率または MSE) |
fillprox | 学習データの近接行列 |
growTrees | 追加のツリーの育成とアンサンブルへの追加 |
margin | 分類マージン |
mdsprox | 近接行列の多次元尺度構成法 |
meanMargin | 平均分類マージン |
oobError | out-of-bag 誤差 |
oobMargin | out-of-bag マージン |
oobMeanMargin | out-of-bag 平均マージン |
oobPredict | out-of-bag 観測に対するアンサンブル予測 |
oobQuantileError | 回帰の bag of trees の out-of-bag 分位点損失 |
oobQuantilePredict | 回帰の bag of trees による out-of-bag 観測値の分位数予測 |
partialDependence | 部分従属の計算 |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
predict | バギングされた決定木のアンサンブルの使用による応答の予測 |
quantileError | 回帰の bag of trees の使用による分位点損失 |
quantilePredict | 回帰の bag of trees の使用による応答の分位数の予測 |
プロパティ
|
応答変数 |
|
観測の学習用に out-of-bag 予測を計算するかどうかを指定する論理フラグです。既定の設定は このフラグが
このフラグが
|
|
変数の重要度の out-of-bag 推定を計算するかどうかを指定する論理フラグです。既定の設定は このフラグが
|
|
正方行列。 このプロパティは次のようになります。
|
|
|
|
各変数の分割全体で合計され、成長したツリーのアンサンブル全体で平均化された分割基準の変化を示す、サイズが 1 行 Nvars 列の数値配列です。 |
|
各ブートストラップ複製について復元抽出により無作為に選択される観測値の比率。各複製のサイズは、Nobs × |
|
同じ親をもつ決定木の葉を、総リスクを減少させない分割のためにマージするかどうかを指定する論理フラグ。既定値は |
|
ツリーで使用されるメソッド。アンサンブル分類には |
|
ツリー リーフ 1 枚あたりの観測値の最小個数。 |
|
アンサンブル内の決定木の数と等しいスカラー値。 |
|
1 行Nvars 列のサイズの数値配列であり、各要素はそれぞれの予測子による分割数を、すべてのツリーで合計したものです。 |
|
各決定分岐で無作為に選択する予測子変数または特徴変数の個数。既定では、 |
|
Nobs 行 NumTrees 列の logical 配列。Nobs は学習データの観測数、NumTrees はアンサンブル内のツリーの数です。(i,j) 要素の値が |
|
観測ごとの out-of-bag 応答を計算するために使用されたツリーの数を含む、Nobs 行 1 列の数値配列。Nobs はアンサンブルの作成に使用された学習データの観測数です。 |
|
1 行 Nvars 列のサイズの数値配列であり、予測子変数 (特徴量) ごとの変数重要度の尺度を含みます。いずれの変数の場合も、その変数の値が out-of-bag 観測内で並べ替えられた場合に、上昇した分離マージンの数と低下した分離マージンの数との差が尺度になります。この尺度はツリーごとに計算され、アンサンブル全体で平均化されてから、アンサンブル全体の標準偏差で除算されます。回帰木の場合、このプロパティは空です。 |
|
1 行 Nvars 列のサイズの数値配列であり、予測子変数 (特徴量) ごとの重要度の尺度を含みます。いずれの変数の場合も、その変数の値が out-of-bag 観測内で並べ替えられた場合、予測誤差の増加を尺度とします。この尺度はツリーごとに計算され、アンサンブル全体で平均化されてから、アンサンブル全体の標準偏差で除算されます。 |
|
1 行 Nvars 列のサイズの数値配列であり、予測子変数 (特徴量) ごとの重要度の尺度を含みます。いずれの変数の場合も、その変数の値が out-of-bag 観測内で並べ替えられた場合、分類マージンの減少を尺度とします。この尺度はツリーごとに計算され、アンサンブル全体で平均化されてから、アンサンブル全体の標準偏差で除算されます。回帰木の場合、このプロパティは空です。 |
|
Nobs 行 1 列のサイズの数値配列です。Nobs は学習データ内の観測値数で、観測ごとの外れ値の尺度を含んでいます。 |
|
各クラスの事前確率の数値ベクトル。 このプロパティは次のようになります。
|
|
Nobs 行 Nobs 列のサイズの数値行列です。Nobs は学習データ内の観測値数で、観測値間の近接度を含んでいます。任意の 2 つの観測値の近接度は、これらの観測値がツリーの同じリーフに着地する比率として定義されます。これは、1 の対角要素と 0 ~ 1 の範囲の非対角要素をもつ対称行列です。 |
|
|
|
決定木ごとにデータが復元抽出されるかどうかを指定する論理フラグです。 |
|
|
|
アンサンブル内のツリーを格納するサイズ NumTrees 行 1 列の cell 配列です。 |
|
Nvars 行 Nvars 列のサイズをもち、変数の関連性予測尺度を成長したツリーのアンサンブル全体で平均化した行列。アンサンブルの設定を |
|
予測子変数 (特徴量) の名前が含まれている cell 配列。これらの名前を |
|
長さ Nobs の重みの数値ベクトル。ここで Nobs は学習データの観測 (行) 数です。 |
|
サイズが Nobs 行 Nvars 列のテーブルまたは数値行列。Nobs は学習データの観測値 (行) の数、Nvars は変数 (列) の数です。予測子値のテーブルを使用してアンサンブルに学習をさせた場合、 |
|
サイズが Nobs の応答データの配列。 |
例
コピーのセマンティクス
値。これがクラスの使用に与える影響については、『MATLAB® オブジェクト指向プログラミング』ドキュメンテーションのハンドル クラスと値クラスの比較を参照してください。
ヒント
TreeBagger
モデル オブジェクト B
の Trees
プロパティには、B.NumTrees
個の CompactClassificationTree
または CompactRegressionTree
モデル オブジェクトが含まれている cell ベクトルが格納されます。cell ベクトルの木 t
をテキストまたはグラフィックで表示するには、次のように入力します。
view(B.Trees{t})
代替機能
Statistics and Machine Learning Toolbox™ には、バギングおよびランダム フォレスト用に 3 つのオブジェクトが用意されています。
fitcensemble
によって作成される、分類用のClassificationBaggedEnsemble
fitrensemble
によって作成される、回帰用のRegressionBaggedEnsemble
TreeBagger
によって作成される、分類および回帰用のTreeBagger
TreeBagger
とバギング アンサンブル (ClassificationBaggedEnsemble
および RegressionBaggedEnsemble
) の違いについては、TreeBagger とバギング アンサンブルの比較を参照してください。
参考文献
[1] Breiman, L. "Random Forests." Machine Learning 45, pp. 5–32, 2001.
[2] Meinshausen, N. “Quantile Regression Forests.” Journal of Machine Learning Research, Vol. 7, 2006, pp. 983–999.