ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

resubLoss

クラス: ClassificationNaiveBayes

再代入による単純ベイズ分類器の分類損失

説明

L = resubLoss(Mdl) は、標本内最小誤分類コスト損失 (L) を返します。これは、Mdl.Y に格納されている真のクラス ラベルと比較して、学習済みの単純ベイズ分類器 MdlMdl.X 内の予測子データをどの程度の精度で分類するかを表すスカラーです。

L = resubLoss(Mdl,Name,Value) は、1 つ以上の Name,Value のペアの引数が指定された追加オプションにより、標本内分類損失を返します。

入力引数

すべて展開する

完全な学習済み単純ベイズ分類器。fitcnb で学習させた ClassificationNaiveBayes モデルとして指定します。

名前と値のペアの引数

オプションの Name,Value 引数のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

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

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

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

    'mincost' は、事後確率である分類スコアに適しています。既定の設定では、単純ベイズ モデルは分類スコアとして事後確率を返します (predict を参照)。

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

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

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

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

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

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

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

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

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

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

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

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

データ型: char | string | function_handle

出力引数

すべて展開する

分類損失。スカラーとして返されます。L は汎化または再代入品質測定です。解釈は損失関数と加重スキームによって異なりますが、通常は、優れた分類器の方が損失値がより小さくなります。

すべて展開する

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

load fisheriris
X = meas;    % Predictors
Y = species; % Response

単純ベイズ分類器を学習させます。クラスの順序を指定することをお勧めします。ラベルが与えられる場合、各予測子は条件付きで正規分布すると仮定します。

Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'});

Mdl は学習させた ClassificationNaiveBayes 分類器です。

既定の再代入損失を推定します。これは、標本内の最小誤分類コストです。

L = resubLoss(Mdl)
L = 0.0400

分類の平均標本内コストは、0.04 です。

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

load fisheriris
X = meas;    % Predictors
Y = species; % Response

単純ベイズ分類器を学習させます。クラスの順序を指定することをお勧めします。ラベルが与えられる場合、各予測子は条件付きで正規分布すると仮定します。

Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'});

Mdl は学習させた ClassificationNaiveBayes 分類器です。

誤分類された観測値の標本内比率を推定します。

L = resubLoss(Mdl,'LossFun','classiferror')
L = 0.0400

単純ベイズ分類器は、学習の観測値の 4% を誤分類します。

詳細

すべて展開する

参照

[1] Hastie, T., R. Tibshirani, and J. Friedman. The Elements of Statistical Learning, second edition. Springer, New York, 2008.