在本篇文┞仿中,我们将会介绍决定计划树的数学细节(以及各类 Python 示例)及其优缺点。你们将会发明它们是很简单的,并且这些内容是有助于懂得的。然而,与最好的监督进修办法比拟,它们平日是没有竞争力的。为了克服决定计划树的各类缺点,我们将会聚焦于各类概念(附有 Python 实例),比如自助集合或袋装(Bootstrap Aggregating or Bagging),还有随机丛林(Random Forests)。另一种广泛应用的晋升办法会在以落后行零丁评论辩论。每种办法都包含生成多种树,这些树被结合起来,生成一个单一的一致性猜测结不雅,并且经常带来猜测精度的明显晋升。
决定计划树
决定计划树是一种监督进修算法。它实用于类别和持续输入(特点)和输出(猜测)变量。基于树的办法把特点空间划分成一系列矩形,然后给每一个矩形安顿一个简单的模型(像一个常数)。大年夜概念上来讲,它们是简单且有效的。起首我们经由过程一个例子来懂得决定计划树。然后用一种正规分析办法来分析创建决定计划树的过程。推敲一个简单的假贷公司顾客的数据集合。我们给定了所有客户的萌芽账户余额、信用记录、任职年限和先前贷款状况。相干义务是猜测顾客的风险等级是否可托。该问题可以应用下列决定计划树来解决:
CART 模型
CART 模型包含选择输入变量和那些变量上的瓜分点,直到创建出恰当的树。应用贪婪算法(greedy algorithm)选择应用哪个输入变量和瓜分点,以使成本函数(cost function)最小化。
树建造的结尾应用了一个预定义的停止准则,比如分派到树膳绫强一个叶结点的练习样本达到最小数量。
其他决定计划树算法:
- ID3:Iterative Dichotomiser 3
- C4.5:ID3 算法的改进
- CHAID:Chi-squared Automatic Interaction Detector
- MARS:决定计划树的扩大式,以更好地解决数值型猜测。
- 前提揣摸树
回归树
我们如今存眷一下回归树的 CART 算法的细节。扼要来说,创建一个决定计划树包含两步:
1. 把猜测器空间,即一系列可能值 X_1,X_2,...,X_p 分成 J 个不合的且非重叠的区域 R_1,R_2,...,R_J。
2. 对进入区域 R_J 的每一个样本不雅测值都进行雷同的猜测,该猜测就是 R_J 中练习样本猜测值的均值。
为了创建 J 个区域 R_1,R_2,...,R_J,猜测器区域被分为高维度的矩形或盒形。其目标在于经由过程下列式子找到可以或许使 RSS 最小化的盒形区域 R_1,R_2,...,R_J,
个中,yhat_Rj 等于第 j 个盒形中练习不雅测的平均猜测值。
鉴于这种空间瓜分在计算上是弗成行的,是以我们常应用贪婪办法(greedy approach)来划分区域,叫做递归二元瓜分(recursive binary splitting)。
个中 yhat_R1 为区域 R_1(j,s) 中不雅察样本的平均猜测值,yhat_R2 为区域 R_2(j,s) 的不雅察样本猜测均值。这一过程赓续反复以搜寻最好的猜测器和切分点,并进一步分隔数据以使每一个子区域内的 RSS 最小化。然而,我们不会瓜分全部猜测器空间,我们只会瓜分一个或两个前面已经认定的区域。这一过程会一向持续,直到达到停止准则,例如我们可以设定停止准则为每一个区域最多包含 m 个不雅察样本。一旦我们创建了区域 R_1、R_2、...、R_J,给定一个测试样本,我们就可以用该区域所有练习样本的平均猜测值来猜测该测试样本的值。
分类树
clf.best_score_, clf.score(x_test, y_test), clf.best_params_
分类树和回归树十分类似,只不过它是定性地猜测响应值而非定量猜测。大年夜上文可知,回归树对一个不雅察值所猜测的持续型数值就是属于同一叶结灯揭捉?练样本不雅察值的均值。然则对于分类树来说,我们所猜测的类别是练习样本不雅察值袈溱某区域下最常见的类别,即练习不雅察值的模式响应(mode response)。为了达到分类目标,很多时刻体系并不会只猜测一?类别,它经常猜测一组类别及其出现的概率。
分类树的生成和回归树的生成十分类似。正如在回归树中那样,我们一般应用递归性的二元瓜分来生成分类树。然而在分类树中,RSS 不克不及作为二元瓜分的标准。我们须要定义叶结点的不纯度量 Q_m 来替代 RSS,即一种可以在子集区域 R_1,R_2,...,R_j 度量目标变量同质性的办法。在结点 m 中,我们可以经由过程 N_m 个样本不雅察值表示一个区域 R_m 所出现类其余频率,第 k 个类别在第 m 个区域下练习所出现的频率可表示为:
个中,I(y_i=k) 为指导函数,即如不雅 y_i = k,则取 1,不然取零。
不纯性度量 Q_m 一个比较天然的办法是分类误差率。分类误差率描述的是练习不雅察值袈溱某个区域内不属于最常见类其余概率:
推荐阅读
我们将逐渐揭开 awk 功能的神秘面纱,在本节中,我们将介绍 awk 内置built-in变量的概念。你可以在 awk 中应用两种类型的变量,它们是:用户自定义user-defined变量和内置变量。我们将逐>>>详细阅读
本文标题:从决策树到随机森林:树型算法的原理与实现
地址:http://www.17bianji.com/lsqh/36558.html
1/2 1