版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 年度硬面堆、藥芯焊線戰(zhàn)略市場(chǎng)規(guī)劃報(bào)告
- 年度鐘表與計(jì)時(shí)儀器競(jìng)爭(zhēng)策略分析報(bào)告
- 二零二五年度特種吊車租賃與運(yùn)輸服務(wù)合同3篇
- 二零二五版高管勞動(dòng)合同樣本:股權(quán)激勵(lì)與競(jìng)業(yè)禁止條款3篇
- 二零二五年空調(diào)銷售與節(jié)能產(chǎn)品認(rèn)證合同3篇
- 2025年度城市綠地養(yǎng)護(hù)及植物配置優(yōu)化合同4篇
- 2025年度私人診所與患者之間的遠(yuǎn)程醫(yī)療服務(wù)合同
- 2024版簡(jiǎn)易協(xié)議管理軟件解決方案一
- 二零二五年度新能源材料采購(gòu)代理協(xié)議3篇
- 二零二四年太陽(yáng)能光伏發(fā)電項(xiàng)目合同
- 全過(guò)程造價(jià)咨詢項(xiàng)目保密及廉政執(zhí)業(yè)措施
- 定制柜子保修合同協(xié)議書
- GB/T 42249-2022礦產(chǎn)資源綜合利用技術(shù)指標(biāo)及其計(jì)算方法
- 扶梯吊裝方案
- GB/T 712-2011船舶及海洋工程用結(jié)構(gòu)鋼
- GB/T 26846-2011電動(dòng)自行車用電機(jī)和控制器的引出線及接插件
- GB/T 18015.1-1999數(shù)字通信用對(duì)絞或星絞多芯對(duì)稱電纜第1部分:總規(guī)范
- 院醫(yī)學(xué)實(shí)習(xí)請(qǐng)假審批表
- 2020-2021學(xué)年青島版五年級(jí)上冊(cè)期末考試數(shù)學(xué)試卷(1)1
- 導(dǎo)師指導(dǎo)記錄表
- 七年級(jí)數(shù)學(xué)家長(zhǎng)會(huì)課件
評(píng)論
0/150
提交評(píng)論