【乾貨分享】C4.5算法(上)

今天跟你們分享一下C4.5算法相關內容,內容有點多,會分上下兩篇寫git

簡介github

一種分類決策樹算法,對海量數據集進行分類和迴歸。算法

其核心算法是ID3算法.,對ID3算法進行了改進:bash

1)*用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;

    2) 在樹構造過程當中進行剪枝;

    3) 可以完成對連續屬性的離散化處理;

    4) 可以對不完整數據進行處理。
複製代碼

優勢:機器學習

產生的分類規則易於理解,準確率較高。ide

缺點:學習

在構造樹的過程當中,須要對數據集進行屢次的順序掃描和排序,於是致使算法的低效。大數據

Githubui

github.com/scottjulian…spa

案例:

01.什麼是決策樹

決策樹是一個預測模型;他表明的是對象屬性與對象值之間的一種映射關係。

樹中每一個節點表示某個對象,而每一個分叉路徑則表明的某個可能的屬性值,而每一個葉結點則對應從根節點到該葉節點所經歷的路徑所表示的對象的值。

決策樹僅有單一輸出,若欲有複數輸出,能夠創建獨立的決策樹以處理不一樣輸出。 數據挖掘中決策樹是一種常常要用到的技術,能夠用於分析數據,一樣也能夠用來做預測(就像上面的銀行官員用他來預測貸款風險)。

從數據產生決策樹的機器學習技術叫作決策樹學習, 通俗說就是決策樹。(來自維基百科)

決策樹基本思想

自頂向下的遞歸方法,其基本思想是以信息熵爲度量構造一棵熵值降低最快的樹,到葉子節點處的熵值爲零。此時每一個葉節點中的實例都屬於同一類。

02.算法描述

該僞代碼描述了C4.5的基本工做流程。

首先用根節點表明一個給定的數據集;而後從根節點開始(包括根節點)在每一個節點上選擇一個屬性,使結點數據集劃分(一棵樹分裂爲幾棵樹)爲更小的子集(子樹);直到使用某個屬性,其子集中全部樣本都屬於一個類別,才中止分裂。

03.屬性選擇度量

又稱分裂規則,決定給定節點上的元組如何分裂。

屬性選擇度量提供了每一個屬性描述給定訓練元組的秩評定,具備最好度量得分的屬性被選做給定元組的分裂屬性。

目前比較流行的屬性選擇度量有--信息增益、增益率和Gini指標。

04.信息增益

信息增益是ID3算法中用來進行屬性選擇度量的。它選擇具備最高信息增益的屬性來做爲節點N的分裂屬性。

該屬性使結果劃分中的元組分類所需信息量最小。

元祖分類所需指望信息公式

Info(D)又稱爲熵。

屬性A將D劃分紅v個不一樣的類。在該劃分以後,爲了獲得準確的分類還須要的信息由下面的式子度量。

信息增益定義爲原來的信息需求(即僅基於類比例)與新需求(即對A劃分以後獲得的)之間的差。

缺點:

任意樣本集的純度,越純,熵越小,也就是說在訓練集中,某個屬性所取的不一樣值的個數越多,那麼越有可能拿它來做爲分裂屬性。

信息增益率

分裂信息

利用引入屬性的分裂信息來調節信息增益

信息增益率公式

優勢:

信息增益率將分裂信息做爲分母,屬性取值數目越大,分裂信息值越大,從而部分抵消了屬性取值數目所帶來的影響。

相比ID3直接使用信息熵的增益選取最佳屬性,避免因某屬性有較多分類取值於是有較大的信息熵,從而更容易被選中做爲劃分屬性的狀況。

Gini指標

Gini指標在CART中使用。Gini指標度量數據劃分或訓練元組集D的不純度,公式爲


參考:

《數據挖掘與機器學習WEKA應用技術與實踐》

blog.csdn.net/u010498696/…

en.wikipedia.org/wiki/Binomi…

blog.csdn.net/xuxurui007/…


免費精華大數據視頻講解請戳連接:www.cniao5.com/course/1024…

勾搭菜鳥窩助教weixin:BT474849,免費加入高手彙集的大數據學習交流羣~

相關文章
相關標籤/搜索