决策树算法是一种典型的分类方法。对数据使用归纳算法生成规则,进而可以对新的数据进行分析和归类。
决策树算法非常适合探索性的问题。一步步对高维度的数据进行下钻分析,得出的规则容易理解,结论可以快速地用在业务实践当中。
一、决策树的优点
1、规则简单易懂,可解释性强
决策树得出来的分类结论非常符合人们的日常思维模式,其树状分枝的可视化结构让人容易理解,可解释性强。而且决策树得出的规则,可以方便地作为运营策略来使用。这和其他复杂的机器学习算法,尤其是那些“黑盒”一类的模型算法比起来,有着非常大的优势。
数据分析师在选择算法时,会倾向于选择这种容易被业务人员接受的模型。所以决策树在业务中广受欢迎,应用广泛。
例如:决策树可以运用在用户特征的分类上,其“如果……那么……”的结论形式,可以快速转化成对用户群体的分类。其简约易懂的决策规则,运用起来省时省力。
2、对数据缺失的包容性强
决策树对数据分布或者数据缺失的包容性强,不太会被异常值干扰。对数据处理和数据清洗的要求也不是很高,不需要进行特征缩放或者做归一化处理。既可以处理区间型变量,也可以处理类别型变量。
3、不要求数据线性可分
决策树算法既可以处理线性数据,也可以处理非线性关系的数据。通过节点的分裂,可以展示出复杂些的数据模式和关系。
二、决策树的缺点:
1、贪心算法,考虑局部最优,容易过拟合
决策树算法在训练的过程中容易对训练数据过度拟合。尤其是在树的深度过大时,导致模型的泛化能力较差。可以通过剪枝等方法来缓解这一问题。
2、对噪音敏感
尤其是在数据体量较小的时候,少量的异常值或错误标记的数据都可能会显著影响树的结构和模型的结论。
3、不稳定性
决策树算法对数据中的微小变动非常的敏感。就算是训练数据只做了轻微的修改,也可能会导致生成的决策树发生非常大的变化。这限制了决策树算法在某些要求模型稳定性的场景中的应用。