1. 程式人生 > >RandomForest的out of bag estimate 及Feature selection 具體作法

RandomForest的out of bag estimate 及Feature selection 具體作法

一、Out of bag estimate(OOB)

1、OOB sample number

RF是bagging的一種發方法,在做有放回的bootstrap時,由抽樣隨機性可得到(其中1/e可由高數中的洛必達法則得到):

RF中每次抽樣N個樣本訓練每一棵decision tree(gt),對於此棵樹gt,原始的資料集中將有近1/e(33.3%)的樣本未參與其訓練;因此可以使用這部分資料對此棵樹gt進行validation。(下圖中紅色星號表示此樣本未參與某棵決策樹gt訓練)

 

2、OOB如何做validation

RF是通過多個基學習器進行組合得到整體的效能,即基學習器效能不高但經過組合卻仍可能得到高效能(三個臭皮匠,賽過諸葛亮);因此,對於RF,應當是對整體的效能進行validation,而不是依次對單個基學習器進行validation。那麼,如何對一個訓練好的RF進行validation呢? 

具體作法:

(1)對於資料集中每一個樣本(xi, yi),將所有未使用該樣本(xi, yi)進行訓練得到的決策樹篩選出來得到幾個包含部分決策樹的子模型集合M;

(2)然後在樣本(xi, yi)上,使用模型集合M進行誤差計算,即得到使用樣本(xi, yi)進行validation的結果;(此步驟與使用留一法進行validation相似)

(3)重複步驟(2),依次計算在剩餘的樣本中使用每個樣本進行validation的結果;

(4)對所有樣本進行validation的結果進行求和取平均,作為RF模型最終的validation的結果。

具體表達式如下圖:

 

特點:不需要額外劃分一部分的validation set,RF可以做self-validation

 

 3、RF如何做Feature Selection