-2

2 つの変数 pat と target.Pat 変数は 2 行と 500 列で構成されています.Target 変数 1*500. pat 変数には、2D 特徴ベクトル x = [x1 x2]T としてコード化された 500 個のパターンが含まれています。2 番目の変数 (ターゲット) は、パターンを 2 つのクラス w0 または w1 のいずれかに割り当てる 500 個のラベルのベクトルです。

matlabでベイズ分類規則を使用したい.x1 | w0、x1 | w1とx2 | w0、x2 | w1のように。x1 と x2 は pat 変数 w0 に関連し、w1 はターゲット変数に関連します。hist コマンドで x1|w0, x1|w1 と x2|w0, x2|w1 を表示したい。ヒストグラムを使用してmatlabでベイズルールを表示するにはどうすればよいですか? ヒストグラムを 0 から 1 の範囲に正規化する可能性はありますか?

4

1 に答える 1

0

このようなもの?

clear all; close all; clc;
format compact

pat=rand(2,500); %500 samples with 2 features each
target=rand(1,500)>0.5; %w0 and w1 assignments

edges=[0:0.1:1];
pat1_w0=histc(pat(1,target==0),edges); %x1|w0
pat1_w0=pat1_w0/sum(pat1_w0); %normalize

pat2_w0=histc(pat(2,target==0),edges); %x2|w0
pat2_w0=pat2_w0/sum(pat1_w0); %normalize

pat1_w1=histc(pat(1,target==1),edges); %x1|w1
pat1_w1=pat1_w1/sum(pat1_w0); %normalize

pat2_w1=histc(pat(2,target==1),edges); %x2|w1
pat2_w1=pat2_w1/sum(pat1_w0); %normalize

figure
hold on
bar(pat1_w0,'r') %insert whatever variable here to graph
bar(pat2_w0,'g')
bar(pat1_w1,'b')
bar(pat2_w1,'y')
于 2013-04-30T03:48:44.687 に答える