基于WEKA平臺的決策樹算法設(shè)計與實現(xiàn)
本文關(guān)鍵詞:基于WEKA平臺的決策樹算法設(shè)計與實現(xiàn),由筆耕文化傳播整理發(fā)布。
碩士學(xué)位論文第二章WEKA平臺下的決策樹算法性能;分類的核心過程就是為數(shù)據(jù)集構(gòu)造一個合適的分類器,;(1)預(yù)測準(zhǔn)確度預(yù)測準(zhǔn)確度是用得最多的一種比較尺;型分類任務(wù),目前公認(rèn)的方法是lO遍分層交叉驗證法;(2)計算復(fù)雜度計算復(fù)雜度依賴于具體的實現(xiàn)細(xì)節(jié)和;掘中,由于操作對象是巨量的數(shù)據(jù)庫,因此空間和時間;(3)模型描述的簡潔度對于描述型的分類任務(wù),模型;例如,采用
碩士學(xué)位論文第二章WEKA平臺下的決策樹算法性能分析測,這樣就可以從歷史數(shù)據(jù)記錄中自動推導(dǎo)出給定數(shù)據(jù)的推廣描述,從而能對未來數(shù)據(jù)進(jìn)行預(yù)測。
分類的核心過程就是為數(shù)據(jù)集構(gòu)造一個合適的分類器,分類器能把數(shù)據(jù)庫中數(shù)據(jù)項映射到某一個給定的類別。構(gòu)造分類器需要對輸入數(shù)據(jù)進(jìn)行分析,一般用一個訓(xùn)練樣本數(shù)據(jù)集作為輸入數(shù)據(jù),訓(xùn)練集(TrainingSet)是一條條的數(shù)據(jù)庫記錄(Record)或元組構(gòu)成的,每一條記錄包含若干條屬性(Attribute),組成一個特征向量t.訓(xùn)練集的每條記錄還有一個特定的類別標(biāo)記(ClassLabel)與之對應(yīng)。該類別標(biāo)記是系統(tǒng)的輸入,通常是以往的一些經(jīng)驗數(shù)據(jù)。一個具體樣本的形式可為樣本向量:(vl,v2….,re;c)。在這里vi表示字段值,c表示類別【lsl。目前構(gòu)造分類器的方法主要有決策樹法、神經(jīng)網(wǎng)絡(luò)方法、近鄰學(xué)習(xí),貝葉斯法、基于事例的學(xué)習(xí)等方法等。這些不同的分類器各有優(yōu)缺點,有三種分類器評價或比較尺度“91:
(1)預(yù)測準(zhǔn)確度預(yù)測準(zhǔn)確度是用得最多的一種比較尺度,特別是對于預(yù)測
型分類任務(wù),目前公認(rèn)的方法是lO遍分層交叉驗證法。
(2)計算復(fù)雜度計算復(fù)雜度依賴于具體的實現(xiàn)細(xì)節(jié)和硬件環(huán)境,在數(shù)據(jù)挖
掘中,由于操作對象是巨量的數(shù)據(jù)庫,因此空間和時間的復(fù)雜度問題將是非常重要的一個環(huán)節(jié)。
(3)模型描述的簡潔度對于描述型的分類任務(wù),模型描述越簡潔越受歡迎,
例如,采用規(guī)則表示的分類器構(gòu)造法就更有用,而神經(jīng)網(wǎng)絡(luò)方法產(chǎn)生的結(jié)果就難以理解。
數(shù)據(jù)挖掘的分類技術(shù)可以從大量數(shù)據(jù)中提取出感興趣的數(shù)據(jù)模型,并能夠?qū)?shù)據(jù)未來的發(fā)展趨勢進(jìn)行預(yù)測,已經(jīng)廣泛應(yīng)用在疾病診斷、機(jī)器學(xué)習(xí)、模式識別、客戶分類、金融服務(wù)等領(lǐng)域,目前來說還不存在一種放之四海皆準(zhǔn)的分類方法,根據(jù)應(yīng)用背景及相關(guān)數(shù)據(jù)特征的不同需要針對性的采用不同的分類方法。當(dāng)前研究的主流是將多種分類方法進(jìn)行融合,最常用的方法有組合方法和選擇方法兩類。
2.1.2決策樹
決策樹(DecisionTree)又稱為判定樹,是一種具有二個以上分支的流程圖狀樹結(jié)構(gòu),除根節(jié)點不存在入邊外,其他所有節(jié)點都有一條入邊、零條或者一條出邊。決策樹的每個內(nèi)部結(jié)點就是一個決策屬性,代表訓(xùn)練樣本集中一個非類別屬性的測試,且每個結(jié)點都與訓(xùn)練樣本集的一個子集相關(guān).每個分枝代表一個測試的輸出結(jié)果。每個葉子結(jié)點用一個類屬性來標(biāo)記,代表某種條件下的一個多維數(shù)據(jù)集,也稱為一個類或類分布網(wǎng)。
決策樹由下列元素構(gòu)成:一個非根結(jié)點n;與n相關(guān)的訓(xùn)練樣本子集F(n);7
碩士學(xué)位論文第二章WEKA平臺下的決策樹算法性能分析從根結(jié)點r到n的路徑r(nl,112,...ni'11)。其中F(n)就是訓(xùn)練樣本集中滿足r(nl,n2,...ni,n)結(jié)點的測試的輸出結(jié)果。使用決策樹進(jìn)行分類的過程就是從這棵樹的根結(jié)點開始,不斷測試各個結(jié)點的特定屬性,然后按照給定實例的該屬性值對應(yīng)的樹枝向下移動,當(dāng)找到一個新結(jié)點作為下級子樹的根時,再從此新的根結(jié)點不斷的用測試節(jié)點代替葉結(jié)點,這樣不斷循環(huán)遞歸,直至達(dá)到特定的終止條件為止,最后各級子樹上重復(fù)執(zhí)行產(chǎn)生的樹型結(jié)構(gòu)共同構(gòu)成了決策樹。因此,一旦生成了一棵判定樹,很容易根據(jù)根節(jié)點到葉子節(jié)點的路徑,得到IF.THEN形式的分類規(guī)則。路徑上每個內(nèi)部節(jié)點的測試條件的合取形成規(guī)則的前件fIF部分),用類屬性標(biāo)記的葉子節(jié)點形成規(guī)則的后件(儺N部分)瞰1,221。決策樹的構(gòu)建一般分為成兩個階段:
(1)生成決策樹
決策樹生成的過程中,輸入為訓(xùn)練樣本數(shù)據(jù)集,決策樹為最終輸出結(jié)果。決策樹的每一個決策結(jié)點對應(yīng)元組進(jìn)行分類的一個決策屬性(測試屬性),分枝對應(yīng)著元組按該屬性進(jìn)一步劃分的取值特征,葉子代表類或類的分布。首先,根據(jù)用戶的實際需要選擇類別標(biāo)識屬性和決策樹的決策屬性集,決策屬性集是指在候選屬性(除了類別標(biāo)識屬性之外的所有屬性)中選擇的屬性集,然后開始構(gòu)造決策樹。決策樹歸納的基本算法是貪心算法,是以自頂向下遞歸的各個擊破的方式?jīng)Q策樹。
(2)對決策樹剪枝
先利用訓(xùn)練數(shù)據(jù)生成一個測試函數(shù),根據(jù)不同取值建立樹的各個分支和子樹。然后對決策樹進(jìn)行剪枝處理,最后為各個節(jié)點建立分類或決策規(guī)則,利用這些規(guī)則數(shù)據(jù)進(jìn)行分類;跊Q策樹的分類方法與其它分類方法比較起來,具有速度較快、容易轉(zhuǎn)化成簡單且便于理解的分類規(guī)則、容易轉(zhuǎn)換成數(shù)據(jù)庫查詢語句等優(yōu)點,尤其在問題維數(shù)高的情況可以得到很好的分類結(jié)果f1,卯。
數(shù)據(jù)挖掘中的決策樹是一種應(yīng)用廣泛的技術(shù),它可以很方便地轉(zhuǎn)化為分類規(guī)則,是一種非常直觀的分類模式表示形式,故決策樹經(jīng)常被用于分類數(shù)據(jù)和歸納決策規(guī)則,根據(jù)應(yīng)用背景的不同它能夠針對性的對大量數(shù)據(jù)進(jìn)行分類,從中挖掘出潛在的、有價值的信息,并且在處理非數(shù)值型數(shù)據(jù)方面優(yōu)勢明顯。
2.'.3決策樹算法
決策樹算法是一種應(yīng)用比較廣泛的歸納推理分類方法,它采用自頂向下的方式將從一組訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到的函數(shù)表示為一棵分類決策樹,適用于分類數(shù)據(jù)和歸納決策規(guī)則,其處理流程簡單,算法復(fù)雜度低,特別適合處理較大規(guī)模的數(shù)據(jù)。
決策樹算法先根據(jù)訓(xùn)練子集(A稱為窗口)形成決策樹,如果該樹不能對所有對象給出正確的分類,那么選擇一些實例(Example)加入到窗口(Window)8
碩士學(xué)位論文第二章WEKA平臺下的決策樹算法性能分析中,重復(fù)該過程一直到形成正確的決策集,最終得到一棵樹【加’捌.最有影響和最早的決策樹方法是由Qtlin]alla提出的基于信息熵的ID3算法,但]D3決策樹是一種單變量決策樹,存在概念復(fù)雜難以表達(dá)、抗噪性差等缺陷圈。
大多數(shù)的判定樹算法都包括兩個階段:構(gòu)造樹階段和樹剪枝階段。在構(gòu)造樹階段,通過對分類算法的遞歸調(diào)用,產(chǎn)生一棵完全生長的判定樹。構(gòu)造樹的通用算法描述如下嗍;
MakcDecisionTree(TrainingDamsetn
If口滿足某個中止條件)n肌rcmm;
For(i=l;i<=T中屬性的個數(shù);i++)
評估每個屬性關(guān)于給定的屬性選擇度量的分裂特征:
找出最佳的測試屬性并據(jù)此將T劃分為Tl和T2;
Mal【cDlccisionTr∞clrl);
MakeDecisionTree(他);
EndIf
算法的終止條件一般有三種情況:
1.T中的所有訓(xùn)練樣本都屬于同一個類,則將此節(jié)點作為一個葉子節(jié)點,并以該類標(biāo)記該節(jié)點:
2.沒有屬性可以用做測試屬性;
3.訓(xùn)練樣本的數(shù)量太少(少于用戶提供的某個閾值)。
后兩種情況通常以訓(xùn)練樣本中占優(yōu)勢的類標(biāo)記該葉子節(jié)點。屬性選擇度量有信息增益(informationgain)(如ID3,C4.5等算法),Oini指數(shù)(如SLIQ,SPRINT算法),G-統(tǒng)計等。
通常情況下,一棵能夠完美地分類訓(xùn)練樣本集的判定樹并不是一棵最精確的判定樹,因為這樣的一棵樹對訓(xùn)練樣本集過分敏感,而訓(xùn)練樣本集無可避免的存在噪聲和孤立點。樹剪枝階段的目的就是要剪去過分適應(yīng)訓(xùn)練樣本集的枝條.較為常見的剪枝算法主要有悲觀錯誤率剪枝算法,最小描述長度(MDL)剪枝算法等隨25】.
2.2WEKA平臺的介紹
weka是Waikato大學(xué)開發(fā)的全面的數(shù)據(jù)挖掘系統(tǒng),它用java語言實現(xiàn)并提供了適用于任意數(shù)據(jù)集的數(shù)據(jù)預(yù)處理以及算法性能評估的方法,具有很強(qiáng)的擴(kuò)展性和兼容性,用戶可以根據(jù)具體需要將個性化的算法封裝進(jìn)系統(tǒng),達(dá)到數(shù)據(jù)處理及算法性能評估的目的【14,201.9
碩士學(xué)位論文第二章WEKA平臺下的決策樹算法性能分析2.2.1ARFF文件結(jié)構(gòu)
File一個ARFF(Attribute.Relation
進(jìn)行數(shù)據(jù)讀入的。Format)文件㈣是一個ASCII的文本文件,用來記錄一個有很多屬性的記錄項列表。這個文件是專門用來提供給WEKA
ARFF文件有兩個明顯的部分,一個是頭信息,一個是數(shù)據(jù)信息。
頭信息當(dāng)中包含了關(guān)系的名稱,一個屬性列表(也就是數(shù)據(jù)中的列),以及他們的類型。一個weather數(shù)據(jù)集的頭信息就像這樣:
@.relationweather
@attributeoutlook{sunny,overcast,rainy}
@attribute
@,attributetemperaturerealhumidityreal
@attdbutewindy{TRUE,FALSE}
@.attributeplay{yes,no}
棚文件的數(shù)據(jù)部分就像這樣:
@data
sunny,85,85,,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,n地SE,yes
rainy,68,80,nU,SE,yes
rainy,65,70,TRUE,no
overcast64,65,TRUE,yes
sunny,72,95,FALSE,nosunny,69,70眥SE,yes
rainy,75,80孓戰(zhàn)SE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRI『E,yes
overgast,81,75,FALSE,yes
rainy,71,91,TRUE,no
一行的起始如果是以百分號%開始的,那么這一行就是注釋。@RELATION,@.AYrRmUTE和@DATA是特殊的標(biāo)識。10
碩士學(xué)位論文第二章WEKA平臺下的決策樹算法性能分析
ARFF文件的頭部分:
ARFF文件的頭部分包含關(guān)系聲明以及屬性聲明。
@RELATION聲明:關(guān)系名是在腳文件的開頭定義的。
格式是:@relation<relation-name>
relation-name必須是字符串,當(dāng)一個名字中間有空格時,它必須用引號括起來。
@,ATTRIBUTE聲明:
屬性聲明是以文本中個屬性描述的先后順序捧列的。在數(shù)據(jù)集中的每一個屬性都有一個唯--的@.A'rrRmUTE聲明,用來反應(yīng)其對應(yīng)的數(shù)據(jù)類型。屬性聲明的順序就是數(shù)據(jù)集中列的先后順序。例如,如果一個屬性是第三個聲明的,那么使用者將在文本文件的第三個逗號那里找到它。
@ATrRjBuTE聲明的格式是:@attribute<attribute-name><datmype>
屬性名必須以字母開始。同樣,如果命名中間有空格,就必須用引號括起來。ARFF文件的數(shù)據(jù)部分:
ARFF文件的數(shù)據(jù)部分包含數(shù)據(jù)聲明行和實際的數(shù)據(jù)項。
@date聲明:
有@date的這一行就意味著它是文件數(shù)據(jù)區(qū)的開始。
數(shù)據(jù)實例:
每一行代表一個數(shù)據(jù)實例,換行表示下一個數(shù)據(jù)實例的開始。
每一個數(shù)據(jù)實例的各個屬性值都由逗號分隔開來。而且屬性值的出現(xiàn)順序必須與ARFF文件的頭部分定義的順序一致(例如:第n個數(shù)據(jù)聲明的數(shù)據(jù)值總是第n個屬性域中的值).
這里,空值直接由一個問號來表示,就像:
@data
4.4,?,1.5,?,Iris-setosa
對于字符串和離散屬性就有些麻煩,當(dāng)他們的值中間由空格的時候,就必須用引號來括起來,如下所示:
下載地址:基于WEKA平臺的決策樹算法設(shè)計與實現(xiàn)_圖文63.Doc
【】最新搜索
基于WEKA平臺的決策樹算法設(shè)計與實現(xiàn)_圖文
2009年黃埔區(qū)初中畢業(yè)班綜合測試(二)69
56二次函數(shù)的應(yīng)用 家教專用
58實驗一 類與對象的定義和使用
522016年濮陽醫(yī)學(xué)高等?茖W(xué)1
79車11級互換性習(xí)題課
文獻(xiàn)綜述與參考文獻(xiàn)BYRCH
廣政發(fā)(2005)76號 - 中國寶應(yīng)97
53汽車構(gòu)造地盤習(xí)題和答案5
實驗四 Java數(shù)組與函數(shù)實驗
本文關(guān)鍵詞:基于WEKA平臺的決策樹算法設(shè)計與實現(xiàn),由筆耕文化傳播整理發(fā)布。
本文編號:230977
本文鏈接:http://www.sikaile.net/guanlilunwen/tongjijuecelunwen/230977.html