機器學習筆記14 隨機森林演算法

2021-10-05 09:24:37 字數 968 閱讀 8166

隨機且有放回地從訓練集中的抽取n個訓練樣本,資料集的樣本總數為n,根據這n個樣本建立乙個決策樹,重複上述步驟n次,建立n棵決策樹(每棵樹的訓練集都是不同的,而且裡面包含重複的訓練樣本)

從資料集中隨機選擇k個特徵,共m個特徵(其中k<=m),根據這k個特徵建立決策樹,重複上述步驟n次,建立n棵決策樹

對每棵決策樹傳遞變數來**結果,最後得到n個**結果

計算每個**結果的得票數,得票數高的**結果作為隨機森林演算法的最終**結果

針對回歸問題,隨機森林把所有決策樹**值的平均值作為最終**結果。而針對分類問題,隨機森林中的每棵決策樹都會給出一種分類,得票數最多的那一類將作為最終的**結果。

隨機森林分類效果(錯誤率)與兩個因素有關:

減小特徵選擇個數m,樹的相關性和分類能力也會相應的降低;增大m,兩者也會隨之增大。所以關鍵問題是如何選擇最優的m(或者是範圍),這也是隨機森林唯一的乙個引數。

上面我們提到,構建隨機森林的關鍵問題就是如何選擇最優的m,優秀的樹需要優秀的特徵,那我們就需要知道各個特徵的重要程度。在構建每棵樹時,我們對訓練集使用了不同的bootstrap sample(隨機且有放回地抽取)。所以對於每棵樹而言(假設對於第k棵樹),大約有1/3的訓練例項沒有參與第k棵樹的生成,它們稱為第k棵樹的袋外樣本。我們可以使用這部分樣本來評估特徵的優劣。

對於每一棵樹都有個m特徵,要知道某個特徵在這個樹中是否起到了作用,可以隨機改變這個特徵的值,使得這棵樹中有沒有這個特徵都無所謂,之後比較改變前後的測試集誤差率,誤差率的差距作為該特徵在該樹中的重要程度,測試集即為該樹抽取樣本之後剩餘的樣本(袋外樣本)(由袋外樣本做測試集造成的誤差稱為袋外誤差)。

在一棵樹中對於每個特徵都計算一次,就可以算出每個特徵在該樹中的重要程度。我們可以計算出所有樹中的特徵在各自樹中的重要程度。但這只能代表這些特徵在樹中的重要程度不能代表特徵在整個森林中的重要程度。我們取這個特徵值在多棵樹中的重要程度的均值即為該特徵在森林中的重要程度。如下式:

其中

隨機森林演算法原理 機器學習演算法 隨機森林

隨機森林是一種通用的機器學習方法,能夠處理回歸和分類問題。它還負責資料降維 缺失值處理 離群值處理以及資料分析的其他步驟。它是一種整合學習方法,將一組一般的模型組合成乙個強大的模型 我們通過適用隨機的方式從資料中抽取樣本和特徵值,訓練多個不同的決策樹,形成森林。為了根據屬性對新物件進行分類,每個數都...

機器學習筆記 隨機森林

隨機森林是典型的bagging整合演算法,它的所有基評估器都是決策樹。分類樹整合的森林叫隨機森林分類器,回歸樹整合的森林叫隨機森林回歸器。重要引數 max depth 限制樹的最大深度,超過設定深度的樹枝全部剪掉。min samples leaf 限定,乙個節點在分枝後的每個子節點都必須包含至少mi...

《機器學習演算法 6 隨機森林》

隨機森林演算法是通過訓練多個決策樹,綜合多個樹的結果進行投票,從而實現分類。1.生成單棵決策樹 2.生成t顆決策樹 3.部分 4 其他 sklearn randomforestclassifier n estimators 100 引數 隨機森林中需要訓練多個樹,所以決策樹有的引數它也有。n est...