Machine-Learning

隨機森林中每棵樹的樣本數

  • May 23, 2018
  1. 隨機森林的每棵樹使用多少樣本來訓練 sci-kit 學習隨機森林回歸的實現?
  2. 而且,當引導選項打開時,與關閉時相比,樣本數量有何變化?

在 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_samplesRandomForestRegressor)。

有關此主題的優秀資源以獲取更多詳細信息:

引用自:https://stats.stackexchange.com/questions/347818

comments powered by Disqus