1. 程式人生 > >隨機森林(randomForest)和極限樹或者叫做極端隨機樹(extraTree),

隨機森林(randomForest)和極限樹或者叫做極端隨機樹(extraTree),

隨機森林:是一個包含多個決策樹的分類器, 並且其輸出的類別是由個別樹輸出的類別的眾數而定。,隨機森林對迴歸的結果在內部是取得平均
但是並不是所有的迴歸都是取的平均,有些是取的和,以後會發博文來解釋這樣的一個現象,需要整理些資料出來。
隨機森林裡的隨機包含的意思是:
樣本隨機
特徵隨機
引數隨機
模型隨機(ID3 ,C4.5)
極限樹/極端隨機樹裡的隨機包含的意思是:
特徵隨機
引數隨機
模型隨機(ID3 ,C4.5)
分裂隨機

ET或Extra-Trees(Extremely randomized trees,極端隨機樹)演算法與隨機森林演算法十分相似,都是由許多決策樹構成。極限樹與隨機森林的主要區別

1、randomForest應用的是Bagging模型,extraTree使用的所有的樣本,只是特徵是隨機選取的,因為分裂是隨機的,所以在某種程度上比隨機森林得到的結果更加好

2、隨機森林是在一個隨機子集內得到最佳分叉屬性,而ET是完全隨機的得到分叉值,從而實現對決策樹進行分叉的。

對於第2點的不同,我們再做詳細的介紹。我們僅以二叉樹為例,當特徵屬性是類別的形式時,隨機選擇具有某些類別的樣本為左分支,而把具有其他類別的樣本作為右分支;當特徵屬性是數值的形式時,隨機選擇一個處於該特徵屬性的最大值和最小值之間的任意數,當樣本的該特徵屬性值大於該值時,作為左分支,當小於該值時,作為右分支。這樣就實現了在該特徵屬性下把樣本隨機分配到兩個分支上的目的。然後計算此時的分叉值(如果特徵屬性是類別的形式,可以應用基尼指數;如果特徵屬性是數值的形式,可以應用均方誤差)。遍歷節點內的所有特徵屬性,按上述方法得到所有特徵屬性的分叉值,我們選擇分叉值最大的那種形式實現對該節點的分叉。從上面的介紹可以看出,這種方法比隨機森林的隨機性更強。

對於某棵決策樹,由於它的最佳分叉屬性是隨機選擇的,因此用它的預測結果往往是不準確的,但多棵決策樹組合在一起,就可以達到很好的預測效果。

當ET構建好了以後,我們也可以應用全部的訓練樣本來得到該ET的預測誤差。這是因為儘管構建決策樹和預測應用的是同一個訓練樣本集,但由於最佳分叉屬性是隨機選擇的,所以我們仍然會得到完全不同的預測結果,用該預測結果就可以與樣本的真實響應值比較,從而得到預測誤差。如果與隨機森林相類比的話,在ET中,全部訓練樣本都是OOB樣本,所以計算ET的預測誤差,也就是計算這個OOB誤差。