之前對決策樹的算法原理做了總結,包括決策樹算法原理(上)和決策樹算法原理(下)。今天就從實踐的角度來介紹決策樹算法,主要是講解使用scikit-learn來跑決策樹算法,結果的可視化以及一些參數調參的關鍵點。
1. scikit-learn決策樹算法類庫介紹
scikit-learn決策樹算法類庫內部實現是使用了調優(yōu)過的CART樹算法,既可以做分類,又可以做回歸。分類決策樹的類對應的是DecisionTreeClassifier,而回歸決策樹的類對應的是DecisionTreeRegressor。兩者的參數定義幾乎完全相同,但是意義不全相同。下面就對DecisionTreeClassifier和DecisionTreeRegressor的重要參數做一個總結,重點比較兩者參數使用的不同點和調參的注意點。
2. DecisionTreeClassifier和DecisionTreeClassifier 重要參數調參注意點
為了便于比較,這里我們用表格的形式對DecisionTreeClassifier和DecisionTreeRegressor重要參數要點做一個比較。
參數 | DecisionTreeClassifier | DecisionTreeRegressor |
特征選擇標準criterion |
可以使用"gini"或者"entropy",前者代表基尼系數,后者代表信息增益。一般說使用默認的基尼系數"gini"就可以了,即CART算法。除非你更喜歡類似ID3, C4.5的最優(yōu)特征選擇方法。 |
可以使用"mse"或者"mae",前者是均方差,后者是和均值之差的絕對值之和。推薦使用默認的"mse"。一般來說"mse"比"mae"更加精確。除非你想比較二個參數的效果的不同之處。 |
|