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