一、調參概述
決策樹是一種基本的機器學習算法,常用於分類和回歸任務。在實際應用中,為了得到更優的模型性能,需要對決策樹的參數進行調整,以達到更好的泛化能力。調參可以通過手動調整一些超參數的數值,也可以通過算法優化方法來自動調參。具體包括以下方面:
1、決策樹的結構、節點劃分標準。
2、剪枝策略的選擇。
3、正則化參數的調整。
二、決策樹結構參數調整
決策樹的結構參數包括樹的深度、節點最少樣本數、節點最少樣本比例等。當樹的深度不夠,可能會漏掉一些重要的特徵;當深度太大,可能會過擬合。採用交叉驗證法,選一個適合數據集的深度。節點最少樣本數是指每個節點最少必須包含的樣本數,即便增加這個值,可能導致某些分支特別少,結構變得簡單。節點最少樣本比例是相對於整個數據集而言,一般比直接設置節點最小樣本數更優。
#調整樹的深度、節點最小樣本數 tree.DecisionTreeClassifier(max_depth=5, min_samples_split=10) #調整節點最小樣本比例 tree.DecisionTreeClassifier(min_samples_split=0.5)
三、節點劃分準則
節點劃分準則包括信息增益、信息增益率、基尼係數等。信息增益是指用屬性劃分前後的數據“不確定性”減少的程度,選取信息增益最大的屬性作為劃分屬性;信息增益率是相對於劃分前的數據不確定性而言的,偏向於取值較多的屬性;基尼係數是衡量數據“不純度”的指標,選取基尼係數最小的屬性作為劃分屬性。
#設置節點劃分準則 tree.DecisionTreeClassifier(criterion='entropy') #設置信息增益率為劃分準則 tree.DecisionTreeClassifier(criterion='entropy', splitter='best')
四、剪枝策略調整
剪枝是指通過縮小決策樹規模來提高預測性能的過程。剪枝分為預剪枝和後剪枝,前者是在決策樹構建時預先剔除一部分分支,後者是在決策樹建好之後若存在過擬合現象則刪除一些結點或葉子。剪枝的幾個重要參數有最大深度、最小葉節點數、葉節點最小樣本數等。
tree.DecisionTreeClassifier(ccp_alpha=0.01)
五、正則化參數調整
正則化是為了防止過擬合。常見的正則化參數有最小權重閾值和最大葉節點數目。這裡的正則化指的不是L1L2正則項,而是對樹的深度和葉子節點數的限制。
tree.DecisionTreeClassifier(min_weight_fraction_leaf=0.01) tree.DecisionTreeClassifier(max_leaf_nodes=10)
六、總結
決策樹的參數調整可以通過手動調整和自動調參兩種方式來實現。通過調整結構參數、節點劃分準則、剪枝策略和正則化參數,可以讓決策樹算法提高泛化能力和性能。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182292.html