試驗(yàn)三決策樹算法試驗(yàn)試驗(yàn)報(bào)告_第1頁(yè)
試驗(yàn)三決策樹算法試驗(yàn)試驗(yàn)報(bào)告_第2頁(yè)
試驗(yàn)三決策樹算法試驗(yàn)試驗(yàn)報(bào)告_第3頁(yè)
試驗(yàn)三決策樹算法試驗(yàn)試驗(yàn)報(bào)告_第4頁(yè)
試驗(yàn)三決策樹算法試驗(yàn)試驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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)一、實(shí)驗(yàn)?zāi)康模菏煜ず驼莆諞Q策樹的分類原理、實(shí)質(zhì)和過(guò)程;掌握典型的學(xué)習(xí)算法和實(shí)現(xiàn)技術(shù)。二、實(shí)驗(yàn)原理:決策樹學(xué)習(xí)和分類.三、實(shí)驗(yàn)條件:四、實(shí)驗(yàn)內(nèi)容:根據(jù)現(xiàn)實(shí)生活中的原型自己創(chuàng)建一個(gè)簡(jiǎn)單的決策樹。要求用這個(gè)決策樹能解決實(shí)際分類決策問題。五、實(shí)驗(yàn)步驟:1、驗(yàn)證性實(shí)驗(yàn):(1)算法偽代碼算法Decision_Tree(data,AttributeName)輸入由離散值屬性描述的訓(xùn)練樣本集data;候選屬T集合 AttributeName 。輸出一棵決策樹。(1)創(chuàng)建節(jié)點(diǎn)N;資料.(2) If samples 都在同一類 C中then (3) 返回N作為葉節(jié)點(diǎn),以類 C標(biāo)記; (4) I

2、f attribute_list為空then(5) 返回N作為葉節(jié)點(diǎn),以 samples中最普遍的類標(biāo)記;多數(shù)表決(6) 選才I attribute_list中具有最高信息增益的屬性test_attribute; (7)以test_attribute 標(biāo)記節(jié)點(diǎn) N ;For each test_attribute的已知值 v戈U分 samples ;由節(jié)點(diǎn) N分出一個(gè)對(duì)應(yīng) test_attribute=v 的分支;(10 令 Sv 為 samples 中 test_attribute=v的樣本集合;一個(gè)劃分塊(11) If Sv 為空 then加上一個(gè)葉節(jié)點(diǎn),以 samples中最普遍的類標(biāo)記

3、;(13) Else 加入一個(gè)由 Decision_Tree(Sv,attribute_list-test_attribute)返回節(jié)點(diǎn)值。(2)實(shí)驗(yàn)數(shù)據(jù)預(yù)處理Age:30歲以下標(biāo)記為“1; 30歲以上50歲以下標(biāo)記為“2; 50歲以上標(biāo)記為“3: Sex: FEMAL-甘MALE- 2”Region : INNER CITY-1; TOWN- 2”; RURAL- 3; SUBURBAN-4 Income : 50002 萬(wàn)-1; 2 萬(wàn)4 萬(wàn)-2”; 4 萬(wàn)以上-3 Married Children CarMortgage資料.Pep:以上五個(gè)條件,若為“是”標(biāo)記為“1;若為否”標(biāo)記為然A

4、ge sex region income married children car mortgage pep121121122 TOC o 1-5 h z 21142111212112211213212212212111211212111212112221222212212222222111121212122211資料.212222121112321211121132312232 3332 233133321332133113112111221222211112211121212112221111211211211221121221111112112資料. TOC o 1-5 h z 3133

5、12222324312211313322112(3) Matlab 語(yǔ)句:Tree RulesMatrix= DecisionTree(DataSet, AttributName)六、實(shí)驗(yàn)結(jié)果:資料.The Decision Tree;The Rcot): Attribut re(ioniAttribirt aarriedAttribut Age11Attributsesc11_.leaf 112_.leaf 2I2leaf 2I3_AttributchildrenI1 Attribut income TOC o 1-5 h z |LlafJIII2leaf2III3leaf1|2leaf2|

6、2Attribut carI1Attribut AgeIIleaf2I2leaf1|2leaf IAttribut incomeIIleaf2I2At t ri but mar r i e dII1leafLI|2leaf2|3 leaf 2_ 3At t ribut bo rt g 維 eI1leaf 2|2Attribut car|1leaf 1|2Attribut children4leaf 1資料.Tree =Attribut: 3Child: 1x4 structRulesMatrix =11101Q00112101Q002201010002301II10013Q1211Q02301

7、311001301012Q0210102010220102Q1010Q102Q2010021Q0002002210Q0100222000200230Q0020Q30QQ0I2003000121|003001221003002222資料.實(shí)驗(yàn)程序:function Tree RulesMatrix=DecisionTree(DataSet,AttributName)%輸入為訓(xùn)練集,為離散后的數(shù)字,如記錄 1:1 1 3 2 1 ;%前面為屬性列,最后一列為類標(biāo)if nargin1error(請(qǐng)輸入數(shù)據(jù)集);elseif isstr(DataSet)DataSet AttributValue=re

8、addata2(DataSet);elseAttributValue=;endend資料.if narginmostlabelnum)mostlabelnum=length(ValRecords(i).matrix);mostlabel=i;end資料.endTree.Attribut=mostlabel;Tree.Child=;return;endfor i=1:length(Attributs)Sa(i) ValRecord=ComputEntropy(DataSet,i);Gains(i)=S-Sa(i);AtrributMatric(i).val=ValRecord;endmaxval

9、 maxindex=max(Gains);Tree.Attribut=Attributs(maxindex);Attributs2=Attributs(1:maxindex-1) Attributs(maxindex+1:length(Attributs);資料.for j=1:length(AtrributMatric(maxindex).val)DataSet2=DataSet(AtrributMatric(maxindex).val(j).matrix,1:maxindex-1)DataSet(AtrributMatric(maxindex).val(j).matrix,maxindex

10、+1:size(DataSet,2);if(size(DataSet2,1)=0)mostlabelnum=0;mostlabel=0;for i=1:length(ValRecords)if(length(ValRecords(i).matrix)mostlabelnum)mostlabelnum=length(ValRecords(i).matrix);mostlabel=i;endendTree.Child(j).root.Attribut=mostlabel;資料.Tree.Child(j).root.Child=;elseTree.Child(j).root=CreatTree(Da

11、taSet2,Attributs2);endendendfunction Entropy RecordVal=ComputEntropy(DataSet,attribut) %計(jì)算信息嫡if(attribut=0)clnum=0;for i=1:size(DataSet,1)if(DataSet(i,size(DataSet,2)clnum)% 防止下標(biāo)越界classnum(DataSet(i,size(DataSet,2)=0;clnum=DataSet(i,size(DataSet,2);資料.RecordVal(DataSet(i,size(DataSet,2).matrix=;endc

12、lassnum(DataSet(i,size(DataSet,2)=classnum(DataSet(i,size(DataSet,2)+1;RecordVal(DataSet(i,size(DataSet,2).matrix=RecordVal(DataSet(i,size(DataSet,2).matrix i; endEntropy=0;for j=1:length(classnum)P=classnum(j)/size(DataSet,1);if(P=0)Entropy=Entropy+(-P)*10g2(P);endend資料.elsevalnum=0;for i=1:size(Da

13、taSet,1)if(DataSet(i,attribut)valnum)% 防止參數(shù)下標(biāo)越界clnum(DataSet(i,attribut)=0;valnum=DataSet(i,attribut);Valueexamnum(DataSet(i,attribut)=0;RecordVal(DataSet(i,attribut).matrix=; %將編號(hào)保留下來(lái),以方便后面按值分割數(shù)據(jù)集end if(DataSet(i,size(DataSet,2)clnum(DataSet(i,attribut)% 防止下標(biāo)越界Value(DataSet(i,attribut).classnum(Dat

14、aSet(i,size(DataSet,2)=0;clnum(DataSet(i,attribut)=DataSet(i,size(DataSet,2); end資料.Value(DataSet(i,attribut).classnum(DataSet(i,size(DataSet,2)= Value(DataSet(i,attribut).classnum(DataSet(i,size(DataSet,2)+1;Valueexamnum(DataSet(i,attribut)= Valueexamnum(DataSet(i,attribut)+1;RecordVal(DataSet(i,at

15、tribut).matrix=RecordVal(DataSet(i,attribut).matrix i;endEntropy=0;for j=1:valnumEntropys=0;for k=1:length(Value(j).classnum)P=Value(j).classnum(k)/Valueexamnum(j);if(P=0)Entropys=Entropys+(-P)*log2(P);endend資料.Entropy=Entropy+(Valueexamnum(j)/size(DataSet,1)*Entropys;endendendfunction showTree(Tree

16、,level,value,branch,AttributValue,AttributName) blank=;for i=1:level-1if(branch(i)=1)blank=blank 口;elseblank=blank ;endend資料.blank=blank if(level=0)blank= (The Root):;elseif isempty(AttributValue)blank=blank | int2str(value) ;elseblank=blank | value ;endendif(length(Tree.Child)=0) %非葉子節(jié)點(diǎn)if isempty(A

17、ttributName)disp(blank Attribut int2str(Tree.Attribut);資料.elsedisp(blank Attribut AttributNameTree.Attribut);endif isempty(AttributValue)for j=1:length(Tree.Child)-1showTree(Tree.Child(j).root,level+1,j,branch 1,AttributValue,AttributName);endshowTree(Tree.Child(length(Tree.Child).root,level+1,lengt

18、h(Tree.Child),branch(1:length(branch)-1) 0 1,AttributValue,AttributName); elsefor j=1:length(Tree.Child)-1showTree(Tree.Child(j).root,level+1,AttributValueTree.Attributj,branch 1,AttributValue,AttributName);endshowTree(Tree.Child(length(Tree.Child).root,level+1,AttributValueTree.Attributlength(Tree.Child),branch(1:length(branch)-1)資料.1,AttributValue,AttributName);endelseif isempty(AttributValue)disp(blank leaf int2str(Tree.Attribut);elsedisp(blank leaf AttributValuelength(AttributValue)Tree.Attribut);endendendfunction Rules=getRule(Tree)if(length(Tree.Child)=0)Rules=;資料.for i=1:length

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論