Main Content

oobPredict

out-of-bag 観測に対するアンサンブル予測

構文

Y = oobPredict(B)
Y = oobPredict(B,Name,Value)
[Y,stdevs] = oobPredict(___)
[Y,scores] = oobPredict(___)
[Y,scores,stdevs] = oobPredict(___)

説明

Y = oobPredict(B) は、学習したバガー B を使用して、学習データの out-of-bag 観測に対する予測応答を計算します。出力には、学習データ内の観測値ごとに 1 つの予測が含まれています。返される Y は、分類の場合は文字ベクトルの cell 配列、回帰の場合は数値配列です。

Y = oobPredict(B,Name,Value) は、以下の名前と値のペアの引数のいずれかまたは両方を使用して追加オプションを指定します。

  • 'Trees' — 応答の計算に使用する木のインデックスの配列。既定の設定は 'all' です。

  • 'TreeWeights' — 指定された木からの票に重みを付けるための NTrees 個の重みの配列。NTrees は、アンサンブル内の木の本数です。

回帰の場合、[Y,stdevs] = oobPredict(___) は前の構文における任意の入力引数を組み合わせて使用し、成長した木のアンサンブルにおいて計算された応答の標準偏差も返します。

分類の場合、[Y,scores] = oobPredict(___) はすべてのクラスのスコアも返します。scores は、観測値ごとに 1 つずつの行、クラスごとに 1 つずつの列がある行列です。各木によって生成されるスコアは、各 out-of-bag 観測値および各クラスについて、木の葉におけるそのクラスの観測値の割合として計算された、そのクラスから観測値が派生する確率です。oobPredict は、アンサンブル内のすべての木についてこれらのスコアの平均を計算します。

[Y,scores,stdevs] = oobPredict(___) は、分類の場合に、計算れたスコアの標準偏差も返します。stdevs は、観測値ごとに 1 つずつの行、クラスごとに 1 つずつの列がある行列です。標準偏差は、成長した木のアンサンブルに対して計算されます。

アルゴリズム

oobPredictpredict は、同じような方法でクラスと応答を予測します。

  • 回帰問題では、次のようになります。

    • oobPredict は、1 本以上の木について out-of-bag である各観測値について、観測値が out-of-bag になっている木の応答を選択することにより、加重平均を構成します。この計算のため、名前と値のペアの引数 'TreeWeights' で重みを指定します。

    • すべての木で in-bag になっている観測値のそれぞれについて、すべての学習応答の加重平均が予測応答になります。この計算のため、TreeBagger モデルの W プロパティ (つまり、観測値の重み) で重みを指定します。

  • 分類問題では、次のようになります。

    • oobPredict は、1 本以上の木について out-of-bag である各観測値について、観測値が out-of-bag になっている木を選択することにより、クラスの事後確率の加重平均を構成します。この結果、最大の加重平均に対応するクラスが予測したクラスになります。この計算のため、名前と値のペアの引数 'TreeWeights' で重みを指定します。

    • すべての木で in-bag になっている観測値のそれぞれについて、すべての学習応答における重みを付けた最も一般的なクラスが予測したクラスになります。この計算のため、TreeBagger モデルの W プロパティ (つまり、観測値の重み) で重みを指定します。最も一般的なクラスが複数ある場合、oobPredictTreeBagger モデルの ClassNames プロパティで最初にリストされているものを最も一般的であると見なします。