CART(Classification and Regression tree)分類回歸樹由L.Breiman,J.Friedman,R.Olshen和C.Stone於1984年提出。ID3中根據屬性值分割數據,之后該特征不會再起作用,這種快速切割的方式會影響算法的准確率。CART是一棵二叉樹,采用二元切分法,每次把數據切成兩份,分別進入左子樹、右子樹。而且每個非葉子節點都有兩個孩子,所以CART的葉子節點比非葉子多1。相比ID3和C4.5,CART應用要多一些,既可以用於分類也可以用於回歸。CART分類時,使用基尼指數(Gini)來選擇最好的數據分割的特征,gini描述的是純度,與信息熵的含義相似。CART中每一次迭代都會降低GINI系數。下圖顯示信息熵增益的一半,Gini指數,分類誤差率三種評價指標非常接近。回歸時使用均方差作為loss function。
cart決策樹:
(1)特征選擇(2)創建決策樹
核心就是找最優分裂特征和最優分裂特征值
針對每一個特征的每一個切分點(相鄰兩個值的平均值就是切分點),都要計算一個gini增益,取最小的gini增益,選擇具有最小Gain_GINI的屬性及其屬性值,作為最優分裂屬性以及最優分裂屬性值。
//獲得候選分隔值數組,由相鄰兩個值的平均值組成,
以候選分割值切分的情況下,計算Gini增益 先划分后計算,
如果當前切分點能讓數據更純,則選擇之;換句話說找Gini增益最小的切分點