Main Content

oobLoss

構文

L = oobLoss(ens)
L = oobLoss(ens,Name,Value)

説明

L = oobLoss(ens) は、out-of-bag データについて計算された ens の分類誤差を返します。

L = oobLoss(ens,Name,Value) では、1 つ以上の Name,Value のペア引数で指定された追加オプションを使用して、誤差を計算します。Name1,Value1,…,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

入力引数

ens

関数 fitcensemble を使用して作成された、分類バギング アンサンブル。

名前と値の引数

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

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

learners

アンサンブルに含まれている 1 から ens.NumTrained までの弱学習器のインデックス。oobLoss は、これらの学習器のみを損失の計算に使用します。

既定値: 1:NumTrained

lossfun

損失関数。'LossFun' と組み込み損失関数名または関数ハンドルから構成されるコンマ区切りのペアとして指定します。

  • 次の表は、使用可能な損失関数の一覧です。対応する文字ベクトルまたは string スカラーを使用して、いずれかを指定します。

    説明
    'binodeviance'二項分布からの逸脱度
    'classifcost'観測誤分類コスト
    'classiferror'10 進数の誤分類率
    'exponential'指数損失
    'hinge'ヒンジ損失
    'logit'ロジスティック損失
    'mincost'最小予測誤分類コスト (事後確率である分類スコアの場合)
    'quadratic'二次損失

    'mincost' は、事後確率である分類スコアに適しています。既定の設定では、バギング アンサンブルは分類スコアとして事後確率を返します。

  • 関数ハンドル表記を使用して独自の関数を指定します。

    nX 内の観測値数、K を異なるクラスの数 (numel(ens.ClassNames)ens は入力モデル) とします。使用する関数のシグネチャは次のようになっていなければなりません。

    lossvalue = lossfun(C,S,W,Cost)
    ここで、

    • 出力引数 lossvalue はスカラーです。

    • 関数名 (lossfun) を選択します。

    • CnK 列の logical 行列で、行は対応する観測値が属するクラスを示しています。列の順序は ens.ClassNames のクラスの順序に対応します。

      C を作成するには、各行について観測値 p がクラス q に含まれている場合に C(p,q) = 1 を設定します。行 p の他のすべての要素を 0 に設定します。

    • S は、分類スコアの nK 列の行列です。列の順序は ens.ClassNames のクラスの順序に対応します。S は分類スコアの行列で、predict の出力と同様です。

    • W は、観測値の重みの n 行 1 列の数値ベクトルです。W を渡す場合、要素は正規化され、合計が 1 になります。

    • Cost は、誤分類コストの、K 行 K 列の数値行列です。たとえば、Cost = ones(K) - eye(K) は、正しい分類のコストとして 0 を、誤分類のコストとして 1 を指定します。

    'LossFun',@lossfun を使用して独自の関数を指定します。

損失関数の詳細については、分類損失を参照してください。

既定値: 'classiferror'

mode

出力 L の意味を表す文字ベクトルまたは string スカラー。

  • 'ensemble'L は、アンサンブル全体に対する損失を表すスカラー値です。

  • 'individual'L は、学習された学習器ごとに 1 つの要素をもつベクトルです。

  • 'cumulative'L は、学習器の入力リストから学習器 1:J を使用して要素 J が取得されたベクトルです。

既定値: 'ensemble'

UseParallel

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

既定値: false

出力引数

L

out-of-bag 観測値の分類損失。スカラー。名前と値のペアの引数の設定によって、L はベクトルになるか、異なる量を表します。

すべて展開する

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

load fisheriris

100 本の分類の bag of trees を成長させます。

ens = fitcensemble(meas,species,'Method','Bag');

out-of-bag 分類誤差を推定します。

L = oobLoss(ens)
L = 0.0400

詳細

すべて展開する

拡張機能

バージョン履歴

すべて展開する