Main Content

predict

回帰モデルのアンサンブルの使用による応答の予測

説明

Yfit = predict(Mdl,X) は、アンサンブル回帰モデル Mdl に基づいて、テーブルまたは行列 X 内の予測子データに対する予測応答を返します。

Yfit = predict(Mdl,X,Name,Value) は、1 つ以上の Name,Value 引数のペアによって指定された追加オプションを使用します。

入力引数

Mdl

関数 fitrensemble または compact メソッドで作成されたアンサンブル回帰。

X

応答の生成に使用する予測子データ。数値行列またはテーブルを指定します。

X の各行は 1 つの観測値に対応し、各列は 1 つの変数に対応します。

  • 数値行列の場合

    • X の列を構成する変数の順序は、Mdl に学習させた予測子変数の順序と同じでなければなりません。

    • テーブル (たとえば Tbl) を使用して Mdl に学習をさせた場合、Tbl に含まれている予測子変数がすべて数値変数であれば、X を数値行列にすることができます。学習時に Tbl 内の数値予測子をカテゴリカルとして扱うには、fitrensemble の名前と値のペアの引数 CategoricalPredictors を使用してカテゴリカル予測子を同定します。Tbl に種類の異なる予測子変数 (数値および categorical データ型など) が混在し、X が数値行列である場合、predict でエラーがスローされます。

  • テーブルの場合

    • predict は、文字ベクトルの cell 配列ではない cell 配列や複数列の変数をサポートしません。

    • テーブル (たとえば Tbl) を使用して Mdl に学習をさせた場合、X 内のすべての予測子変数は変数名およびデータ型が、Mdl に学習させた (Mdl.PredictorNames に格納されている) 変数と同じでなければなりません。ただし、X の列の順序が Tbl の列の順序に対応する必要はありません。TblX に追加の変数 (応答変数や観測値の重みなど) を含めることができますが、predict はこれらを無視します。

    • 数値行列を使用して Mdl に学習をさせた場合、Mdl.PredictorNames 内の予測子名と X 内の対応する予測子変数名が同じでなければなりません。学習時に予測子の名前を指定する方法については、fitrensemble の名前と値のペアの引数 PredictorNames を参照してください。X 内の予測子変数はすべて数値ベクトルでなければなりません。X に追加の変数 (応答変数や観測値の重みなど) を含めることができますが、predict はこれらを無視します。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

Learners

1 から NumTrained までのアンサンブルに含まれる弱学習器のインデックス。NumTrained は弱学習器の個数です。

既定値: 1:NumTrained

UseObsForLearner

NNumTrained 列のサイズの logical 行列。NX 内の観測値の個数、NumTrained は弱学習器の個数です。UseObsForLearner(I,J)true の場合、predict は観測 I を予測するために、学習器 J を使用します。

既定値: true(N,NumTrained)

UseParallel

推定を並列で実行するための指定。false (逐次計算) または true (並列計算) として指定します。並列計算には Parallel Computing Toolbox™ が必要です。特に大規模なデータセットでは、並列推定の方が逐次推定よりも高速になる可能性があります。並列計算は木学習器でのみサポートされます。

既定値: false

出力引数

Yfit

TBLdata または Xdata と同じ行数の数値列ベクトル。Yfit の各行は、回帰モデル ens に基づいて、TBLdata または Xdata の対応する行に対して予測した応答を与えます。

すべて展開する

carsmall データに対して学習させたアンサンブル回帰に基づいて、燃費を予測します。

carsmall データセットを読み込み、気筒数、エンジン排気量、馬力および車両重量を予測子として選択します。

load carsmall
X = [Cylinders Displacement Horsepower Weight];

回帰木のアンサンブルに学習をさせ、エンジン排気量 200 立方インチ、150 馬力、重量 3000 ポンドの 4 気筒の自動車について MPG を予測します。

rens = fitrensemble(X,MPG);
Mileage = predict(rens,[4 200 150 3000])
Mileage = 25.6467

代替機能

Simulink ブロック

Simulink® にアンサンブルの予測を統合するには、Statistics and Machine Learning Toolbox™ ライブラリにある RegressionEnsemble Predict ブロックを使用するか、MATLAB® Function ブロックを関数 predict と共に使用します。例については、RegressionEnsemble Predict ブロックの使用による応答の予測MATLAB Function ブロックの使用によるクラス ラベルの予測を参照してください。

使用するアプローチを判断する際は、以下を考慮してください。

  • Statistics and Machine Learning Toolbox ライブラリ ブロックを使用する場合、固定小数点ツール (Fixed-Point Designer)を使用して浮動小数点モデルを固定小数点に変換できます。

  • MATLAB Function ブロックを関数 predict と共に使用する場合は、可変サイズの配列に対するサポートを有効にしなければなりません。

  • MATLAB Function ブロックを使用する場合、予測の前処理や後処理のために、同じ MATLAB Function ブロック内で MATLAB 関数を使用することができます。

拡張機能