秒懂机器学习---当机器学习遇上决策树....
秒懂機器學習---當機器學習遇上決策樹....
一、總結
一句話總結:
多多看圖,圖的直觀效果很好,很多時候文字實在表達不清
?
1、決策樹(Decision Tree)中的各個節點表示什么意思?
每一個樹節點表示一個屬性上的測試
每一個分支代表一個屬性的輸出
每一個樹葉節點代 表一個類或者類的分布
決策樹是一個類似于流程圖的樹結構,其中每一個樹節點表示一個屬性上的測試,每一個分支代表一個屬性的輸出,每一個樹葉節點代 表一個類或者類的分布,樹的最頂層是樹的根節點。
?
2、決策樹怎么決定是否擴展分支?
看葉子粒度是否達到要求:比如正例或者反例都不為0時,那么就要根據屬性繼續往下擴展樹。
?
3、信息熵如何計算(比如16只NBA球隊誰奪冠,先假設每個球隊的奪冠幾率一樣)?
二分法猜:log16=4;
P1*logP1+P2*logP2+...P16*logP16:奪冠概率不一樣的情況
舉個例子,NBA總決賽的奪冠球隊,假設你對NBA球隊一無所知,你需要猜多少次?(假設每個球隊的奪冠幾率都是一樣的)這里我們可以給進入季后賽的NBA球隊進行編號(NBA季后賽會選出16支球隊),然后使用二分法進行猜測(猜測冠軍隊伍在1-8號球隊之間,是的話,在進行二分;不是的話就在9-16號球隊之間),這樣我們要猜測的次數最多是4次(2^4=16嘛)。
信息熵使用比特(bit)來衡量信息的多少,計算公式如下:
-(P1*log2 P1+P2*log2 P2+...P16*log2 P16)---->計算NBA季后賽總冠軍的奪冠球隊的信息熵值,含義是每一個球隊的奪冠概率乘以,以2為底這個隊奪冠的對數。P1、P2...PN表示哪一支球隊的奪冠概率,假設每一個球隊奪冠的概率都相等的話,那么這里算出的信息熵值就是4,當然這種情況是不太可能存在的,因為每一個球隊的實力不一樣嘛。
?
4、信息熵的值和不確定性的關系?
變量的不確定越大,熵的值也就越大
?
5、信息獲取量是什么?
Gain(A)=Info(D)-Info_A(D) ---->A屬性的信息獲取量的值就等于,【不按任何屬性進行分類的時候的信息量】加上【有按A這個屬性進行分類的時候的信息量】(注意這里信息量的符號是負號,所以說“加上”)。
在決策樹算法中,我們如何確定哪個屬性應該先選擇出來,哪個屬性應該后選擇出來當做樹的節點
信息獲取量大的優先選:比較大小,年齡的信息獲取量是最大的,所以選擇年齡作為第一個根節點。
?
6、決策樹算法為什么需要剪枝?
訓練集上表現好,測試集上表現差(過度擬合):當樹的深度太大時,設計的算法在訓練集上的表現會比較好,但是在測試集上的表現卻會很一般,這時我們就要對樹進行一定的裁剪
?
7、決策樹的優缺點是什么?
直觀,便于理解,小規模數據集有效 :決策樹的優點
處理連續變量不好;類別較多時,錯誤增加的比較快;可規模性一般:決策樹的缺點
?
?
?
二、機器學習入門之決策樹算法
參考:機器學習入門之決策樹算法
https://www.cnblogs.com/getMyCodes/p/7259422.html
?
不按任何屬性進行分類的情況下,計算信息獲取量Info(D): 以年齡屬性進行分類的情況下,計算信息獲取量: 所以,Gain(age)=0.940-0.694=0.246 bits 同理,我們可以算出Gain(income) = 0.029, Gain(student) = 0.151, Gain(credit_rating)=0.048。比較大小,年齡的信息獲取量是最大的,所以選擇年齡作為第一個根節點。再次同理,后面的節點選擇也是按照這樣的計算方法來決定以哪個屬性作為節點。 (3)結束條件 當我們使用遞歸的方法來創建決策樹時,什么時候停止節點的創建很關鍵。綜上,停止節點創建的條件有以下幾點: a、給定節點的所有樣本屬性都屬于同一種標記的時候,比如(2)中的例子,以年齡為屬性創建的節點下,有三個分支: ? ? ? ? ? ? ? ? ? ? ? ? ? ?senior,youth、middle_age。其中middle_age的所有實例的標記都是yes,也就是說中年人都會買電腦,這種情況下,這個節點就可以設置成樹葉節點了。 b、當沒有剩余屬性用來進一步劃分樣本時,就停止節點的創建,采用多數表決。 c、分枝 3、其它算法 C4.5、CART算法。這幾個算法都是貪心算法,自上而下,只是選擇屬性的度量方法不同。 4、樹剪枝葉 (避免overfitting) 當樹的深度太大時,設計的算法在訓練集上的表現會比較好,但是在測試集上的表現卻會很一般,這時我們就要對樹進行一定的裁剪: (1)先剪枝 當分到一定程度,就不向下增長樹了。 (2)后剪枝 把樹完全建好后,根據類的純度來進行樹的裁剪。 5. 決策樹的優點: 直觀,便于理解,小規模數據集有效? ? ? 6. 決策樹的缺點: 處理連續變量不好;類別較多時,錯誤增加的比較快;可規模性一般。轉載于:https://www.cnblogs.com/Renyi-Fan/p/10977436.html
總結
以上是生活随笔為你收集整理的秒懂机器学习---当机器学习遇上决策树....的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 28.java中Java8.0的新特性(
- 下一篇: 日志配置(springboot、myba