weka使用ID3和C4.5算法 分类实验
使用weka做分類任務(wù)并建立相應(yīng)決策樹(ID3算法和C4.5算法)
2.1 決策樹
2.2 ID3算法
2.3 C4.5算法
3.1 數(shù)據(jù)處理
3.2 使用ID3算法
3.3 使用C4.5算法
3.4 ID3和C4.5的比較
1.weka安裝
weka官網(wǎng)Download地址:
https://www.cs.waikato.ac.nz/ml/weka/downloading.html
注意有帶java環(huán)境和不帶java環(huán)境的版本,如果電腦中有JRE環(huán)境選擇后者安裝。
2.相關(guān)理論知識
2.1 決策樹
決策樹是一種特殊的樹形結(jié)構(gòu),一般由節(jié)點和有向邊組成。其中,節(jié)點表示特征、屬性或者一個類。而有向邊包含有判斷條件。決策樹從根節(jié)點開始延伸,經(jīng)過不同的判斷條件后,到達(dá)不同的子節(jié)點。而上層子節(jié)點又可以作為父節(jié)點被進(jìn)一步劃分為下層子節(jié)點。一般情況下,我們從根節(jié)點輸入數(shù)據(jù),經(jīng)過多次判斷后,這些數(shù)據(jù)就會被分為不同的類別。這就構(gòu)成了一顆簡單的分類決策樹。分類樹的輸出是一個標(biāo)量,而回歸樹的一般輸出為一個實數(shù)。
決策樹學(xué)習(xí)三個階段:特征選擇、樹的生成、樹的修剪
特征選擇:特征選擇是指從訓(xùn)練數(shù)據(jù)中眾多的特征中選擇一個特征作為當(dāng)前節(jié)點的分裂標(biāo)準(zhǔn),如何選擇特征有著很多不同量化評估標(biāo)準(zhǔn)標(biāo)準(zhǔn),從而衍生出不同的決策樹算法。
決策樹生成: 根據(jù)選擇的特征評估標(biāo)準(zhǔn),從上至下遞歸地生成子節(jié)點,直到數(shù)據(jù)集不可分則停止決策樹停止生長。 樹結(jié)構(gòu)來說,遞歸結(jié)構(gòu)是最容易理解的方式。
剪枝:決策樹容易過擬合,一般來需要剪枝,縮小樹結(jié)構(gòu)規(guī)模、緩解過擬合。剪枝技術(shù)有預(yù)剪枝和后剪枝兩種。
2.2 ID3算法
ID3算法中根據(jù)信息論的信息增益評估和選擇特征,每次選擇信息增益最大的特征做判斷模塊。ID3算法可用于劃分標(biāo)稱型(離散型)數(shù)據(jù)集(需手動用工具轉(zhuǎn)換),沒有剪枝的過程,為了去除過度數(shù)據(jù)匹配的問題,可通過裁剪合并相鄰的無法產(chǎn)生大量信息增益的葉子節(jié)點(例如設(shè)置信息增益閥值)。使用信息增益的話其實是有一個缺點,那就是它偏向于具有大量值的屬性–就是說在訓(xùn)練集中,某個屬性所取的不同值的個數(shù)越多,那么越有可能拿它來作為分裂屬性,而這樣做有時候是沒有意義的,另外ID3不能處理連續(xù)分布的數(shù)據(jù)特征,于是就有了C4.5算法。
2.3 C4.5算法
C4.5是ID3的一個改進(jìn)算法,繼承了ID3算法的優(yōu)點。C4.5既可以處理離散型屬性,也可以處理連續(xù)性屬性(本質(zhì)還是先轉(zhuǎn)換為離散的再處理)。C4.5算法用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足在樹構(gòu)造過程中進(jìn)行剪枝;能夠完成對連續(xù)屬性的離散化處理;能夠?qū)Σ煌暾麛?shù)據(jù)進(jìn)行處理。C4.5算法產(chǎn)生的分類規(guī)則易于理解、準(zhǔn)確率較高;但效率低,因樹構(gòu)造過程中,需要對數(shù)據(jù)集進(jìn)行多次的順序掃描和排序。
ID3算法的信息論基礎(chǔ)–信息熵、信息增益 等知識在本文最下方的參考文獻(xiàn)中。
3. 分類實驗
3.1 數(shù)據(jù)處理
根據(jù)自己的數(shù)據(jù),再結(jié)合這個步驟來。
打開weka,選擇explorer模式,導(dǎo)入要求格式的訓(xùn)練集數(shù)據(jù)。
3.1.1 remove無用屬性信息(特征選擇)
選擇與分類標(biāo)準(zhǔn)無關(guān)屬性,點擊remove。
3.2 使用ID3算法
1)選擇Classify,選擇ID3算法。
若發(fā)現(xiàn)ID3是灰的不能選,幾個原因:
(1)未導(dǎo)入ID3算法包;
選擇一開始打開weka的GUI界面,點擊Tools->Package Manager->需下載包。(有些忘了哪個包。。。)
(2)若還是灰色,ID3算法要求屬性都是離散型變量,看你的數(shù)據(jù)是否符合要求,否則選擇連續(xù)型數(shù)據(jù)將其離散化;
choose->supervised->attribute->Discretize.
choose離散化后結(jié)果:
(3)若還是灰色,就是缺失值問題,ID3算法也要求不能有缺失值!
choose->unsupervised->attribute->ReplaceMissingValues
2)這時選擇分類時,ID3算法已經(jīng)可以點擊了,選擇ID3算法,選擇交叉驗證或者使用自己的測試集,點擊start,可得到?jīng)Q策樹及準(zhǔn)確率結(jié)果。
3.3 使用C4.5算法
C4.5即J48一樣,選擇J48,可以點擊choose右邊的J48,彈出的框可設(shè)置置信因子及其他參數(shù),然后點擊start,可得到?jīng)Q策樹及結(jié)果。
3.4 ID3和C4.5的比較
1、 在得到結(jié)果的左下角可看到每次實驗結(jié)果,ID3沒有可視化的樹,但是C4.5可生成可視化樹(右擊選擇Visualize tree)。原因好像是C4.5中封裝了這個功能,ID3沒有里邊的方法沒有實現(xiàn),可利用代碼實現(xiàn)。
2、C4.5比ID3算法準(zhǔn)確率更高,選擇該算法更好。
4.總結(jié)
C4.5比ID3算法準(zhǔn)確率更高,數(shù)據(jù)預(yù)處理也有一定的關(guān)系,當(dāng)數(shù)據(jù)處理的足夠好時,可能ID3算法比C4.5準(zhǔn)確率高。
總結(jié)
以上是生活随笔為你收集整理的weka使用ID3和C4.5算法 分类实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unit11
- 下一篇: FunAdmin自定义表格搜索功能