predict
バギングされた決定木のアンサンブルの使用による応答の予測
構文
Yfit = predict(B,X)
Yfit = predict(B,X,Name,Value)
[Yfit,stdevs] = predict(___)
[Yfit,scores] = predict(___)
[Yfit,scores,stdevs] = predict(___)
説明
Yfit = predict(B,X)
は、コンパクトなバギングされた決定木のアンサンブル B
に基づいて、テーブルまたは行列 X
内の予測子データに対する予測応答のベクトルを返します。Yfit
は、分類の場合は文字ベクトルの cell 配列、回帰の場合は数値配列です。既定の設定では、predict
はアンサンブル内のすべてのツリーから民主的な (重み付けされていない) 平均の票決を受け入れます。
B
は学習済みの CompactTreeBagger
モデル オブジェクト、つまり compact
によって返されるモデルです。
X
は、応答の生成に使用する予測子データのテーブルまたは行列です。行は観測値を、列は変数を表します。
X
が数値行列の場合X
の列を構成する変数の順序は、B
に学習させた予測子変数の順序と同じでなければなりません。テーブル (たとえば
Tbl
) を使用してB
に学習をさせた場合、Tbl
に含まれている予測子変数がすべて数値変数であれば、X
を数値行列にすることができます。学習時にTbl
内の数値予測子をカテゴリカルとして扱うには、関数TreeBagger
の名前と値のペアの引数CategoricalPredictors
を使用してカテゴリカル予測子を同定します。Tbl
に種類の異なる予測子変数 (数値および categorical データ型など) が混在し、X
が数値行列である場合、predict
でエラーがスローされます。
X
がテーブルの場合predict
は、文字ベクトルの cell 配列ではない cell 配列や複数列の変数をサポートしません。テーブル (たとえば
Tbl
) を使用してB
に学習をさせた場合、X
内のすべての予測子変数は変数名およびデータ型が、(B.PredictorNames
に格納されている)B
に学習させた変数と同じでなければなりません。ただし、X
の列の順序がTbl
の列の順序に対応する必要はありません。Tbl
とX
に追加の変数 (応答変数や観測値の重みなど) を含めることができますが、predict
はこれらを無視します。数値行列を使用して
B
に学習をさせた場合、B.PredictorNames
内の予測子名とX
内の対応する予測子変数名が同じでなければなりません。学習時に予測子の名前を指定する方法については、TreeBagger
の名前と値のペアの引数PredictorNames
を参照してください。X
内の予測子変数はすべて数値ベクトルでなければなりません。X
に追加の変数 (応答変数や観測値の重みなど) を含めることができますが、predict
はこれらを無視します。
Yfit = predict(B,X,
は、以下の名前と値のペアの引数を 1 つ以上使用して追加オプションを指定します。Name,Value
)
'Trees'
— 応答の計算に使用する木のインデックスの配列。既定の設定は'all'
です。'TreeWeights'
— 指定された木からの票に重みを付けるためのNTrees
個の重みの配列。NTrees
は、アンサンブル内の木の本数です。'UseInstanceForTree'
— 各観測値に対する予測を行うために使用する木を示すNobs
行NTrees
列の logical 行列。Nobs
は観測値の個数です。既定の設定では、すべての観測値に対してすべてのツリーが使用されます。
回帰の場合、[Yfit,stdevs] = predict(___)
は前の構文における任意の入力引数を組み合わせて使用し、成長した木のアンサンブルにおいて計算された応答の標準偏差も返します。
分類の場合、[Yfit,scores] = predict(___)
はすべてのクラスのスコアも返します。scores
は、観測値ごとに 1 つずつの行、クラスごとに 1 つずつの列がある行列です。各木によって生成されるスコアは、各観測値および各クラスについて、木の葉におけるそのクラスの観測値の割合として計算された、そのクラスから観測値が派生する確率です。predict
は、アンサンブル内のすべての木についてこれらのスコアの平均を計算します。
[Yfit,scores,stdevs] = predict(___)
は、分類の場合に、計算れたスコアの標準偏差も返します。stdevs
は、観測値ごとに 1 つずつの行、クラスごとに 1 つずつの列がある行列です。標準偏差は、成長した木のアンサンブルに対して計算されます。
アルゴリズム
回帰問題の場合、観測値の予測応答は、選択された木のみを使用した予測の加重平均になります。つまり、
は、アンサンブル内の木 t による予測です。
S は、予測を構成する、選択された木のインデックスの集合です (
'
Trees
'
と'
UseInstanceForTree
'
を参照)。 は、t が集合 S に含まれている場合は 1、それ以外の場合は 0 になります。αt は、木 t の重みです (
'
TreeWeights
'
を参照)。
分類問題の場合、選択された木のみを使用して計算したクラスの事後確率 (分類スコア) の加重平均が最大になるクラスが、観測値について予測したクラスになります。つまり、