logp
単純ベイズ分類器の対数条件なし確率密度
説明
例
単純ベイズ分類器モデルの標本内観測値の条件なし確率密度を計算します。
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: {3×4 cell}
Properties, Methods
Mdl は学習させた ClassificationNaiveBayes 分類器です。
標本内観測の条件なし確率密度を計算します。
lp = logp(Mdl,X);
非常に小さいまたは非常に大きい対数条件なし確率をもつ観測値のインデックスを特定します (ind)。外れ値検出メソッドで使用された下限 (L) および上限 (U) のしきい値を表示します。
[TF,L,U] = isoutlier(lp); L
L = -6.9222
U
U = 3.0323
ind = find(TF)
ind = 4×1
61
118
119
132
外れ値の条件なし確率密度の値を表示します。
lp(ind)
ans = 4×1
-7.8995
-8.4765
-6.9854
-7.8969
すべての外れ値は、外れ値検出の下限のしきい値よりも小さくなっています。
条件なし確率密度をプロットします。
histogram(lp) hold on xline(L,'k--') hold off xlabel('Log unconditional probability') ylabel('Frequency') title('Histogram: Log Unconditional Probability')

入力引数
単純ベイズ分類モデル。fitcnb によって返される ClassificationNaiveBayes モデル オブジェクト、または compact によって返される CompactClassificationNaiveBayes モデル オブジェクトとして指定します。
モデルを学習させるために使用する標本データ。テーブルとして指定します。tbl の各行は 1 つの観測値に、各列は 1 つの予測子変数に対応します。tbl には、Mdl の学習を行うために使用したすべての予測子が含まれていなければなりません。文字ベクトルの cell 配列ではない cell 配列と複数列の変数は使用できません。必要に応じて、tbl に応答変数用および観測値の重み用の追加列を含めることができます。
テーブルに格納されている標本データを使用して Mdl の学習を行った場合、logp の入力データもテーブルに格納されていなければなりません。
予測子データ。数値行列として指定します。
X の各行は 1 つの観測値 ("インスタンス" や "例" とも呼ばれます) に対応し、各列は 1 つの変数 ("特徴" とも呼ばれます) に対応します。X の列内の変数は、分類器 Mdl に学習させた変数と同じでなければなりません。
Y の長さと X の行数は等しくなければなりません。
データ型: double | single
詳細
予測子の "条件なし確率密度" はクラスで重視されない密度の分布です。
つまり、条件なし確率密度は次のようになります。
ここで、π(Y = k) はクラスの事前確率です。クラス (P(X1,..,XP|y = k)) に対するデータの条件付き分布およびクラスの事前確率分布が、学習オプションになります (つまり、分類器を学習させるときにそれらを指定します)。
クラスの "事前確率" は、母集団内でそのクラスの観測値が出現すると考えられる相対頻度です。
バージョン履歴
R2014b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)