DecisionTree決策樹引數詳解

2021-10-12 16:31:22 字數 2135 閱讀 6796

1.max_depth:

指定遍歷搜尋的最大深度。

int or none, optional (default=none) 一般來說,資料少或者特徵少的時候可以不管這個值。

如果模型樣本量多,特徵也多的情況下,推薦限制這個最大深度,具體的取值取決於資料的分布。

常用的可以取值10-100之間。常用來解決過擬合

2.min_sample_leaf:

葉子節點最少樣本數。

這個值限制葉子節點最少的樣本數,若葉子節點數小於樣本數,則會和兄弟節點一起被剪枝,

樣本量不大時,可不管這個值

3.max_leaf_nodes:

最大葉子節點數。

int or none, optional (default=none) 通過限制最大葉子節點數,可以防止過擬合,預設是

」none」,即不限制最大的葉子節點數。

如果加了限制,演算法會建立在最大葉子節點數內最優的決策樹。如果特徵不多,可以不考慮

這個值,但是如果特徵分成多的話,可以加以限制,具體的值可以通過交叉驗證得到

4.min_sample_split:

內部節點再劃分所需最小樣本數。

int, float, optional (default=2) 如果是 int,則取傳入值本身作為最小樣本數;

如果是 float,則去 ceil(min_samples_split * 樣本數量) 的值作為最小樣本數,即向上取整

5.min_impurity_decrease:

節點劃分最小不純度。

float, optional (default=0) 這個值限制了決策樹的增長,

如果某節點的不純度(基尼係數,資訊增益,均方差,絕對差)小於這個閾值,則該節點

不再生成子節點。 sklearn 0.19.1版本之前叫min_impurity_split

6.min_impurity_split:

資訊增益的閥值。

決策樹在建立分支時,資訊增益必須大於這個閥值,否則不**

7.min_weight_fraction_leaf:

葉子節點最小的樣本權重和。

float, optional (default=0.) 這個值限制了葉子節點所有樣本權重和的最小值,

如果小於這個值,則會和兄弟節點一起被剪枝。 預設是0,就是不考慮權重問題。

一般來說,如果我們有較多樣本有缺失值,或者分類樹樣本的分布類別偏差很大,

就會引入樣本權重,這時我們就要注意這個值

了。8.random_state:

無論決策樹模型如何進化,在分枝上的本質都是追求某個不純度指標的優化,不純度

是基於節點來計算的。也就是說,決策樹在建樹時,是靠優化節點來追求一棵優化的樹,

但最優的節點能夠保證最優的樹嗎?不一定。

那應該怎麼解決這個問題呢?

sklearn解決這個問題的方法: 既然可以樹不能保證最優,那就建更多的不同的樹,然後從中

取最好的。

怎樣從一組資料集中建不同的樹呢:scikit-learn在每次分枝時, 不使用全部特徵, 而是隨機

選取一部分特徵,從中選取不純度相關指標最優的作為分枝用的節點. 這樣,每次生成的樹

也就不同了。這裡對於特徵的隨機選取,就是random_state的意思。其實就可以理解為

隨機數種子,這個種子類似於乙個控制器,控制每次的隨機。因為要隨機取樣,設定了

這個引數以後,每次隨機的結果是一樣的,這樣很有用,控制住了不必要的變數。

9.splitter:

特徵劃分標準。

『best』 or 『random』 (default=」best」) 前者在特徵的所有劃分點中找出最優的劃分點。

後者是隨機的在部分劃分點中找區域性最優的劃分點。預設的」best」適合樣本量不大的時候,

而如果樣本資料量非常大,此時決策樹構建推薦」random」

10.criterion:

特徵選擇標準。

『gini』 or 『entropy』 (default=」gini」),前者是基尼係數,後者是資訊熵。

兩種演算法差異不大對準確率無影響,資訊墒執行效率低一點,因為它有對數運算。

一般說使用預設的基尼係數」gini」就可以了,即cart演算法。

除非你更喜歡類似id3, c4.5的最優特徵選擇方法

決策樹理論 Decision tree

決策樹面試被提及的題目 1 決策樹的原理 從根結點開始,對例項的某一特徵進行測試,根據測試的結果,將例項分配到其子結點 每乙個子結點對應著該特徵的乙個取值。如此遞迴地對例項進行測試並分配,直至達到葉結點。最後將例項分配到葉結點的類中。2 決策樹的過程 步驟 決策樹學習通常包括3個步驟 特徵選擇 決策...

Decision Tree演算法(決策樹)

1.定義 決策樹是一種十分常用的分類方法。決策樹是乙個樹結構 可以是二叉樹或非二叉樹 其每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放乙個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特徵屬性,並按照其值選擇輸出分支,直到到達...

決策樹(decision tree)分類演算法

2.1 決策樹 decision tree 分類演算法 決策樹是以例項為基礎的歸納學習演算法。它從一組無次序 無規則的元組中推理出決策樹表示形式的分類規則。它採用自頂向下的遞迴方式,在決策樹的內部結點進行屬性值 的比較,並根據不同的屬性值從該結點向下分支,葉結點是要學習劃分的類。從根到葉結點的一條路...