分類決策樹
API
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)
幾個重要的參數:
- criterion:分類標準:信息熵或者gini係數
- splitter:取最好的點分隔樹或者隨機分隔,最好的點是貪心的思想,隨機分隔是想獲得更好的泛化能力。
- max_depth:預剪枝,限制樹的深度,提高泛化能力
- max_features:每次隨機選擇部分節點,而不是全部,再從這部分中選一個進行分隔,提高泛化能力。
代碼例子:
對鳶尾花的數據集進行分析:
https://github.com/xiayto/Mechine_learning/blob/master/DecisionTree/DecisionTree.py
迴歸決策樹
API
與分類決策樹類似,用CART劃分標準,在分類中,CART用的是gini係數,在迴歸中用的是MSE。
代碼樣例
https://github.com/xiayto/Mechine_learning/blob/master/DecisionTree/DecisionTreeRegression.py