2015-10-06 66 views
2

如果知道特徵的數量,我們如何找到隨機森林的最大深度?根據特徵數量查找隨機森林的最大深度

這是正規化隨機森林分類器所必需的。

+0

爲什麼你需要正規化隨機森林分類器?你會如何正規化?有些人會弄錯這個部分。完全成長的髮束不適合,因爲裝袋和隨機特徵選擇可以防止這種情況發生。 –

+0

當我用100%的數據訓練並用相同的完整數據進行測試時,準確度爲'1'。它只有在過度擬合的情況下才可能,所以我想用max_depth參數來調整它,是的,它解決了問題,準確性得到提高 – mach

+0

嗨,你需要在交叉驗證集上測試它。顯然,如果你檢查訓練集上的分類器,訓練集就會接近100%。請將你的訓練集分成兩部分。培訓和交叉驗證以檢查性能。還要檢查功能之間的相關性,因爲那些功能也可能導致過度配合,但您的方法在我不起眼的優勢中是錯誤的。 –

回答

0

我以前沒有想過這個。一般來說,樹木是非確定性的。而不是問什麼是最大深度?你可能想知道什麼是平均深度,或者樹的深度是多少20 ...反正有可能計算最大深度的一些界限。因此,一個節點用完(a)袋裝樣品或(b)可能的分割。 (a)如果袋裝樣品(N)是限制性部分,則可以想象一個分類樹,其中除一個樣品外的所有樣品都被轉發到每個分割點左側。那麼最大深度是N-1。這個結果是不太可能的,但是可能的。最小深度樹,其中所有的子節點都是大的,那麼最小深度將是〜log 2(N),例如, 16,8,4,2,1。在實踐中,樹的深度將介於最小和最大之間。控制最小節點大小的設置會降低深度。 (b)爲了檢查特徵是否限制了樹的深度,並且你事先知道了訓練集,然後計算有多少訓練樣本是唯一的。獨特的樣本(U)不能拆分。做增壓包裝只會爲每棵樹選擇約0.63個樣本。 N〜U * 0.63。使用(a)節中的規則。在引導過程中可以選擇所有獨特的樣本,但這不太可能。

如果你不知道你的訓練集,嘗試估計在每個特徵(i)中可能找到多少個水平(L [i])。對於分類特徵,可以給出答案。對於從實際分佈中抽取的數字特徵,將存在與樣本一樣多的層次。可能的獨特樣本是U = L [1] * L [2] * L [3] ... * L [d]。