Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

resubMargin

単純ベイズ分類器の再代入分類マージン

説明

m = resubMargin(Mdl) は、Mdl.X に保存された学習データと、Mdl.Y に保存された対応するクラス ラベルを使用して、単純ベイズ分類器 Mdl の再代入分類マージン (m) を返します。

m は、Y と同じ長さの数値ベクトルとして返されます。m の各エントリの推定は、学習させた単純ベイズ分類器 MdlX の対応する行、真のクラス ラベル Y を使用して実行されます。

すべて折りたたむ

単純ベイズ分類器の再代入 (標本内) 分類マージンを推定します。観測マージンは、観測された真のクラスのスコアから、該当するクラスのすべてのスコアの中で最大の偽のクラスのスコアを差し引いたものです。

fisheriris データセットを読み込みます。150 本のアヤメについて 4 つの花弁の測定値が含まれる数値行列 X を作成します。対応するアヤメの種類が含まれる文字ベクトルの cell 配列 Y を作成します。

load fisheriris
X = meas;
Y = species;

予測子 X とクラス ラベル Y を使用して、単純ベイズ分類器に学習させます。クラス名を指定することが推奨されます。fitcnb は、各予測子が条件付き正規分布に従うと仮定しています。

Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'})
Mdl = 
  ClassificationNaiveBayes
              ResponseName: 'Y'
     CategoricalPredictors: []
                ClassNames: {'setosa'  'versicolor'  'virginica'}
            ScoreTransform: 'none'
           NumObservations: 150
         DistributionNames: {'normal'  'normal'  'normal'  'normal'}
    DistributionParameters: {3x4 cell}


  Properties, Methods

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

再代入分類マージンを推定します。

m = resubMargin(Mdl);
median(m)
ans = 1.0000

標本内分類マージンのヒストグラムを表示します。

histogram(m,30,'Normalization','probability')
xlabel('In-Sample Margins')
ylabel('Probability')
title('Probability Distribution of the In-Sample Margins')

分類器のマージンは比較的大きいことが推奨されます。

複数のモデルによる標本内マージンを比較することにより、特徴選択を実行します。この比較のみに基づくと、マージンが最大である分類器が最良の分類器です。

fisheriris データセットを読み込みます。予測子 X とクラス ラベル Y を指定します。

load fisheriris
X = meas;
Y = species;

次の 2 つのデータセットを定義します。

  • fullX にはすべての予測子が含まれます。

  • partX には最後の 2 つの予測子が含まれます。

fullX = X;
partX = X(:,3:4);

各予測子セットの単純ベイズ分類器に学習させます。

FullMdl = fitcnb(fullX,Y);
PartMdl = fitcnb(partX,Y);

分類器ごとに標本内マージンを推定します。

fullM = resubMargin(FullMdl);
median(fullM)
ans = 1.0000
partM = resubMargin(PartMdl);
median(partM)
ans = 1.0000

2 つのモデルのパフォーマンスは同程度です。ただし、PartMdl は複雑ではありません。

入力引数

すべて折りたたむ

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

詳細

すべて折りたたむ

分類エッジ

"分類エッジ" は、分類マージンの加重平均です。

重みを指定すると、この重みは正規化され、各クラスの事前確率の合計になります。正規化された重みを使用して、加重平均が計算されます。

複数の分類器を選択して特徴選択などのタスクを実行する場合は、最も高いエッジが得られる分類器を選択します。

分類マージン

各観測値の "分類マージン" は、真のクラスのスコアと偽のクラスの最大スコアの差です。マージンは分類の信頼尺度となります。つまり、複数の分類器がある場合、(同じスケールで) より大きいマージンが得られる分類器の方が優れています。

事後確率

"事後確率" はデータが与えられる場合に、観測値が特定のクラスに属している確率です。

単純ベイズの場合、与えられた観測値 (x1,...,xP) の分類が k になる事後確率は次のようになります。

P^(Y=k|x1,..,xP)=P(X1,...,XP|y=k)π(Y=k)P(X1,...,XP),

ここで

  • P(X1,...,XP|y=k) は、予測子がクラス k に含まれる場合の条件付き同時密度です。予測子の分布名は Mdl.DistributionNames に格納します。

  • π(Y = k) はクラスの事前確率の分布です。Mdl.Prior は事前分布を保存します。

  • P(X1,..,XP) は予測子の同時密度です。各クラスは離散的なので、次のようになります。P(X1,...,XP)=k=1KP(X1,...,XP|y=k)π(Y=k).

事前確率

クラスの "事前確率" は、母集団内でそのクラスの観測値が出現すると考えられる相対頻度です。

分類スコア

単純ベイズの "スコア" は観測が与えられる場合のクラスの事後確率です。

R2014b で導入