資源描述:
《樸素貝葉斯分類器》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、樸素貝葉斯分類器NaiveBayesianClassifierC語言實(shí)現(xiàn)2013年2月8日1.貝葉斯公式通過貝葉斯公式,我們可以的知在屬性F1-Fn成立的情況下,該樣本屬于分類C的概率。而概率越大,說明樣本屬于分類C的可能性越大。若某樣本可以分為2種分類A,B。要比較P(A
2、F1,F2......)與P(B
3、F1,F2......)的大小只需比較,P(A)P(F1,F2......
4、A),與P(B)P(F1,F2......
5、B)。因?yàn)閮墒椒帜敢恢?。而P(A)P(F1,F2......
6、A)可以采用縮放為P(A)P(F1
7、A)P(F2
8、A).......(Fn
9、A)因此,在分類時(shí),只需
10、比較每個(gè)屬性在分類下的概率累乘,再乘該分類的概率即可。分類屬性outlook屬性temperature屬性humidity屬性windnosunnyhothighweaknosunnyhothighstrongyesovercasthothighweakyesrainmildhighweakyesraincoolnormalweaknoraincoolnormalstrongyesovercastcoolnormalstrongnosunnymildhighweakyessunnycoolnormalweakyesrainmildnormalweakyessunnymildnormal
11、strongyesovercastmildhighstrongyesovercasthotnormalweaknorainmildhighstrong以上是根據(jù)天氣的4種屬性,某人外出活動(dòng)的記錄。若要根據(jù)以上信息判斷(Outlook=sunny,Temprature=cool,Humidity=high,Wind=strong)所屬分類。P(yes
12、sunny,cool,high,strong)=P(yes)P(sunny
13、yes)P(cool
14、yes)P(high
15、yes)P(strong
16、yes)/KP(no
17、sunny,cool,high,strong)=P(no)P(sunny
18、
19、no)P(cool
20、no)P(high
21、no)P(strong
22、no)/KK為縮放因子,我們只需要知道兩個(gè)概率哪個(gè)大,所以可以忽略K。P(yes)=9/14P(no)=5/14P(sunny
23、yes)=2/9P(cool
24、yes)=1/3P(high
25、yes)=1/3P(strong
26、yes)=1/3P(sunny
27、no)=3/5P(cool
28、no)=2/5P(high
29、no)=4/5P(strong
30、no)=3/5P(yes
31、sunny,cool,high,strong)=9/14*2/9*1/3*1/3*1/3=0.00529P(no
32、sunny,cool,high,strong
33、)=5/14*3/5*1/5*4/5*3/5=0.20571No的概率大,所以該樣本實(shí)例屬于no分類。2.數(shù)據(jù)結(jié)構(gòu)及代碼實(shí)現(xiàn)1.屬性及分類我們限定分類器的屬性不大于9個(gè),每個(gè)屬性擁有不大于9個(gè)值。于是,我們考慮采用一個(gè)9X9的表格存儲(chǔ)屬性及其值。屬性1值1值2值3值4值5值6值7值8值9屬性2值1值2值3值4值5值6值7值8值9屬性3值1值2值3值4值5值6值7值8值9屬性4值1值2值3值4值5值6值7值8值9屬性5值1值2值3值4值5值6值7值8值9屬性6值1值2值3值4值5值6值7值8值9屬性7值1值2值3值4值5值6值7值8值9屬性8值1值2值3值4值5值6值7值8值9屬性9值1
34、值2值3值4值5值6值7值8值9為了調(diào)用數(shù)據(jù)方便,我們把數(shù)據(jù)從第一行開始儲(chǔ)存。為了充分利用存儲(chǔ)空間,我們把第零行儲(chǔ)存分類數(shù)據(jù)。分類1分類2分類3分類4分類5分類6分類7分類8分類9屬性1值1值2值3值4值5值6值7值8值9屬性2值1值2值3值4值5值6值7值8值9屬性3值1值2值3值4值5值6值7值8值9屬性4值1值2值3值4值5值6值7值8值9屬性5值1值2值3值4值5值6值7值8值9屬性6值1值2值3值4值5值6值7值8值9屬性7值1值2值3值4值5值6值7值8值9屬性8值1值2值3值4值5值6值7值8值9屬性9值1值2值3值4值5值6值7值8值9現(xiàn)在,我們可以采用一個(gè)10X10的
35、表格來儲(chǔ)存數(shù)據(jù)了。而每個(gè)單元格的內(nèi)容需要占用一定的儲(chǔ)存空間,我們可以用一個(gè)三維數(shù)組charfeature[10][10][10]來表示這種結(jié)構(gòu)的數(shù)據(jù)。用來容納9個(gè)屬性的9個(gè)值。第0行,我們用來儲(chǔ)存分類數(shù)據(jù)。而第一行的第一列沒有被使用,而其中含有10個(gè)char類型的數(shù)據(jù)我們可以用它來儲(chǔ)存屬性值的多少。如圖:分類的個(gè)數(shù)屬性1值的個(gè)數(shù)屬性2值的個(gè)數(shù)...........屬性9值的個(gè)數(shù)前一段的數(shù)據(jù):分類:yesno屬性outlook:sunnyover