天天看點

大白話講解随機森林

      因為馬上秋招了,記錄下自己的了解,自認為随機森林了解的很透徹。最主要的是要講随機森林和adaboost/gbdt/xgboost進行橫向對比學的才有意義。沒時間排版了,畢竟内容才是最重要的,對不?開始。

 一、 随機,指的是随機選取一份資料裡面的樣本數量和随機選取哪個特征。森林,指的是多顆決策樹組成的機構(一大片樹)。一句話你肯定不懂。随機森林就是用随機的方式建立一片森林。

     具體一點。比如一份資料有10個特征和100個樣本,随機抽取兩個特征,選取100個樣本,這樣就可以生成一棵樹。固定兩個特征,随機選取100個樣本當中的10個樣本,又生成一棵樹(都是有放回抽樣)。随機選取兩個特征,随機選取50個樣本,又生成一棵樹。等等吧。就是特征選取可以随機,樣本選取可以數量随機,又可以将特征和樣本都随機選取。

二、說完了随機森林基本概念,講一下随機森林構成及算法。一句話,随機森林基樹中決策樹可以是ID3、C4.5、CART。解釋下:

      ID3算法隻适用于離散型變量(某一屬性樣本取值為固定幾類,比如性别、瓜種類)。用ID3算法(最大資訊增益政策)生成的樹最後葉子節點輸出的是某個類别數值(1或0或2等),這時候随機森林預測結果就是著名的少數服從多數原則,統計一下所有樹預測出的哪個類别最多就是哪個類别。

     C4.5很複雜(資訊增益率政策),既可以處理離散值也可以處理連續值。C4.5怎麼處理連續值的這裡不展開講,現在知道C4.5生成的每棵樹葉子結點都輸出一個連續值(33,55,123,1.5等等),這時候随機森林就将每棵樹輸出的數值加起來取平均值作為随機森林的輸出值。

    CART樹是分類與回歸合體(分類用基尼,回歸用方差和)。記住cart是二叉樹,随機森林将每棵樹輸出結果加起來取平均。

三、講到哪了?有點蒙。現在隻說完了随機森林内部這個森林可以怎麼構造。都知道了随機森林内部結構,再學一下ID3、C4.5和CART解法就完事了。搞懂單獨的随機森林根本不複雜。下面說一下RF的優點,當然一堆樹參謀一件事的結果,肯定超過一個樹自己心思的結果。三個臭皮匠頂一個諸葛亮。

    說完了了,其他部落格我還要說gbdt、xgboost、adaboost怎麼回事。并将他們三者對比。再寫一下C4.5怎麼處理連續值。決策樹怎麼處理缺失值。CART回歸怎麼計算的,與C4.5計算連續值方法差別。

繼續閱讀