resubLoss
アンサンブル回帰モデルの再代入損失
説明
は、関数 L
= resubLoss(ens
)fitrensemble
が ens
の作成に使用したデータについて計算された再代入損失を返します。既定では、resubLoss
は平均二乗誤差を使用して L
を計算します。
では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、損失関数、出力の集約レベル、計算を並列に実行するかどうかを指定できます。L
= resubLoss(ens
,Name=Value
)
例
再代入損失の推定
再代入予測と学習データの間の平均二乗差分を求めます。
carsmall
データ セットを読み込み、馬力と車両重量を予測子として選択します。
load carsmall
X = [Horsepower Weight];
回帰木のアンサンブルに学習をさせ、学習データに対する予測の平均二乗差分を求めます。
ens = fitrensemble(X,MPG); MSE = resubLoss(ens)
MSE = 0.5836
入力引数
ens
— アンサンブル回帰モデル
RegressionEnsemble
モデル オブジェクト
アンサンブル回帰モデル。fitrensemble
で学習させた RegressionEnsemble
モデル オブジェクトとして指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: resubLoss(ens,Learners=[1 2 4],UseParallel=true)
は、アンサンブル内の 1 番目、2 番目、および 4 番目の学習器を使用し、計算を並列に実行するように指定します。
Learners
— 弱学習器のインデックス
[1:ens.NumTrained]
(既定値) | 正の整数のベクトル
resubLoss
で使用するアンサンブル内の弱学習器のインデックス。範囲 [1:ens.NumTrained
] の正の整数のベクトルとして指定します。既定では、すべての学習器が使用されます。
例: Learners=[1 2 4]
データ型: single
| double
LossFun
— 損失関数
"mse"
(既定値) | function handle
損失関数。"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
Mode
— 出力の集約レベル
"ensemble"
(既定値) | "individual"
| "cumulative"
出力の集約レベル。"ensemble"
、"individual"
、または "cumulative"
として指定します。
値 | 説明 |
---|---|
"ensemble" | 出力は、アンサンブル全体に対する損失を表すスカラー値になります。 |
"individual" | 出力は、学習させた学習器ごとに 1 つの要素をもつベクトルになります。 |
"cumulative" | 出力は、学習器の入力リストから学習器 1:J を使用して要素 J が取得されたベクトルになります。 |
例: Mode="individual"
データ型: char
| string
UseParallel
— 並列実行のフラグ
false
または 0
(既定値) | true
または 1
並列実行のフラグ。数値または logical の 1
(true
) または 0
(false
) として指定します。UseParallel=true
を指定した場合、関数 resubLoss
は parfor
を使用して for
ループの反復を実行します。Parallel Computing Toolbox™ がある場合、ループが並列に実行されます。
例: UseParallel=true
データ型: logical
拡張機能
自動並列サポート
Parallel Computing Toolbox™ を使用して自動的に並列計算を実行することで、コードを高速化します。
並列実行するには、この関数を呼び出すときに名前と値の引数 UseParallel
を true
に設定します。
並列計算の全般的な情報については、自動並列サポートを使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
UseParallel
は GPU 配列では使用できません。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
UseParallel
は GPU 配列では使用できません。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2011a で導入
参考
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)