sklearn中隨機森林的引數

2021-08-27 16:06:01 字數 1957 閱讀 3235

1,criterion: 」gini」 or 「entropy」(default=」gini」)是計算屬性的gini(基尼不純度)還是entropy(資訊增益),來選擇最合適的節點。

2,splitter: 」best」 or 「random」(default=」best」)隨機選擇屬性還是選擇不純度最大的屬性,建議用預設。

3,max_features: 選擇最適屬性時劃分的特徵不能超過此值。

當為整數時,即最大特徵數;當為小數時,訓練集特徵數*小數;

if 「auto」, then max_features=sqrt(n_features).

if 「sqrt」, thenmax_features=sqrt(n_features).

if 「log2」, thenmax_features=log2(n_features).

if none, then max_features=n_features.

4,max_depth: (default=none)設定樹的最大深度,預設為none,這樣建樹時,會使每乙個葉節點只有乙個類別,或是達到min_samples_split。

5,min_samples_split:根據屬性劃分節點時,每個劃分最少的樣本數。

6,min_samples_leaf:葉子節點最少的樣本數。

7,max_leaf_nodes: (default=none)葉子樹的最大樣本數。

8,min_weight_fraction_leaf: (default=0) 葉子節點所需要的最小權值

9,verbose:(default=0) 是否顯示任務程序

1,n_estimators=10:決策樹的個數,越多越好,但是效能就會越差,至少100左右(具體數字忘記從**來的了)可以達到可接受的效能和誤差率。  

2,bootstrap=true:是否有放回的取樣。  

3,oob_score=false:oob(out of band,帶外)資料,即:在某次決策樹訓練中沒有被bootstrap選中的資料。多單個模型的引數訓練,我們知道可以用cross validation(cv)來進行,但是特別消耗時間,而且對於隨機森林這種情況也沒有大的必要,所以就用這個資料對決策樹模型進行驗證,算是乙個簡單的交叉驗證。效能消耗小,但是效果不錯。  

4,n_jobs=1:並行job個數。這個在ensemble演算法中非常重要,尤其是bagging(而非boosting,因為boosting的每次迭代之間有影響,所以很難進行並行化),因為可以並行從而提高效能。1=不並行;n:n個並行;-1:cpu有多少core,就啟動多少job。

5,warm_start=false:熱啟動,決定是否使用上次呼叫該類的結果然後增加新的。  

6,class_weight=none:各個label的權重。  

1,predict_proba(x):給出帶有概率值的結果。每個點在所有label的概率和為1.  

2,predict(x):直接給出**結果。內部還是呼叫的predict_proba(),根據概率的結果看哪個型別的**值最高就是哪個型別。  

通過總結模型調參常見的問題,我們可以把模型的引數分為4類:目標類、效能類、效率類和附加類。下表詳細地展示了4個模型引數的意義:

sklearn中隨機森林的引數

1,criterion gini or entropy default gini 是計算屬性的gini 基尼不純度 還是entropy 資訊增益 來選擇最合適的節點。2,splitter best or random default best 隨機選擇屬性還是選擇不純度最大的屬性,建議用預設。3,m...

sklearn隨機森林 分類引數詳解

ensemble.adaboostclassifier adaboost分類 ensemble.adaboostregressor adaboost回歸 ensemble.baggingclassifier 裝袋分類器 ensemble.baggingregressor 裝袋回歸器 ensemble...

sklearn機器學習 隨機森林

多個模型整合成為的模型叫做整合評估器 ensemble estimator 組成整合評估器的每個模型都叫做基評估器 base estimator 通常來說,有三類整合演算法 裝袋法 bagging 提公升法 boosting 和stacking 類類的功能 ensemble.adaboostclas...