Main Content

resubMargin

アンサンブル分類モデルの再代入分類マージン

説明

m = resubMargin(ens) は、ens.X に格納されている学習データと ens.Y に格納されている対応する真のクラス ラベルを使用して、学習済みアンサンブル分類モデル ens の再代入分類マージン m を返します。m は、ens.Y と同じ長さの数値列ベクトルとして返されます。m の各エントリの推定は、学習させたアンサンブル分類モデル ensens.X の対応する行、真のクラス ラベル ens.Y を使用して実行されます。

m = resubMargin(ens,Name=Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、損失の計算に使用する弱学習器のインデックスや計算を並列に実行するかどうかを指定できます。

すべて折りたたむ

フィッシャーのアヤメのデータを分類するアンサンブルについて、再代入マージンを求めます。

フィッシャーのアヤメのデータ セットを読み込みます。

load fisheriris

AdaBoostM2 を使用して 100 本のブースティング分類木のアンサンブルに学習をさせます。

t = templateTree(MaxNumSplits=1); % Weak learner template tree object
ens = fitcensemble(meas,species,"Method","AdaBoostM2","Learners",t);

再代入マージンを求めます。

margin = resubMargin(ens);
[min(margin) mean(margin) max(margin)]
ans = 1×3

   -0.5674    3.2486    4.6245

入力引数

すべて折りたたむ

アンサンブル分類モデル。fitcensemble で学習させた ClassificationEnsemble モデル オブジェクトとして指定します。

名前と値の引数

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

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

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

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

例: Learners=[1 2 4]

データ型: single | double

並列実行のフラグ。数値または logical の 1 (true) または 0 (false) として指定します。UseParallel=true を指定した場合、関数 resubMarginparfor を使用して for ループの反復を実行します。Parallel Computing Toolbox™ がある場合、ループが並列に実行されます。

例: UseParallel=true

データ型: logical

詳細

すべて折りたたむ

マージン

分類マージンは、真のクラスの分類スコアと、偽のクラスの最大分類スコアの差を表します。マージンは、行列 ens.X と同じ行数をもつ列ベクトルです。

スコア (アンサンブル)

アンサンブルの場合、分類スコアは分類の信頼度をクラスで表したものです。スコアが高いほど、信頼度も高くなります。

アンサンブル アルゴリズムが異なれば、スコアの定義も違ってきます。さらに、スコアの範囲はアンサンブル タイプによって異なります。以下に例を示します。

  • AdaBoostM1 スコアの範囲は –∞ ~ ∞ です。

  • Bag スコアの範囲は 01 です。

拡張機能

バージョン履歴

R2011a で導入

すべて展開する