sklearn.tree.decisiontreeclassifier
class sklearn.tree.decisiontreeclassifier(criterion=』gini』, splitter=』best』, max_depth=none, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=none, random_state=none, max_leaf_nodes=none, min_impurity_decrease=0.0, min_impurity_split=none, class_weight=none, presort=false)[source]
criterion:特徵選擇標準,預設值為』gini』.(emtropy,gini),預設gini,即cart演算法。
splitter:特徵劃分標準,預設值為『best』。(best,random),best在特徵的所有劃分點鐘找到最優的劃分點,random隨機的在部分劃分點中找區域性最優的劃分點。預設的』best』適合樣本量不大的時候,而如果樣本資料量非常大,此時決策樹構建推薦』random』
max_depth:決策樹最大深度,預設值是none,(int,none),一般資料比較少或者特徵少的時候可以不用管這個值,如果模型樣本數量多,特徵頁多時,推薦限制這個最大深度,具體取值取決於資料的分布,常用的可以取值10~100之間,常用來解決過擬合。
min_samples_split:內部節點再劃分所需最小樣本數。預設值為2。(int, float)如果是int,則取傳入值本身作為最小樣本數;如果是float,則取ceil(min_samples_split樣本數量)作為最小樣本數。(向上取整)
min_samples_leaf:葉子節點最少樣本數。 如果是int,則取傳入值本身作為最小樣本數;如果是float,則取ceil(min_samples_leaf樣本數量)的值作為最小樣本數。這個值限制了葉子節點最少的樣本數,如果某葉子節點數目小於樣本數,則會和兄弟節點一起被剪枝。
min_weight_fraction_leaf:葉子節點最小的樣本權重和。預設為0。(float) 這個值限制了葉子節點所有樣本權重和的最小值,如果小於這個值,則會和兄弟節點一起被剪枝。預設是0,就是不考慮權重問題,所有樣本的權重相同。一般來說如果我們有較多樣本有缺失值或者分類樹樣本的分布類別偏差很大,就會引入樣本權重,這時就要注意此值。
max_features:在劃分資料集時考慮的最多的特徵值數量。int值,在每次split時最大特徵數;float值表示百分數,即(max_features*n_features);
random_state:預設是none,(int, randomsate instance, none)
max_leaf_nodes:最大葉子節點數。預設為none。(int, none)通過設定最大葉子節點數,可以防止過擬合,預設情況下是不設定最大葉子節點數。如果加了限制,演算法會建立在最大葉子節點數內最優的決策樹。如果特徵不多,可以不考慮這個值,但是如果特徵多,可以加限制,具體的值可以通過交叉驗證得到。
min_impurity_decrease:節點劃分最小不純度。預設值為『0』。(float,)限制決策樹的增長,如果某節點的不純度(基尼係數,資訊增益,均方差,絕對差)小與這個閾值,則該節點不再生成子節點。
min_impurity_split:資訊增益的閥值。決策樹在建立分支時,資訊增益必須大於這個閥值,否則不**。
class_weight:類別權重。預設為none,(dict, list of dicts, balanced)指定樣本各類別的權重,主要是為了防止訓練集某些類別的樣本過多,導致訓練的決策樹過於偏向這些類別。balanced,演算法自己計算權重,樣本量少的類別所對應的樣本權重會更高。如果樣本類別分布沒有明顯的偏倚,則可以不管這個引數。不適用於回歸樹,sklearn.tree.decisiontreeregressor.
presort:bool,預設是false,表示在進行擬合之前,是否預分資料來加快樹的構建。對於資料集非常龐大的分類,presort=true將導致整個分類變得緩慢;當資料集較小,且樹的深度有限制,presort=true才會加速分類。
機器學習之決策樹
在這裡,我想以更直觀的方式幫助各位理解 掌握並且運用 注意 是運用 決策樹,從而為機器學習作鋪墊。ps 但還是希望大家稍微知道決策樹大概是什麼樣子。1.根結點 root node 沒有入邊,但有零條或多條出邊 2.內部結點 internal node 恰有一條入邊和 兩條或多條出邊 3.葉結點 le...
機器學習之決策樹
決策樹是很常見的機器學習分類演算法,竟然叫決策樹,那麼它的模型其實就像樹一樣。通過對樣本集的學習,挖掘出有用的規則。對於程式設計師來說或許以條件語句來看就更好理解了,決策樹可以看成是多個if then條件語句的集合。這種模型等同於我們寫的條件語句,所以它的 分類速度是很快的。來個例子了解下決策樹分類...
機器學習之決策樹
簡介 決策樹是一種基本的分類方法,當然也可以用於回歸。我們一般只討論用於分類的決策樹。決策樹模型呈樹形結構。在分類問題中,表示基於特徵對例項進行分類的過程,它可以認為是if then規則的集合。在決策樹的結構中,每乙個例項都被一條路徑或者一條規則所覆蓋。通常決策樹學習包括三個步驟 特徵選擇 決策樹的...