引言
決策樹對比神經元網絡的優點在于可以生成一些規則。
當我們進行一些決策,同時需要相應的理由的時候,使用神經元網絡就不行了。
本章介紹三個算法 CART,CHAID,C4.5 。
決策樹是如何工作的
決策樹一般都是自上而下的來生成的。
選擇分割的方法有好幾種,但是目的都是一致的:對目標類嘗試進行最佳的分割。
從根到葉子節點都有一條路徑,這條路徑就是一條“規則”。
決策樹可以是二叉的,也可以是多叉的。
對每個節點的衡量:
1)??????? 通過該節點的記錄數
2)??????? 如果是葉子節點的話,分類的路徑
3)??????? 對葉子節點正確分類的比例。
有些規則的效果可以比其他的一些規則要好。
決策樹對于常規統計方法的優點。
CART
Diversity( 整體 )-diversity( 左節點 )-diversity( 右節點 ) ,值越大,分割就越好。
三種 diversity 的指標:
1.???????? min(P(c1),P(c2))
2.???????? 2P(c1)P(c2)
3.???????? [P(c1)logP(c1)]+[P(c2)logP(c2)]
這幾個參數有相同的性質:當其中的類是均勻分布的時候,值最大;當有一個類的個數為 0 的時候,值為 0 。
選擇分割的時候,對每個字段都考慮;對每個字段中的值先排序,然后再一一計算。最后選出最佳的分割。
樹的生成:
錯誤率的衡量:最初生成的樹中也是有錯誤率的!因為有些葉子節點并不是“ Pure ”的。
樹的修剪: 是不是當所以的葉子都很純是,這棵樹就能工作的很好呢 ?
修剪的要點是:應該回溯多少、如何從眾多的子樹總尋找最佳的。
1)???????? 鑒別生成候選子樹 ?????? :使用一個調整的錯誤率。 AE(T)=E(T)+ a leaf_count(T) 。一步步的生成一些候選子樹。
2)???????? 對子樹的評估:通過 test set 找到最佳子樹
3)???????? 對最佳子樹進行評估:使用 evaluation set 。
4)???????? 考慮代價 (cost) 的問題。
C4.5
C4.5 是從 ID3 演變而來的。
C4.5 和 CART 的區別 :
1)?? 樹的生成方面。
C4.5 不一定使用兩分法。 C4.5 處理種類變量的時候,缺省的情況是每個值作為一個分支。
Gain 和 gain ratio 。
2)??????? 樹的修剪
C4.5 使用原來的數據進行測試。 ( 學院派 )
規則的生成
CHAID
1975 年
和 CART 和 C4.5 的區別:
1.???????? 在 overfitting 之前就停止樹的生長。
2.???????? 必須都是種類變量。數值變量必須分成范圍。
樹的生長
1.???????? 選擇分割。 X2 檢驗
?
實際中使用決策樹的一些問題
主要是一些數據準備和數據表示方面的問題。
案例:銀行信用卡部門
1.???????? 對數據細節的不熟悉。
2.???????? 數據翻譯問題。 COBOL
3.???????? 對時間元素的處理: OCCURS 語句的處理??梢愿鶕枰獊碓黾右恍┳侄危?/span> delta_balance , delta_interest_rate 等等。
4.???????? CART 算法不考慮字段之間的關系。
5.???????? 定義類別。使用的工具在類別字段只可以有兩個值。我們對原始數據進行一些映射處理?!?/span> silent attrition ”。
6.???????? 數據表示的問題。需要額外的數據。
7.???????? 消除雜音。
8.???????? 欺騙性的字段。有些字段其實和要預測的字段并不是獨立的??梢酝ㄟ^決策樹來進行這些字段的判斷。
9.???????? 過于總結性的數據。
10.????? 經驗和教訓。
將決策樹運用于事件序列:
PV Future View ,一個工具。
Case , 某一時刻的快照。
Attribute , 組成 Case 的字段
Feature , 布爾變量,用于形成決策樹的內部節點。
Interpretations ,由 Attribute 組成用于體現領域知識和關系的衍生字段。 Interpretations 字段常常是由用戶提供的。
從歷史推出未來:
案例學習:咖啡烘烤的流程控制
其他的決策樹的變種
1)??????? 一次使用超過一個字段用于分類
2)??????? 使用傾斜的超平面切分
3)??????? 神經元樹
決策樹的優缺點:
優點:
1)??????? 可以生成可以理解的規則。
2)??????? 計算量相對來說不是很大。
3)??????? 可以處理連續和種類字段。
4)??????? 決策樹可以清晰的顯示哪些字段比較重要
缺點:
1)??????? 對連續性的字段比較難預測。
2)??????? 對有時間順序的數據,需要很多預處理的工作。
3)??????? 當類別太多時,錯誤可能就會增加的比較快。
4)??????? 一般的算法分類的時候,只是根據一個字段來分類。
凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
、轉載請注明來處和原文作者。非常感謝。