決策樹是以例項為基礎的歸納學習演算法。它從一組無次序、無規則的元組中推理出決策樹表示形式的分類規則。它採用自頂向下的遞迴方式,在決策樹的內部結點進行屬性值
的比較,並根據不同的屬性值從該結點向下分支,葉結點是要學習劃分的類。從根到葉結點的一條路徑就對應著一條合取規則,整個決策樹就對應著一組析取表示式規則。
2023年
quinlan提出了著名的id3演算法。在id3演算法的基礎上,2023年quinlan又提出了c4.5演算法。為了適應處理大規模資料集的需要,後來又提出了若干改進的演算法,其中sliq (super-
vised learning in quest)和sprint (scalable parallelizableinduction of decision trees)是比較有代表性的兩個演算法。
(1) id3演算法
id3演算法的核心是:在決策樹各級結點上選擇屬性時,用資訊增益(information gain)作為屬性的選擇標準,以使得在每乙個非葉結點進行測試時,能獲得關於被測試記錄最大的類別資訊。其具體方法是:檢測所有的屬性,選擇資訊增益最大的屬性產生決策樹結點,由該屬性的不同取值建立分支,再對各分支的子集遞迴呼叫該方法建立決策樹結點的分支,直到所有子集僅包含同一類別的資料為止。最後得到一棵決策樹,它可以用來對新的樣本進行分類。
id3演算法的優點是:
演算法的理論清晰,方法簡單,學習能力較強。其缺點是:只對比較小的資料集有效,且對雜訊比較敏感,當訓練資料集加大時,決策樹可能會隨之改變。
(2) c4.5演算法
c4.5演算法繼承了id3演算法的優點,並在以下幾方面對id3演算法進行了改進:
1) 用資訊增益率來選擇屬性,克服了用資訊增益選擇屬性時偏向選擇取值多的屬性的不足;
2) 在樹構造過程中進行剪枝;
3) 能夠完成對連續屬性的離散化處理;
4) 能夠對不完整資料進行處理。
c4.5演算法與其它分類演算法如統計方法、神經網路等比較起來有如下優點:產生的分類規則易於理解,準確率較高。其缺點是:在構造樹的過程中,需要對資料集進行多次的順序掃瞄和排序,因而導致演算法的低效。此外,c4.5只適合於能夠駐留於記憶體的資料集,當訓練集大得無法在記憶體容納時程式無法執行。
(3) sliq演算法
sliq演算法對c4.5決策樹分類演算法的實現方法進行了改進,在決策樹的構造過程中採用了「預排序」和「廣度優先策略」兩種技術。
1) 預排序。對於連續屬性在每個內部結點尋找其最優**標準時,都需要對訓練集按照該屬性的取值進行排序,而排序是很浪費時間的操作。為此,sliq演算法採用了預排序技術。所謂預排序,就是針對每個屬性的取值,把所有的記錄按照從小到大的順序進行排序,以消除在決策樹的每個結點對資料集進行的排序。具體實現時,需要為訓練資料集的每個屬性建立乙個屬性列表,為類別屬性建立乙個類別列表。
2) 廣度優先策略。在c4.5演算法中,樹的構造是按照深度優先策略完成的,需要對每個屬性列表在每個結點處都進行一遍掃瞄,費時很多,為此,sliq採用廣度優先策略構造決策樹,即在決策樹的每一層只需對每個屬性列表掃瞄一次,就可以為當前決策樹中每個葉子結點找到最優**標準。
sliq演算法由於採用了上述兩種技術,使得該演算法能夠處理比c4.5大得多的訓練集,在一定範圍內具有良好的隨記錄個數和屬性個數增長的可伸縮性。
然而它仍然存在如下缺點:
1)由於需要將類別列表存放於記憶體,而類別列表的元組數與訓練集的元組數是相同的,這就一定程度上限制了可以處理的資料集的大小。
2) 由於採用了預排序技術,而排序演算法的複雜度本身並不是與記錄個數成線性關係,因此,使得sliq演算法不可能達到隨記錄數目增長的線性可伸縮性。
(4) sprint演算法
為了減少駐留於記憶體的資料量,sprint演算法進一步改進了決策樹演算法的資料結構,去掉了在sliq中需要駐留於記憶體的類別列表,將它的類別列合併到每個屬性列表中。這樣,在遍歷每個屬性列表尋找當前結點的最優**標準時,不必參照其他資訊,將對結點的**表現在對屬性列表的**,即將每個屬性列表分成兩個,分別存放屬於各個結點的記錄。
sprint演算法的優點是在尋找每個結點的最優**標準時變得更簡單。其缺點是對非**屬性的屬性列表進行**變得很困難。解決的辦法是對**屬性進行**時用雜湊表記錄下每個記錄屬於哪個孩子結點,若記憶體能夠容納下整個雜湊表,其他屬性列表的**只需參照該雜湊表即可。由於雜湊表的大小與訓練集的大小成正比,當訓練集很大時,雜湊表可能無法在記憶體容納,此時**只能分批執行,這使得sprint演算法的可伸縮性仍然不是很好。
資料探勘決策樹分類演算法簡介
決策樹是以例項為基礎的歸納學習演算法。它從一組無次序 無規則的元組中推理出決策樹表示形式的分類規則。它採用自頂向下的遞迴方式,在決策樹的內部結點進行屬性值 的比較,並根據不同的屬性值從該結點向下分支,葉結點是要學習劃分的類。從根到葉結點的一條路徑就對應著一條合取規則,整個決策樹就對應著一組析取表示式...
資料探勘 決策樹
分類是資料探勘的乙個非常重要的主題,現實中的很多問題都和分類密切相關。我們日常正是因為有了分類技巧,才能對不同的事物 場景採取不同的應對方式。資料分類可以看做是乙個兩步的過程。第一步是學習過程,我們根據所需要分析的問題和資料建立乙個分類器classifier。用我們選擇好的訓練元組對分類器進行訓練,...
資料探勘 決策樹
決策樹是以樹狀結構表示資料分類的結果 非葉子結點代表測試的條件。分支代表測試的結果 1.資訊熵 informationentropy 是度量樣本集合純度最常用的一種指標。2.基尼係數 gini 是度量樣本集合不確定性指標。基尼指數與熵可近似看做是統一概念,都是越大,確定性越差 基尼指數和資訊熵的影象...