算法概述算法
隨機森林,顧名思義就是由不少決策樹融合在一塊兒的算法,它屬於Bagging框架的一種算法。框架
隨機森林的「森林」,它的弱模型是由決策樹算法訓練的(CART算法),CART算法即能作迴歸也能作分類,「隨機」是指構造的模型有必定的隨機性。測試
每一顆決策樹模型的訓練是經過自助採樣法(Boostrap抽樣)抽出來的,因此每個子模型的訓練樣本並非徹底相同的,每個子模型都存在一些樣本不在該模型的訓練集中,那些沒有被該子模型抽中的樣本可做爲這個子模型的測試集。spa
每一顆決策樹模型在構建的時候並無使用全部的特徵變量,而是隨機的從全部特徵中抽取一個子集來訓練模型,這樣保證了子模型不但訓練樣本不徹底同樣,連特徵變量也不徹底同樣,這樣就很好的保證了多個子模型的隨機性。blog
因此隨機森林算法的隨機性主要體如今如下兩個方面:變量
一、子模型的訓練樣本是隨機抽取的im
二、子模型的特徵變量也是隨機抽取的db
隨機性的引入使得隨機森林模型不容易陷入過擬合,具備很好的抗噪能力。並且隨機性保證了各子模型間的多樣性,子模型間差別越大,模型融合起來的效果會越好,以下圖所示:img