resubEdge
アンサンブル分類モデルの再代入分類エッジ
説明
では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、損失の計算に使用する弱学習器のインデックスを指定したり、出力の集約レベルを選択したり、計算を並列に実行したりできます。edge
= resubEdge(ens
,Name=Value
)
例
学習データの再代入による分類エッジの計算
フィッシャーのアヤメのデータを分類するアンサンブルについて、再代入エッジを求めます。
標本データ セットを読み込みます。
load fisheriris
AdaBoostM2 を使用して 100 本のブースティング分類木のアンサンブルに学習をさせます。
t = templateTree(MaxNumSplits=1); % Weak learner template tree object ens = fitcensemble(meas,species,"Method","AdaBoostM2","Learners",t);
再代入エッジを求めます。
edge = resubEdge(ens)
edge = 3.2486
入力引数
ens
— アンサンブル分類モデル
ClassificationEnsemble
モデル オブジェクト
アンサンブル分類モデル。fitcensemble
で学習させた ClassificationEnsemble
モデル オブジェクトとして指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: resubEdge(ens,Learners=[1 2 3 5],UseParallel=true)
は、アンサンブル内の 1 番目、2 番目、3 番目、および 5 番目の学習器を resubEdge
で使用し、計算を並列に実行するように指定します。
Learners
— 弱学習器のインデックス
[1:ens.NumTrained]
(既定値) | 正の整数のベクトル
resubEdge
で使用するアンサンブル内の弱学習器のインデックス。範囲 [1:ens.NumTrained
] の正の整数のベクトルとして指定します。既定では、すべての学習器が使用されます。
例: Learners=[1 2 4]
データ型: single
| double
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
を指定した場合、関数 resubEdge
は parfor
を使用して for
ループの反復を実行します。Parallel Computing Toolbox™ がある場合、ループが並列に実行されます。
例: UseParallel=true
データ型: logical
詳細
分類エッジ
"分類エッジ" は、分類マージンの加重平均値です。重みは ens
.Prior
のクラス確率です。
分類マージン
"分類マージン" は、真のクラスの分類 "スコア" と偽のクラスの最大分類スコアの差です。マージンは、行列 ens
.X
と同じ行数をもつ列ベクトルです。
スコア (アンサンブル)
アンサンブルの場合、分類スコアは分類の信頼度をクラスで表したものです。スコアが高いほど、信頼度も高くなります。
アンサンブル アルゴリズムが異なれば、スコアの定義も違ってきます。さらに、スコアの範囲はアンサンブル タイプによって異なります。以下に例を示します。
AdaBoostM1
スコアの範囲は –∞ ~ ∞ です。Bag
スコアの範囲は0
~1
です。
拡張機能
自動並列サポート
Parallel Computing Toolbox™ を使用して自動的に並列計算を実行することで、コードを高速化します。
並列実行するには、この関数を呼び出すときに名前と値の引数 UseParallel
を true
に設定します。
並列計算の全般的な情報については、自動並列サポートを使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
UseParallel
は GPU 配列では使用できません。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
UseParallel
は GPU 配列では使用できません。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2011a で導入R2023b: 予測子に欠損値がある観測値を再代入と交差検証の計算に使用
R2023b 以降では、次の分類モデルのオブジェクト関数において、予測子に欠損値がある観測値が再代入 ("resub") と交差検証 ("kfold") による分類エッジ、損失、マージン、および予測の計算でその一部として使用されます。
以前のリリースでは、予測子に欠損値がある観測値は再代入と交差検証の計算で省略されていました。
R2022a: 既定以外のコスト行列をもつモデルに対して resubEdge
で異なる値が返される
入力モデル オブジェクトに学習させるときに既定以外のコスト行列を指定すると、関数 resubEdge
で以前のリリースとは異なる値が返されます。
関数 resubEdge
は、W
プロパティに格納された観測値の重みを使用します。W
プロパティの値を関数で使用する方法については変更されていません。ただし、既定以外のコスト行列をもつモデルについて入力モデル オブジェクトに格納されるプロパティの値が変更されたため、関数から異なる値が返されることがあります。
プロパティの値の変更に関する詳細については、Cost property stores the user-specified cost matrixを参照してください。
ソフトウェアでコスト行列、事前確率、および観測値の重みを以前のリリースと同じように扱う場合は、誤分類コスト行列に応じた事前確率と観測値の重みの調整の説明に従って、既定以外のコスト行列の事前確率と観測値の重みを調整します。その後、分類モデルに学習させるときに、調整後の事前確率と観測値の重みを名前と値の引数 Prior
と Weights
を使用して指定し、既定のコスト行列を使用します。
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)