Machine-Learning
隨機森林中每棵樹的樣本數
- 隨機森林的每棵樹使用多少樣本來訓練 sci-kit 學習隨機森林回歸的實現?
- 而且,當引導選項打開時,與關閉時相比,樣本數量有何變化?
在 Breiman 的“隨機森林”中,我相信他提到每棵樹都使用 1/3 的數據進行訓練。在 scikit learn 的實現中也是這樣嗎?
sklearn 參考:http ://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html
github來源:https ://github.com/scikit-learn/scikit-learn/blob/a24c8b46/sklearn/ensemble/forest.py#L1019
我正在回答我的問題。我有機會與在 sci-kit learn 中實現隨機森林的人交談。這是解釋:
“如果
bootstrap=False
,那麼每棵樹都建立在所有訓練樣本上。如果
bootstrap=True
,那麼對於每棵樹,從訓練集中隨機抽取 N 個樣本進行替換,並且樹是基於這個新版本的訓練數據構建的。這在訓練過程中引入了隨機性,因為每棵樹都將在略有不同的訓練集上進行訓練。可以預期,從大小為 N 的數據集中抽取 N 個帶有替換的樣本將從原始集合中選擇約 2/3 的唯一樣本。"從 Scikit Learn v0.22 開始,您仍然可以使用 boostraping,但會限制每棵樹訓練的最大樣本數(
max_samples
類RandomForestRegressor
)。有關此主題的優秀資源以獲取更多詳細信息:
- 為什麼每個 bootstrap 樣本平均包含大約三分之二的觀察值?
- 放大鏡,吉爾斯。“理解隨機森林:從理論到實踐。” arXiv 預印本 arXiv:1407.7502 (2014)。
- 布雷曼,里奧。“隨機森林。” 機器學習 45.1(2001):5-32。
- 布雷曼,里奧。分類和回歸樹。勞特利奇,2017。
- 向外行解釋為什麼自舉有效