sklearn 决策树(分类树、回归树)的 重要参数、属性、方法理解
文章目錄
- 決策分類樹
- 引入
- 重要參數
- 1,criterion
- 2,splitter
- 3,max_depth
- 4,min_samples_leaf
- 5,min_samples_split
- 6,max_features
- 7,class_weight
 
- 重要屬性
- 重要方法
 
- 決策回歸樹
決策分類樹
引入
from sklearn.tree import DecisionTreeClassifier # 全部參數 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=1e-07, \class_weight=None, presort=False)重要參數
1,criterion
字符串類型,默認值為 ‘gini’。這個參數指定劃分子樹的評估標準:
**推薦設置為 ‘gini’,**因為(1)基尼系數的計算過程相對簡單,而計算信息增益需要進行對數運算。(2)使用信息增益作為劃分標準時,在使用高緯度數據或者噪聲很多的數據時容易過擬合。
2,splitter
字符串類型,默認值為’best’。這個參數用于指定切分原則:
默認的 ‘best’ 適合樣本量不大的時候,而如果樣本數據量量非常大,此時決策樹構建推薦‘random’。
3,max_depth
數值型,默認值None。這是與剪枝相關的參數,設置為None時,樹的節點會一直分裂,直到:(1)每個葉子都是“純”的;(2)或者葉子中包含?于min_sanples_split個樣本。
推薦從 max_depth = 3 嘗試增加,觀察是否應該繼續加大深度。
合適的取值可以是 [3, 5, 8, 15, 25, 30, None]
如果max_leaf_nodes參數非None,則忽略此項
4,min_samples_leaf
數值型,默認值1,指定每個葉子結點包含的最少的樣本數。參數的取值除了整數之外,還可以是浮點數,此時(min_samples_leaf * n_samples)向下取整后的整數是每個節點的最小樣本數。
 此參數設置的過小會導致過擬合,反之就會欠擬合。調整過程:
推薦的取值可以是:[1, 2, 5, 10]
5,min_samples_split
數值型,默認值2,指定每個內部節點(非葉子節點)包含的最少的樣本數。與min_samples_leaf這個參數類似,可以是整數也可以是浮點數。
推薦的取值是:[1, 2, 5, 10, 15, 100]
6,max_features
可以為整數、浮點、字符或者None,默認值為None。此參數用于限制分枝時考慮的特征個數,超過限制個數的特征都會被舍棄。
推薦的取值為:[‘log2’, ‘sqrt’, None]
7,class_weight
可以是列表、字典、或者字符串’balanced’,還可以是默認值None。這個參數主要是用于樣本不平衡數據集,當設置為None時,所有類別樣本權重都為1。也可以利用列表或者字典手動設置各個類別樣本的權重,將樣本較少的類別賦予更大的權重。當設置為’balanced’時,會自動根據樣本出現的頻率計算權重,即 n_samples / (n_classes * np.bincount(y))
 推薦的設置為:[None, ‘balanced’]
重要屬性
1,feature_importances_ ,給出了各個特征對模型的重要性。
2,tree_ ,一個Tree對象,即底層的決策樹。
重要方法
1,fit(X,y) : 訓練模型。
 2,predict(X) : 用模型預測,返回預測值。
 3,predict_proba(X) : 返回一個數組,數組元素依次為各個樣本屬于各個類別的概率值。
 4,score(X, y) : 返回在(X, y)上預測的準確率(accuracy)。
決策回歸樹
引入方式如下:
from sklearn.tree import DecisionTreeRegressor # 全部參數 DecisionTreeRegressor(criterion='mse', 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, \presort='deprecated', ccp_alpha=0.0)其中,參數criterion 是字符串類型,默認值為 ‘mse’,是衡量回歸效果的指標。可選的還有‘friedman_mse’,‘mae’ 。
除了criterion這個參數之外,其他參數、屬性、方法的含義與用法與上文提到的決策分類樹的參數基本一致。
參考文章:
sklearn.tree.DecisionTreeClassifier
sklearn.tree.DecisionTreeRegressor
SKlearn中分類決策樹的重要參數詳解
總結
以上是生活随笔為你收集整理的sklearn 决策树(分类树、回归树)的 重要参数、属性、方法理解的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 魔兽世界怀旧服裁缝能做什么?最全裁缝制作
- 下一篇: flash如何制作春雷闪电效果动画
