メインコンテンツ

resubLoss

R2026b

アンサンブル回帰モデルの再代入損失

説明

L = resubLoss(ens) は、関数 fitrensemble が ens の作成に使用したデータについて計算された再代入損失を返します。既定では、resubLoss は平均二乗誤差を使用して L を計算します。

例

L = resubLoss(ens,Name=Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、損失関数、出力の集約レベル、計算を並列に実行するかどうかを指定できます。

例

すべて折りたたむ

再代入予測と学習データの間の平均二乗差分を求めます。

carsmall データ セットを読み込み、馬力と車両重量を予測子として選択します。

load carsmall
X = [Horsepower Weight];

回帰木のアンサンブルに学習をさせ、学習データに対する予測の平均二乗差分を求めます。

ens = fitrensemble(X,MPG);
MSE = resubLoss(ens) 
MSE = 
0.5836

入力引数

すべて折りたたむ

アンサンブル回帰モデル。fitrensemble で学習させた RegressionEnsemble または RegressionBaggedEnsemble モデル オブジェクトとして指定します。

名前と値の引数

すべて折りたたむ

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

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

例: resubLoss(ens,Learners=[1 2 4],UseParallel="auto") は、アンサンブル内の 1 番目、2 番目、および 4 番目の弱学習器を使用し、計算を並列に実行するように指定します。

resubLoss で使用するアンサンブル内の弱学習器のインデックス。範囲 [1:ens.NumTrained] の正の整数のベクトルとして指定します。既定では、この関数はすべての学習器を使用します。

例: Learners=[1 2 4]

データ型: single | double

損失関数。"mse" (平均二乗誤差) または関数ハンドルとして指定します。関数ハンドル fun を渡す場合、resubLoss でこの関数を次のように呼び出します。

fun(Y,Yfit,W)

ここで、Y、Yfit、W は、すべて同じ長さの数値ベクトルです。

  • Y は、観測された応答です。

  • Yfit は予測された応答です。

  • W は観測値の重みです。

fun(Y,Yfit,W) の戻り値はスカラーでなければなりません。

例: LossFun="mse"

例: LossFun=@Lossfun

データ型: char | string | function_handle

出力の集約レベル。"ensemble"、"individual"、または "cumulative" として指定します。

値説明
"ensemble"出力は、アンサンブル全体に対するスカラー値になります。
"individual"出力は、学習させた学習器ごとに 1 つの要素をもつベクトルになります。
"cumulative"出力は、学習器の入力リストから学習器 1:J を使用して要素 J が取得されたベクトルになります。

例: Mode="individual"

データ型: char | string

ワーカーの並列プールを使用して計算を並列実行するためのオプション。次のいずれかの値を指定します。

  • "off" — MATLAB® クライアントで逐次実行します。

  • "auto" — 並列プールが開いている場合、または MATLAB が並列プールを自動的に作成できる場合は、その並列プールを使用します。並列プールが利用できない場合は、MATLAB クライアントでシリアル実行します。

  • "on" — 並列プールが開いている場合、または MATLAB が並列プールを自動的に作成できる場合は、その並列プールを使用します。並列プールが利用できない場合は、エラーをスローします。

並列プールが開いておらず、自動プール作成が有効になっている場合、MATLAB は既定のクラスター プロファイルを使用して並列プールを開きます。MATLAB で並列プールを使用して計算を実行するには、Parallel Computing Toolbox™ が必要です。詳細については、自動並列サポートを使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。

R2026b より前: 並列実行するには、UseParallel を true に設定します。

例: UseParallel="auto"

データ型: char | string

拡張機能

すべて展開する

バージョン履歴

R2011a で導入

すべて展開する