C4.5决策树算法概念学习
生活随笔
收集整理的這篇文章主要介紹了
C4.5决策树算法概念学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據挖掘一般是指從大量的數據中自動搜索隱藏于其中的有著特殊關系性的信息的過程。
?分類和聚類 ?分類(Classification)就是按照某種標準給對象貼標簽,再根據標簽來區分歸類,類別數不變。 ?聚類(clustering)是指根據“物以類聚”的原理,將本身沒有類別的樣本聚集成不同的組,這樣的一組數據對象的集合叫做簇,并且對每一個這樣的簇進行描述的過程。 C4.5算法應該解決的問題有哪些呢? 一、如何選擇測試屬性構造決策樹? 二、對于連續變量決策樹中的測試是怎樣的呢? 三、如何選擇處理連續變量(閾值)? 四、如何終止樹的增長? 五、如何確定葉子節點的類? 決策樹: 如何選擇測試屬性構造決策樹? ?用信息增益率來選擇屬性 ?這個指標實際上就等于增益/熵,之所以采用這個指標是為了克服采用增益作為衡量標準的缺點,采用增益作為衡量標準會導致分類樹傾向于優先選擇那些具有比較多的分支的測試,也就是選擇取值較多的屬性,這種傾向需要被抑制。 ?其中,S1到Sc是c個不同值的屬性A分割S而形成的c個樣本子集。如按照屬性A把S集(含30個用例)分成了10個用例和20個用例兩個集合則SplitInfo(S,A)=-1/3*log(1/3)-2/3*log(2/3) ?很明顯,我們看到這個例子中對于連續變量,所有連續變量的測試分支都是2條,因此在C4.5算法中,連續變量的分支總是兩條,分支其測試分支分別對應著{<=θ,>θ},θ對應著分支閾值,但是這個θ怎么確定呢? ?很簡單,把需要處理的樣本(對應根節點)或樣本子集(對應子樹)按照連續變量的大小從小到大進行排序,假設該屬性對應的不同的屬性值一共有N個,那么總共有N-1個可能的候選分割閾值點,每個候選的分割閾值點的值為上述排序后的屬性值鏈表中兩兩前后連續元素的中點,那么我們的任務就是從這個N-1個候選分割閾值點中選出一個,使得前面提到的信息論標準最大。舉個例子,對于Golf數據集,我們來處理溫度屬性,來選擇合適的閾值。首先按照溫度大小對對應樣本進行排序如下: ?那么可以看到有13個可能的候選閾值點,比如middle[64,65], middle[65,68]….,middle[83,85]。那么最優的閾值該選多少呢?應該是middle[71,72],如上圖中紅線所示。為什么呢?如下計算: ?通過上述計算方式,0.939是最大的,因此測試的增益是最小的。(測試的增益和測試后的熵是成反比的,這個從后面的公式可以很清楚的看到)。根據上面的描述,我們需要對每個候選分割閾值進行增益或熵的計算才能得到最優的閾值,我們需要算N-1次增益或熵(對應溫度這個變量而言就是13次計算)。能否有所改進呢?少算幾次,加快速度。 如何終止樹的增長? ?前面提到樹的增長實際上是一個遞歸過程,那么這個遞歸什么時候到達終止條件退出遞歸呢?有兩種方式,第一種方式是如果某一節點的分支所覆蓋的樣本都屬于同一類的時候,那么遞歸就可以終止,該分支就會產生一個葉子節點.還有一種方式就是,如果某一分支覆蓋的樣本的個數如果小于一個閾值,那么也可產生葉子節點,從而終止樹的增長。 如何確定葉子節點的類? ?Tree-Growth終止的方式有2種,對于第一種方式,葉子節點覆蓋的樣本都屬于同一類,那么這種情況下葉子節點的類自然不必多言。對于第二種方式,葉子節點覆蓋的樣本未必屬于同一類,直接一點的方法就是,該葉子節點所覆蓋的樣本哪個類占大多數,那么該葉子節點的類別就是那個占大多數的類。 借鑒于:大數據經典算法c4.5講解 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C4.5决策树算法概念学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 同事反馈环:如何实现持续改进的文化
- 下一篇: 嵌入式linux面试题解析(四)——逻辑