白話說大數據算法C4.5

  C4.5算法在數據挖掘中用做決策樹分類器,可用於基於特定數據樣本(單變量或多變量預示變量)生成決策。算法

  所以,在咱們直接深刻研究C4.5以前,讓咱們先討論一下決策樹以及它們如何用做分類器。函數

  決策樹測試

 白話說大數據算法C4.5

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

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

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

  樹根始終是具備成本函數最小值的變量。在這個例子中,父母訪問的機率是50%,無須多慮,一半一半是很容易的決策。可是若是選擇天氣做爲「根」呢?那麼將有33.33%的可能性發生某種結果,這可能會增長咱們作出錯誤決定的機會,由於須要考慮更多的測試用例。it

  若是咱們經過信息增益和熵的概念,那將更容易理解。數據挖掘

  信息增益變量

  若是您已經得到了加班信息,這有助於您準確預測某些事情是否會發生,那麼您預測的事情信息就不是新信息。可是,若是狀況有變而且出現了意想不到的結果,那麼它就算是有用和必要的信息。im

  相似的是信息增益的概念。

  您對某個主題了解得越多,您就越不瞭解它的新信息。更簡潔:若是你知道一個事件是很是可能的,那麼當事件發生時就不足爲奇了,也就是說,它提供的實際狀況信息不多。

  從上面的陳述中咱們能夠代表,得到的信息量與事件發生的機率成反比。咱們還能夠說隨着熵增長,信息增益減小。這是由於熵指的是事件的機率。

  假設咱們正在看拋硬幣。猜中雙面平整的硬幣任何一面的機率爲50%。若是硬幣是不平整的,那麼得到某面(頭或尾部)的機率是1.00,而後咱們說熵是最小的,由於目前沒有任何類型的試驗能夠預測咱們硬幣投擲的結果。

白話說大數據算法C4.5

  屏幕快照2018-09-25上午11.56.56.png

  在下面的繪製圖中,咱們注意到因爲特定事件的最大不肯定性而得到的最大信息量是當每一個事件的機率相等時。這裏,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並非最好的算法,但在某些狀況下確實有用。

相關文章
相關標籤/搜索