白話說大資料演算法C4.5

資料星河發表於2018-09-25

  C4.5演算法在資料探勘中用作決策樹分類器,可用於基於特定資料樣本(單變數或多變數預示變數)生成決策。

  因此,在我們直接深入研究C4.5之前,讓我們先討論一下決策樹以及它們如何用作分類器。

  決策樹

白話說大資料演算法C4.5

  決策樹如上圖所示。假設您想計劃今天的活動,但您面臨一些可能影響最終決定的不同條件。

  在上圖中,我們注意到影響決策的主要因素之一是父母到訪(Parent Visiting)。如果確實如此,那麼我們會做出快速決定--選擇去電影院。如果他們不來怎麼辦?

  這開闢了一系列其他可能。現在,如果天氣晴朗(Sunny)或多雨(Rainy),我們要麼去打網球(Play tennis),要麼待在家裡(Stay in)。但是,如果外面多風(Windy),我會檢查我擁有多少錢。如果我很有錢(Rich),我會去購物(Shopping),或者去看電影(Cinema)。

  樹根始終是具有成本函式最小值的變數。在這個例子中,父母訪問的概率是50%,無須多慮,一半一半是很容易的決策。但是如果選擇天氣作為“根”呢?那麼將有33.33%的可能性發生某種結果,這可能會增加我們做出錯誤決定的機會,因為需要考慮更多的測試用例。

  如果我們通過資訊增益和熵的概念,那將更容易理解。 **   資訊增益**

  如果您已經獲得了加班資訊,這有助於您準確預測某些事情是否會發生,那麼您預測的事情資訊就不是新資訊。但是,如果情況有變並且出現了意想不到的結果,那麼它就算是有用和必要的資訊。

  類似的是資訊增益的概念

  您對某個主題了解得越多,您就越不瞭解它的新資訊。更簡潔:如果你知道一個事件是非常可能的,那麼當事件發生時就不足為奇了,也就是說,它提供的實際情況資訊很少。

  從上面的陳述中我們可以表明,獲得的資訊量與事件發生的概率成反比。我們還可以說隨著熵增加,資訊增益減少。這是因為熵指的是事件的概率。

  假設我們正在看拋硬幣。猜中雙面平整的硬幣任何一面的概率為50%。如果硬幣是不平整的,那麼獲得某面(頭或尾部)的概率是1.00,然後我們說熵是最小的,因為目前沒有任何型別的試驗可以預測我們硬幣投擲的結果。

白話說大資料演算法C4.5

  在下面的繪製圖中,我們注意到由於特定事件的最大不確定性而獲得的最大資訊量是當每個事件的概率相等時。這裡,p=q=0.5

  E=系統事件的熵

  p=頭部作為結果的概率

  q=尾部作為結果的概率

白話說大資料演算法C4.5

  在決策樹的情況下,必須使節點對齊,所以熵隨著向下分裂而減小。這基本上意味著更多的分裂是適當的,做出明確的決定變得更容易。

  因此,我們針對每種分裂可能性檢查每個節點。資訊增益比是觀測值與觀測總數之比(m/N=p)和(n/N=q),其中m+n=N且p+q=1。在分裂之後,如果下一個節點的熵小於分裂之前的熵,並且如果該值與用於分裂的所有可能測試用例相比最小,則該節點被分裂成其最純的成分。

  在我們的例子中,我們發現與其他選項相比,父母訪問以更大的比例減少熵。因此,我們選擇這個選項。

  修剪

  我們原始示例中的決策樹非常簡單,但是當資料集很大並且需要考慮更多變數時,情況並非如此。這是需要修剪的地方。修剪是指,在我們的決策樹中刪除那些我們認為對我們的決策過程沒有顯著貢獻的分支。

  讓我們假設我們的示例資料有一個名為“車輛”的變數,當它具有值“富裕”(Rich)時,它與條件“錢”(Money)相關或是其衍生。現在,如果車輛可用,我們將通過汽車購物(shopping),但如果沒有,我們可以通過任何其他交通方式購物。但最終我們去購物。

  這意味著“車輛”變數沒有多大意義,可以在構造決策樹時排除。

  修剪的概念使我們能夠避免過度擬合迴歸或分類模型,以便對於少量資料樣本,在生成模型時摒除測量誤差。

  虛擬程式碼

  C4.5優於其他決策樹系統的優勢:

  1.該演算法固有地採用單通道修剪過程來減輕過度擬合。

  2.它可以與離散資料和連續資料一起使用

  3.C4.5可以很好地處理不完整資料的問題

  4.也許C4.5並不是最好的演算法,但在某些情況下確實有用。

相關文章