「这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战」。
对于决策树,我们并不陌生。生活中我们会用决策树的方法来思考一些问题。
例如,对于 老婆:“下班回来看看有没有卖苹果的,买10个苹果,如果有西瓜,就买1个”
,可以绘制出决策树:
graph TD
n1[有没有人卖苹果] --有--> n2[TA有没有卖西瓜]
n1 --没有--> n3[空手而归]
n2 --有--> n4[买1个苹果]
n2 --没有--> n5[买10个苹果]
下面我们看看决策树在机器学习里的解释和优缺点。
决策树
决策树可用于分类和回归。
决策树根据特征中的特定阈值多次分割数据。通过拆分,创建数据集的不同子集,每个实例属于一个子集。最后的子集称为终端节点或叶节点,中间子集称为内部节点或分割节点。
结果 和特征 之间的关系表示为:
是标识函数,如果 在子集合 中,则返回 ,否则返回 。如果实例落入叶节点 ,则预测结果为 ,其中 是叶节点 中所有训练实例的平均值。
决策树的构造方法有 ID3、CD4.5、CART 等。以 CART 为例,其采用一个特征,并确定哪个分界点使回归任务的 方差最小,或者分类任务的 类分布的基尼指数最小。
解释
决策树解释很简单:从根节点开始,转到下一个节点,边上的信息展示了使用这条边的原因。一旦到达叶节点,该节点将展示预测的结果。将所有经过的边用“和”连接,构成了结果的解释。
决策树中某个特征的总体重要性可以通过以下方式计算:遍历使用该特征的所有分割,并测量与父节点相比,该特征减少方差或基尼指数的程度。
优点
树结构非常适合捕获数据中特征之间的交互。不需要变换特征。在线性模型中,有时需要取特征的对数。
数据以不同的组结束,这些组通常比线性回归中多维超平面上的点更容易理解。这种解释可以说相当简单。
缺点
树不能处理线性关系。输入特征和结果之间的任何线性关系都必须通过分割来近似,从而创建一个阶跃函数。这是没有效率的。
树也很不稳定。训练数据集中的一些更改可以创建一个完全不同的树。这是因为每个拆分都取决于父拆分。如果选择不同的特征作为第一个拆分特征,则整个树结构将发生变化。如果结构如此容易更改,则难以对模型产生信心。
终端节点的数量随着深度的增加而迅速增加。终端节点越多,树越深,理解树的决策规则就越困难。