决策树随机森林GBDT
決策樹算法
這篇文章:?https://zhuanlan.zhihu.com/p/26703300? 對決策樹算法說的非常深入淺出
決策樹模型核心是下面幾個部分:
(1) 結點和有向邊組成
(2) 結點有內部結點和葉結點2種類型
(3) 內部結點表示一個特征,葉節點表示一個類
決策樹的關鍵步驟是分裂屬性:
所謂分裂屬性就是在某個節點處按照某一特征屬性的不同劃分構造不同的分支,其目標是讓各個分裂子集盡可能地“純”。盡可能“純”就是盡量讓一個分裂子集中待分類項屬于同一類別。對應不同的節點劃分方法,有不同的算法,分別是:ID3,C4.5算法以及CART算法:
ID3算法: 由于信息增益準確是對可取值數目較多的屬性有所偏好,比如如果把編號放進去,則編號的劃分純度非常高,但不具有泛化能力。
決策樹學習的關鍵其實就是選擇最優劃分屬性,希望劃分后,分支結點的“純度”越來越高。那么“純度”的度量方法不同,也就導致了學習算法的不同。
我們既然希望劃分之后結點的“純度”越來越高,那么如何度量純度呢?
“信息熵”是度量樣本集合不確定度(純度)的最常用的指標。
在我們的ID3算法中,我們采取信息增益這個量來作為純度的度量。我們選取使得信息增益最大的特征進行分裂!那么信息增益又是什么概念呢?
https://zhuanlan.zhihu.com/p/26760551?這篇文章對ID3算和C4.5算法講的很好。
?
https://zhuanlan.zhihu.com/p/21359565?這篇文章對隨機森林講的不錯。
那隨機森林具體如何構建呢?有兩個方面:數據的隨機性選取,以及待選特征的隨機選取。
1. ?數據的隨機選取
首先,從原始的數據集中采取有放回的抽樣,構造子數據集,子數據集的數據量是和原始數據集相同的。不同子數據集的元素可以重復,同一個子數據集中的元素也可以重復。第二,利用子數據集來構建子決策樹,將這個數據放到每個子決策樹中,每個子決策樹輸出一個結果。最后,如果有了新的數據需要通過隨機森林得到分類結果,就可以通過對子決策樹的判斷結果的投票,得到隨機森林的輸出結果了。如下圖,假設隨機森林中有3棵子決策樹,2棵子樹的分類結果是A類,1棵子樹的分類結果是B類,那么隨機森林的分類結果就是A類。
?
2. 待選特征的隨機選取:
與數據集的隨機選取類似,隨機森林中的子樹的每一個分裂過程并未用到所有的待選特征,而是從所有的待選特征中隨機選取一定的特征,之后再在隨機選取的特征中選取最優的特征。這樣能夠使得隨機森林中的決策樹都能夠彼此不同,提升系統的多樣性,從而提升分類性能。
?
GBDT:梯度提升決策樹,主要用來做回歸,調整后也可以用來搞分類?http://www.jianshu.com/p/005a4e6ac775
http://www.jianshu.com/u/103933f0bbf0?這篇文章對gbdt的代碼進行了優化
GBDT的思想使其具有天然優勢可以發現多種有區分性的特征以及特征組合。業界中,Facebook使用其來自動發現有效的特征、特征組合,來作為LR模型中的特征,以提高 CTR預估(Click-Through Rate Prediction)的準確性(詳見參考文獻5、6);GBDT在淘寶的搜索及預測業務上也發揮了重要作用(詳見參考文獻7)。轉載于:https://www.cnblogs.com/raul313/p/7751729.html
總結
以上是生活随笔為你收集整理的决策树随机森林GBDT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实验报告三
- 下一篇: STL 容器 与 数据结构