人工智能實(shí)驗(yàn)三樸素貝葉斯分類實(shí)驗(yàn)_第1頁(yè)
人工智能實(shí)驗(yàn)三樸素貝葉斯分類實(shí)驗(yàn)_第2頁(yè)
人工智能實(shí)驗(yàn)三樸素貝葉斯分類實(shí)驗(yàn)_第3頁(yè)
人工智能實(shí)驗(yàn)三樸素貝葉斯分類實(shí)驗(yàn)_第4頁(yè)
人工智能實(shí)驗(yàn)三樸素貝葉斯分類實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三:分類算法實(shí)驗(yàn)智能 1402 201408070221 李帥玲目錄實(shí)驗(yàn)三:分類算法實(shí)驗(yàn) 1一實(shí)驗(yàn)?zāi)康?2二實(shí)驗(yàn)的硬件、軟件平臺(tái) 2三實(shí)驗(yàn)內(nèi)容及步驟 2四、思考題: 2五實(shí)驗(yàn)報(bào)告 3(一)算法的基本原理 3(二)實(shí)驗(yàn)框架與結(jié)果 41. 汽車評(píng)估數(shù)據(jù)集 42. 程序框架 63. 實(shí)驗(yàn)結(jié)果 6(三)實(shí)驗(yàn)分析和思考題 7(四)實(shí)驗(yàn)源代碼 8實(shí)驗(yàn)?zāi)康?. 了解樸素貝葉斯算法和決策樹(shù)算法的基本原理;2. 能夠使用樸素貝葉斯算法 或者 決策樹(shù)算法對(duì)數(shù)據(jù)進(jìn)行分類3. 學(xué)會(huì)對(duì)于分類器的性能評(píng)估方法二實(shí)驗(yàn)的硬件、軟件平臺(tái)硬件:計(jì)算機(jī)軟件:操作系統(tǒng): WINDOWS8.1應(yīng)用軟件: Java三實(shí)驗(yàn)內(nèi)容及步驟(

2、一)實(shí)驗(yàn)內(nèi)容:利用貝葉斯算法或者決策樹(shù)算法進(jìn)行數(shù)據(jù)分類操作 數(shù)據(jù)集:汽車評(píng)估數(shù)據(jù)集 ( 見(jiàn)附錄)(二)實(shí)驗(yàn)步驟:1仔細(xì)閱讀并了解實(shí)驗(yàn)數(shù)據(jù)集;2使用任何一種熟悉的計(jì)算機(jī)語(yǔ)言 ( 比如 C,Java 或者 matlab) 實(shí)現(xiàn)樸素貝葉斯算法或者決策樹(shù) 算法;3利用樸素貝葉斯算法或者決策樹(shù)算法在訓(xùn)練數(shù)據(jù)上學(xué)習(xí)分類器, 訓(xùn)練數(shù)據(jù)的大小分別設(shè)置為:前 100個(gè)數(shù)據(jù),前 200個(gè)數(shù)據(jù),前 500個(gè)數(shù)據(jù),前 700個(gè)數(shù)據(jù),前 1000個(gè)數(shù)據(jù),前 1350個(gè)數(shù)據(jù); 4利用測(cè)試數(shù)據(jù)對(duì)學(xué)習(xí)的分類器進(jìn)行性能評(píng)估;5統(tǒng)計(jì)分析實(shí)驗(yàn)結(jié)果并上交實(shí)驗(yàn)報(bào)告;四、思考題:1. 兩種算法在訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集上的性能一致嗎?哪個(gè)

3、比較好?2. 提出一種提高分類器性能的方法并通過(guò)實(shí)驗(yàn)驗(yàn)證。五實(shí)驗(yàn)報(bào)告J算法的基本原理貝葉斯定理:表示事件X已經(jīng)發(fā)生的前提下,事件Y發(fā)生的概率,叫做事件X發(fā)生下事件Y的條件概率,其基本求解公式為:樸素貝葉斯分類器:=argmax P(ava2)an| v) P(vj樸素貝葉斯的思想基礎(chǔ)是這樣的: 對(duì)于給出的待分類項(xiàng),求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,哪個(gè)最大,就認(rèn)為此待分類項(xiàng)屬于哪個(gè)類別。樸素貝葉斯分類的正式定義如下:1、設(shè)加1 G陰.嚴(yán)扯"応礎(chǔ)訃為一個(gè)待分類項(xiàng),而每個(gè) a為x的一個(gè)特征屬性。2、 有類別集合【二八沐:3、 計(jì)算F(如迓(呦"r F(如玖4、 如果F如

4、叨=啊處叭“F(血陰,則® $隸。那么現(xiàn)在的關(guān)鍵就是如何計(jì)算第 3步中的各個(gè)條件概率。我們可以這么做:1、找到一個(gè)已知分類的待分類項(xiàng)集合,這個(gè)集合叫做訓(xùn)練樣本集。2、統(tǒng)計(jì)得到在各類別下各個(gè)特征屬性的條件概率估計(jì)。即戸仏I如)仙血佃iMh卩仙阪. P(2血z珂砧畫);圳)3、如果各個(gè)特征屬性是條件獨(dú)立的,則根據(jù)貝葉斯定理有如下推導(dǎo):因?yàn)榉帜笇?duì)于所有類別為常數(shù),因?yàn)槲覀冎灰獙⒎肿幼畲蠡钥?。又因?yàn)楦魈卣鲗傩允菞l件獨(dú)立的,所以有: 整個(gè)樸素貝葉斯分類分為三個(gè)階段:第一階段:準(zhǔn)備工作階段,這個(gè)階段的任務(wù)是為樸素貝葉斯分類做必要的準(zhǔn)備,主要工作是根據(jù)具體情況確定特征屬性,并對(duì)每個(gè)特征屬性進(jìn)行適

5、當(dāng)劃分,然后由人工對(duì)一部分待分類項(xiàng)進(jìn)行分類,形成訓(xùn)練樣本集合。這一階段的輸 入是所有待分類數(shù)據(jù),輸出是特征屬性和訓(xùn)練樣本。這一階段是整個(gè)樸素貝葉斯分類中唯一需要人工完成的階段, 其質(zhì)量對(duì)整個(gè)過(guò)程將有重要影響,分類器的質(zhì)量很大程度上由特征屬性、特征屬性劃分及訓(xùn)練樣本質(zhì)量決定。第二階段:分類器訓(xùn)練階段,這個(gè)階段的任務(wù)就是生成分類器,主要工作是計(jì)算每個(gè)類別在訓(xùn)練樣本中的出現(xiàn)頻率及每個(gè)特征屬性劃分對(duì)每個(gè)類別的條件概率估計(jì),并將結(jié)果記錄。其輸入是特征屬性和訓(xùn)練樣本,輸出是分類器。這一階段是機(jī)械性階段,根據(jù)前面討論的公式可以由程序自動(dòng)計(jì)算完成。第三階段:應(yīng)用階段。這個(gè)階段的任務(wù)是使用分類器對(duì)待分類項(xiàng)進(jìn)行分

6、類,其輸入是分類器和待分類項(xiàng),輸出是待分類項(xiàng)與類別的映射關(guān)系。這一階段也是機(jī)械性階段,由程序完成。決策樹(shù):決策樹(shù)是一個(gè)類似于流程圖的樹(shù)結(jié)構(gòu),其中每個(gè)內(nèi)部結(jié)點(diǎn)表示在一個(gè)屬性上的測(cè)試,每個(gè)分支代表一個(gè)測(cè)試輸入,而每個(gè)樹(shù)葉結(jié)點(diǎn)代表類或類分布。數(shù)的最頂層結(jié)點(diǎn)是根結(jié)點(diǎn)。一棵典型的決策樹(shù)如圖所示。它表示概念buys_computer,它預(yù)測(cè)顧客是否可能購(gòu)買計(jì)算機(jī)。內(nèi)部結(jié)點(diǎn)用矩形表示,而樹(shù)葉結(jié)點(diǎn)用橢圓表示。為了對(duì)未知的 樣本分類,樣本的屬性值在決策樹(shù)上測(cè)試。決策樹(shù)從根到葉結(jié)點(diǎn)的一條路徑就對(duì)應(yīng)著一條合取規(guī)則,因此決策樹(shù)容 易轉(zhuǎn)化成分類規(guī)則。(二)實(shí)驗(yàn)框架與結(jié)果1. 汽車評(píng)估數(shù)據(jù)集汽車評(píng)估數(shù)據(jù)集包含1728個(gè)數(shù)

7、據(jù),其中訓(xùn)練數(shù)據(jù)1350,測(cè)試數(shù)據(jù) 個(gè)。每個(gè)數(shù)據(jù)包含6個(gè)屬性,所有的數(shù)據(jù)分為4類:Class Values:un acc, acc, good, vgoodAttributes:buying: vhigh, high, med, low.maint: vhigh, high, med, low.doors: 2, 3, 4, 5more.pers ons: 2, 4, more.lug_boot: small, med, big.safety: low, med, high.部分訓(xùn)練集截圖:learn.twt 車-vhlghj Thl2r 2 small, low, imacc vhi 氐h*

8、 Thigh, 'A, 2sual 1 f mpd” unacc vtiigh, vhi呂h 2. 2】small, hi£h, unacc vhigh, Thigh, 2, 2】ned, 1 ov, unacc vhigh, vhl呂h, 2, 2 nsd” iubiL, unacc vhigh, vhigh. 2r 2, hi unacc vhieh 2, 2, bi g, low, unaccvhigH, yhigli, 2, 2, big, neil, unacc vhish* vhi2, 2, bigj hi名h,unace vhigh, vhieh, 2, 4,

9、srnll, low, unacc vlllsll, Th! 11, 2, 4; SBLdll, IJLtill, llILdCC Thigh, vhigli, 2, 4: small! hlgji, unaec vhigh, vhi 2, 43 ned, 1 oir una de vhishR vhiph 2, 4, ned, me山 unacc vhj.ghp 常hi醫(yī)h, 2, 4: med, high, unaCC vhiahF vhi2h 4j big1 ow1 unacc vhi ghP vhieti, 2, 4, bi g, ned, irnaec viiigii, vliigh

10、, 2, 4: bls, high, uuacc vhigh, vhigh, 2, morc3 snail, low, uagcc vhi&h, vhi'2, moro, silaIIujciacc vhish. vhiBh, 2, more, small, high* unacc viiigli, vlii gli, 2, Mui'ti, mud, luv, uuacc vhi&hp vhigh, 2, moro, MUid, nod, unacc vhi ghF vhi gti, 2, mnrp, hi eh, unacc vhigh. 2, mure, b

11、it, luvT uniicc;vhigh, irhigh, 2f more, big, ned, unacc部分測(cè)試集截圖:test, txt -記尋文蹴町褊輯巳宿式Q直看(V)務(wù)助巴low, vhigh, 4, 2, small, low, unacc low> vhigh, 4, 2, small, jwd, unacc low, vhigh, 4, 2, smll? high, unacc low, vhigh, 4, 2r mad, low, unacc 1 aw, vhi gh, 4, 2, ulbd, nodT unacc low, vhigh, |4f 2, med, h

12、ighj unacc low, vhigh, 4, 2, big, low, unacc 1 oWj vhi gh, 4, 2, bimed. una.ce 1 awr vhi ghj 4T 2, hi gh, unacc low, vhigh, 4, 4, small, lew, iinacc low, vhi gh, 4, 4, small, med, unacc 1 cbw, vhighj 44, smallj highj acc 1 civf, vhi gh, 4* 4, m.ed, Lovtr unacc low, vhigh, 4, 4)med, med, acc law, vhi

13、 gh, 4, 4, uiEd, high3 acc low, vhighj 4, 4. bi壓,low, una.ee low, vhi gh 1, 4)bi&, med. ace low, vhigh, 4, 4, bi g, high, acc low, vhigh, 4, more, small, low, unacc 1 ow, vhi gh, 4, iuqte, smal 1, ined, unacc 1 ow, vhighj 4, rooTe, small, high, acc2. 程序框架i獲取訓(xùn)練樣本2. 對(duì)每個(gè)類別進(jìn)行統(tǒng)計(jì)(Class Values: unacc,

14、acc, good, vgood3. 對(duì)每個(gè)屬性進(jìn)行統(tǒng)計(jì)(buying: vhigh, high, med, low.ma int: vhigh, high, med, low.doors: 2, 3, 4, 5more.pers ons: 2, 4, more.lug_boot: small, med, big.safety: low, med, high.)4. 計(jì)算并存儲(chǔ)每個(gè)屬性在類別中的條件概率,例如P(buing:vhigh | class value:unacc)= ( buing中vhigh的數(shù)量)除以(classValue 中 unacc 的數(shù)量)5. 獲取測(cè)試集樣本,將測(cè)試數(shù)

15、據(jù)放入訓(xùn)練集6. 根據(jù)每一條測(cè)試數(shù)據(jù)的前六項(xiàng),每一項(xiàng)在訓(xùn)練集的每個(gè)類別中都分別有一個(gè)概率值,將每一類別中六個(gè)概率值相乘,可得四個(gè)評(píng)估概率。例如,對(duì)于測(cè)試數(shù)據(jù)(low,vhigh,4,2,small,low,u nacc)評(píng)價(jià)結(jié)果 V1=p(low|unacc)*p(vhigh |unacc)*p(4 |unacc)*p(2 |unacc)*p(small |unacc)*p(low,|unacc)V2=p(low|acc)*p(vhigh |acc)*p(4 |acc)*p(2 |acc)*p(small |acc)*p(low,|acc)V3=p(low|good)*p(vhigh |goo

16、d)*p(4 |good)*p(2 |good)*p(small |good)*p(low,|good)V4=p(low|vgood)*p(vhigh |vgood)*p(4 |vgood)*p(2 |vgood)*p(small |vgood)*p(low,|vgood)比較VI、V2、V3、V4中概率最大的評(píng)價(jià),可得評(píng)價(jià)結(jié)果7. 對(duì)評(píng)估概率進(jìn)行比價(jià),可得最大概率,最大概率指向的類別即為測(cè)試結(jié)果8. 測(cè)試結(jié)果與測(cè)試數(shù)據(jù)最后一項(xiàng)進(jìn)行比對(duì),若相同表示測(cè)試正確,返回true,反之,若不相同,則返回false。9. 統(tǒng)計(jì)true的數(shù)量,除以測(cè)試樣本數(shù)量,可得分類器的準(zhǔn)確率。3. 實(shí)驗(yàn)結(jié)果部分截圖:f

17、alsefalsetruefalsefalsetruef alsfalsetruefalsefalsetruefa la efalse分類器的淮確率為:ga.7S306C得知:此種訓(xùn)練集下得到的樣本測(cè)試準(zhǔn)確率為68.78%左右。樸素貝葉斯的測(cè)試性能與訓(xùn)練集有關(guān),訓(xùn)練集好則準(zhǔn)確率高。(三) 實(shí)驗(yàn)分析和思考題1. 兩種算法在訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集上的性能一致嗎?哪個(gè)比較好?決策樹(shù)有比較好的準(zhǔn)確率和相對(duì)較好的標(biāo)準(zhǔn)誤差,但是在這背后,很有可能是以較大錯(cuò)誤率作為代價(jià),這點(diǎn)可以從訓(xùn)練混淆矩陣中得到印證;而樸素貝葉斯分類算法的準(zhǔn)確率相對(duì)較低,而標(biāo)準(zhǔn)誤差也較高。樸素貝葉斯算法時(shí)間復(fù)雜度:0( n3)決策樹(shù)算法

18、時(shí)間復(fù)雜度:0(n*|S|*log|S|)其中l(wèi)og以2為底,n為屬性的個(gè)數(shù),|S|為訓(xùn)練樣本的個(gè)數(shù)而且樸素貝葉斯可能存在 0概率問(wèn)題存在準(zhǔn)確度問(wèn)題,樸素貝葉斯分類器是基于樣本屬性條件獨(dú)立的假設(shè)的前提下的,但是實(shí)際情況可能并不成立,這樣也就缺失準(zhǔn)確性了 解決樸素貝葉斯準(zhǔn)確性問(wèn)題提出的一種方法叫做:貝葉斯網(wǎng)絡(luò)(Bayesian Belief Networks )2. 提出一種提高分類器性能的方法并通過(guò)實(shí)驗(yàn)驗(yàn)證。Adaboost :基于錯(cuò)誤提升分類器的性能Adaboost是一種迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器,即弱分類器,然后把這些弱分類器集合起來(lái),構(gòu)造一個(gè)更強(qiáng)的最終分類器,

19、比起弱分類器,這個(gè)“強(qiáng)”分類器的錯(cuò)誤率會(huì)低很多。Adaboost算法本身是改變數(shù)據(jù)分布實(shí)現(xiàn)的,它根據(jù)每次訓(xùn)練集之中的每個(gè)樣本的分類是否正確,以及上次的總體分類的準(zhǔn)確率,來(lái)確定每個(gè)樣本的權(quán)值。將修改權(quán)值的新數(shù)據(jù)送給下層分類器進(jìn)行訓(xùn)練,然后將每次訓(xùn)練D, 開(kāi)始時(shí)權(quán)重 D初始化為相等的值;得到的分類器融合起來(lái),作為最后的決策分類器。以下給出Adaboost算法的運(yùn)行過(guò)程:1. 訓(xùn)練數(shù)據(jù)中的每個(gè)樣本,并賦予其一個(gè)權(quán)重,這些權(quán)重構(gòu)成向量2. 先在訓(xùn)練樣本上訓(xùn)練得到第一個(gè)弱分類器并計(jì)算分類器的錯(cuò)誤率 ;3. 在同一數(shù)據(jù)集上再次訓(xùn)練弱分類器,在分類器的二次訓(xùn)練中,會(huì)重新調(diào)整每個(gè)樣本的權(quán)重,其中第一次分類正確

20、的樣本的權(quán)重將會(huì)降低,而分類錯(cuò)誤的樣本權(quán)重將會(huì)提高;這一組4. 為了從所有弱分類器中得到最終的分類結(jié)果,Adaboost為每個(gè)分類器都分配了一個(gè)權(quán)重值alpha,值是基于每個(gè)弱分類器的錯(cuò)誤率進(jìn)行計(jì)算的。其中,錯(cuò)誤率由以下公式定義:耒止準(zhǔn)分婁的樣衣彳、斂所有樣本個(gè)數(shù)忤)(四)實(shí)驗(yàn)源代碼package rgzn;import java.io.BufferedReader;import java.io.File;import java.io.FileNotF oun dExceptio n;import java.io.FileReader;import java.i o.ln putStreamR

21、eader;import java.math.BigDecimal;import java .n et.URL;import java.util.ArrayList;import java.util.Sca nner;import java.util.Vector;*樸素貝葉斯* author Dyl*/汽車屬性class Car public String buying;/ vhigh,high,med,lowpublic String main t;/ vhigh,high,med,lowpublic String doors;/ 2,3,4,5morepublic String pers

22、 ons; 2,4,morepublic String lug_boot;/ small ,med,bigpublic String safety;/ low,med,highpublic String ClassValues;/ un acc,acc, good,vgoodpublic Stri ng predictResult = new Stri ng5;記錄預(yù)測(cè)結(jié)果 public class NavieBayes Vector<Car> vector;int testTotal = 0;/ 訓(xùn)練樣本數(shù)量int predictTotal = 0;/ 測(cè)試樣本的數(shù)據(jù)int pr

23、edictSucess = 0;/ 預(yù)測(cè)成功的數(shù)量String ClassValueName = "unacc", "acc", "good", "vgood" ;/ 存儲(chǔ)數(shù)量int ClassValueTotal = new int4;/ unacc-0 acc-1 good-2 vgood-3int buying_Vlaue = new int44; / 前面是自己的屬性,后面是 value 的屬性 int maint_Value = new int44;int doors_Value = new int44;

24、int persons_Value = new int34;int lugboot_Value = new int34;int safety_Value = new int34;/ 存儲(chǔ)概率float ClassValueTotal_gl = new float4;/ unacc-0 acc-1 good-2 vgood-3float buying_Vlaue_gl = new float44; / 前面是自己的屬性,后面是 value 的屬性 float maint_Value_gl = new float44;float doors_Value_gl = new float44;float

25、 persons_Value_gl = new float34;float lugboot_Value_gl = new float34;float safety_Value_gl = new float34;public NavieBayes() vector = new Vector<Car>();/ 存儲(chǔ)數(shù)據(jù)/* 主函數(shù)*/public static void main(String args) throws Exception NavieBayes pSbys = new NavieBayes(); pSbys.getData();/ 獲取訓(xùn)練樣本pSbys.dataTes

26、t();傳入測(cè)試樣本數(shù)據(jù),檢測(cè)其分類器的性能 pSbys.showGL();/ 展示結(jié)果*/統(tǒng)計(jì)數(shù)量,為計(jì)算概率做準(zhǔn)備private void dataTongJi(Car car) for(int i=0;i<4;i+)if(car.ClassValues.equals(ClassValueNamei)ClassValueTotali+;/buying:vhigh,high,med,low if(car.buying.equals("vhigh") buying_Vlaue0i+; else if(car.buying.equals("high"

27、)buying_Vlaue1i+; else if(car.buying.equals("med") buying_Vlaue2i+;else buying_Vlaue3i+; /maint_Value:vhigh,high,med,low if(car.maint.equals("vhigh") maint_Value0i+; else if(car.maint.equals("high") maint_Value1i+; else if(car.maint.equals("med") maint_Value2i

28、+; else maint_Value3i+; /doors_Value:2,3,4,5more if(car.doors.equals("2") doors_Value0i+; else if(car.doors.equals("3") doors_Value1i+; else if(car.doors.equals("4") doors_Value2i+; else doors_Value3i+; /persons_Value:2,4,more if(car.persons.equals("2") person

29、s_Value0i+; else if(car.persons.equals("4") persons_Value1i+; else persons_Value2i+;/lugboot_Value:small ,med,big if(car.lug_boot.equals("small") lugboot_Value0i+; else if(car.lug_boot.equals("med") lugboot_Value1i+; else lugboot_Value2i+; /safety_Value:low,med,high if(

30、car.safety.equals("low") safety_Value0i+; else if(car.safety.equals("med") safety_Value1i+; else safety_Value2i+;/* * * 概率統(tǒng)計(jì)*/private void gailvTongJi() for (int i = 0; i < ClassValueTotal.length; i+) ClassValueTotal_gli = (float) ClassValueTotali / testTotal;for (int i = 0; i

31、 < buying_Vlaue_gl.length; i+) for (int j = 0; j < buying_Vlaue_gl0.length; j+) buying_Vlaue_glij = (float) buying_Vlaueij / ClassValueTotalj;maint_Value_glij = (float) maint_Valueij / ClassValueTotalj;doors_Value_glij = (float) doors_Valueij / ClassValueTotalj;for (int i = 0; i < persons_V

32、alue_gl.length; i+) for (int k = 0; k < persons_Value_gl0.length; k+) persons_Value_glik = (float) persons_Valueik / ClassValueTotalk;lugboot_Value_glik = (float) lugboot_Valueik/ ClassValueTotalk; safety_Value_glik = (float) safety_Valueik / ClassValueTotalk;/ 結(jié)果顯示/for (int j = 0; j < c.predi

33、ctResult.length; j+) /System.out.print(c.predictResultj + "tt");/private void showGL() for (int i = 0; i < predictTotal; i+) Car c = vector.get(i);System.out.print(c.predictResultc.predictResult.length-1 + "tt"); System.out.println();/ 分類器的準(zhǔn)確率float t = (float) predictSucess /

34、predictTotal;t = (t * 1000) / 10;System.out.println("n 分類器的準(zhǔn)確率為: " + t + "%");* 給定測(cè)試樣本,測(cè)試其分類器性能如何* 讀取數(shù)據(jù)* throws FileNotFoundException*/private void dataTest() throws FileNotFoundException InputStreamReader in = new InputStreamReader(getClass() .getResourceAsStream("test.txt&

35、quot;);Scanner scanner = new Scanner(in); while (scanner.hasNext() predictTotal+;String temp = scanner.nextLine().split(","); Car car = new Car(); car.buying = temp0;car.maint = temp1; car.doors = temp2; car.persons = temp3; car.lug_boot = temp4; car.safety = temp5; car.ClassValues = temp6

36、; vector.add(car);xingnengTest(car);/ 性能測(cè)試 * 對(duì)分類器進(jìn)行性能測(cè)試,判斷其成功率為多少* param car*/private void xingnengTest(Car car) / unacc,acc,good,vgood, P(yi)-ClassValueTotal_gl 、 P(x|yi)=/ low,vhigh,4,2,small,low,unacc 第一條float itemGl;/ 每一條的概率int b, m, d, p, l, s;b = m = d = p = l = s = -1;float MaxGl = 0;/ 臨時(shí)概率if

37、 (car.buying.equals("vhigh") b = 0; else if (car.buying.equals("high") b = 1; else if (car.buying.equals("med") b = 2; else b = 3;if (car.maint.equals("vhigh") m = 0; else if (car.maint.equals("high") m = 1; else if (car.maint.equals("med")

38、 m = 2; else m = 3;if (car.doors.equals("2") d = 0; else if (car.doors.equals("3") d = 1; else if (car.doors.equals("4") d = 2; else d = 3;if (car.persons.equals("2") p = 0; else if (car.persons.equals("4") p = 1; else p = 2;if (car.lug_boot.equals(&

39、quot;small") l = 0; else if (car.lug_boot.equals("med") l = 1; else l = 2;if (car.safety.equals("low") s = 0; else if (car.safety.equals("med") s = 1; else s = 2;int t = 0;/ 記錄最大概率的下標(biāo)int i;/ 如:/ unacc/ low(0.038),vhigh(0.329),4(0.2323),2(0.4545),small(0.3737),low(0.4545),unacc()for (i = 0; i < ClassValueTotal_gl.length; i+) / 計(jì)算在 unacc,acc,good,vgood 下的概率 itemGl = 0;B

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論