决策树是一种基于树形结构的监督学习算法,通过一系列规则判断(if-then-else)对数据进行分类或回归。其核心思想是递归地划分数据,使得每个子集的纯度(如类别一致性)逐步提升。决策树直观易解释,是随机森林、梯度提升树(如XGBoost)等集成方法的基础。
核心原理
1.树的构建过程
选择最优特征:根据某种准则(如信息增益、基尼系数)选择当前最佳分裂特征。
划分数据:按特征阈值将数据分为子集(如“年龄≥30”和“年龄<30”)。
递归生长:对子集重复上述过程,直到满足停止条件(如深度限制或纯度达标)。
2.关键分裂准则
信息增益-分类
信息增益比-分类
基尼系数-分类
均方误差(MSE)-回归
3.剪枝策略(防止过拟合)
预剪枝:在生长过程中提前停止(如限制树深度、最小样本分裂数)。
后剪枝:先生成完整树,再自底向上剪枝(如代价复杂度剪枝)。
决策树的优点:
解释性强:规则可视化,适合业务分析(如银行风控规则)。
无需特征缩放:对数据标准化不敏感。
处理混合类型数据:支持数值、类别特征。
非参数方法:无需假设数据分布。
决策树的缺点:
容易过拟合:需通过剪枝或集成方法缓解。
不稳定:数据微小变化可能导致树结构剧变。
偏向主导特征:对多类别特征或有主导值的特征敏感。