當前位置:編程學習大全網 - 源碼下載 - R語言-17決策樹

R語言-17決策樹

是壹個預測模型,分為回歸決策樹和分類決策樹,根據已知樣本訓練出壹個樹模型,從而根據該模型對新樣本因變量進行預測,得到預測值或預測的分類

從根節點到葉節點的壹條路徑就對應著壹條規則.整棵決策樹就對應著壹組表達式規則。葉節點就代表該規則下得到的預測值。如下圖決策樹模型則是根據房產、結婚、月收入三個屬性得到是否可以償還貸款的規則。

核心是如何從眾多屬性中挑選出具有代表性的屬性作為決策樹的分支節點。

最基本的有三種度量方法來選擇屬性

1. 信息增益(ID3算法)

信息熵

壹個信源發送出什麽符號是不確定的,衡量它可以根據其出現的概率來度量。概率大,出現機會多,不確定性小;反之不確定性就大。不確定性函數f是概率P的 減函數 。兩個獨立符號所產生的不確定性應等於各自不確定性之和,即f(P1,P2)=f(P1)+f(P2),這稱為可加性。同時滿足這兩個條件的函數f是對數函數,即

在信源中,考慮的不是某壹單個符號發生的不確定性,而是要考慮這個信源所有可能發生情況的平均不確定性。因此,信息熵被定義為

決策樹分類過程

2、增益率(C4.5算法)

由於信息增益的缺點是:傾向於選擇具有大量值的屬性,因為具有大量值的屬性每個屬性對應數據量少,傾向於具有較高的信息純度。因此增益率使用信息增益/以該屬性代替的系統熵(類似於前面第壹步將play換為該屬性計算的系統熵這個比率,試圖克服這種缺點。

g(D,A)代表D數據集A屬性的信息增益,

3. 基尼指數(CART算法)

基尼指數:

表示在樣本集合中壹個隨機選中的樣本被分錯的概率。越小表示集合中被選中的樣本被分錯的概率越小,也就是說集合的純度越高。

假設集合中有K個類別,則:

說明:

1. pk表示選中的樣本屬於k類別的概率,則這個樣本被分錯的概率是(1-pk)

2. 樣本集合中有K個類別,壹個隨機選中的樣本可以屬於這k個類別中的任意壹個,因而對類別就加和

3. 當為二分類是,Gini(P) = 2p(1-p)

基尼指數是將屬性A做二元劃分,所以得到的是二叉樹。當為離散屬性時,則會將離散屬性的類別兩兩組合,計算基尼指數。

舉個例子:

如上面的特征Temperature,此特征有三個特征取值: “Hot”,“Mild”, “Cool”,

當使用“學歷”這個特征對樣本集合D進行劃分時,劃分值分別有三個,因而有三種劃分的可能集合,劃分後的子集如下:

對於上述的每壹種劃分,都可以計算出基於 劃分特征= 某個特征值 將樣本集合D劃分為兩個子集的純度:

決策數分類過程

先剪枝 :提前停止樹的構建對樹剪枝,構造樹時,利用信息增益、統計顯著性等,當壹個節點的劃分導致低於上述度量的預定義閾值時,則停止進壹步劃分。但閾值的確定比較困難。

後剪枝 :更為常用,先得到完全生長的樹,再自底向上,用最下面的節點的樹葉代替該節點

CART使用代價復雜度剪枝算法 :計算每個節點剪枝後與剪枝前的代價復雜度,如果剪去該節點,代價復雜度較小(復雜度是樹的結點與樹的錯誤率也就是誤分類比率的函數),則剪去。

C4.5采用悲觀剪枝 :類似代價復雜度,但CART是利用剪枝集評估代價復雜度,C4.5是采用訓練集加上壹個懲罰評估錯誤率

決策樹的可伸縮性

ID3\C4.5\CART都是為較小的數據集設計,都限制訓練元祖停留再內存中,為了解決可伸縮性,提出了其它算法如

RainForest(雨林):對每個屬性維護壹個AVC集,描述該結點的訓練元組,所以只要將AVC集放在內存即可

BOAT自助樂觀算法:利用統計學,創造給定訓練數據的較小樣本,每個樣本構造壹個樹,導致多顆樹,再利用它們構造1顆新樹。優點是可以增量的更新,當插入或刪除數據,只需決策樹更新,而不用重新構造。

決策樹的可視化挖掘

PBC系統可允許用戶指定多個分裂點,導致多個分支,傳統決策樹算法數值屬性都是二元劃分。並且可以實現交互地構建樹。

rpart是采用cart算法,連續型“anova”;離散型“class”;

2)進行剪枝的函數:prune()

3)計算MAE評估回歸樹模型誤差,這裏將樣本劃分成了訓練集和測試集,testdata為測試集

rt.mae為根據訓練集得到的決策樹模型對測試集因變量預測的結果與測試集因變量實際值得到平均絕對誤差

  • 上一篇:如何看待安卓手機的基帶?
  • 下一篇:如何在windows上安裝蘋果系統
  • copyright 2024編程學習大全網