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'を参照)。
分類問題の場合、選択された木のみを使用して計算したクラスの事後確率 (分類スコア) の加重平均が最大になるクラスが、観測値について予測したクラスになります。つまり、