随机森林及CART的算法
二、ID3算法
⒈ 对当前例子集合,计算各属性的信息增益; ⒉ 选择信息增益最大的属性Ak; ⒊ 把在Ak处取值相同的例子归于同一子集,Ak取几 个值就得几个子集; ⒋ 对既含正例又含反例的子集,递归调用建树算法; ⒌ 若子集仅含正例或反例,对应分枝标上P或N,返 回调用处。
13
ID3在建树时,每个节点仅含一个属性,是一种单变元的算法,属 性间的相关性强调不够。虽然它将多个属性用一棵树连在一起,但 联系还是松散的。
• 随机森林是通过一种新的自助法重采样技术生成 很多个树分类器, 其步骤如下:
1. 从原始训练数据中生成k个自助样本集, 每个 自助样本集是每棵分类树的全部训练数据。
2. 每个自助样本集生长为单棵分类树。在树的每 个节点处从M个特征中随机挑选m个特征 (m《M), 按照节点不纯度最小的原则从这个 m特征中选出一个特征进行分支生长。这棵分类 树进行充分生长, 使每个节点的不纯度达到最小, 不进行通常的剪枝操作。
14
CART
• 二元划分
– 二叉树不易产生数据碎片,精确度往往也会高于多 叉树,所以在CART算法中,采用了二元划分
• 不纯性度量
– 分类目标:Gini指标、Towing、order Towing – 连续目标:最小平方残差、最小绝对残差
• 剪枝:
– 用独立的验证数据集对训练集生长的树进行剪枝
CART- 回归树
(4)ID3对噪声较为敏感。关于什么是噪声,Quinlan的定 义是训练例子中的错误就是噪声。它包含两方面,一是属性值取 错,二是类别给错。
当训练集增加时,ID3的决策树会随之变化。在建树过程中,各 属性的信息增益会随例子的增加而改变,从而使决策树也变化。 这对渐近学习(即训练例子不断增加)是不方便的。
ID3方法基本思想
❖ 首先找出最有判别力的属性,把样例分成多 个子集,每个子集又选择最有判别力的属性 进行划分,一直进行到所有子集仅包含同一 类型的数据为止。最后得到一棵决策树。
❖ J.R.Quinlan的工作主要是引进了信息论中 的信息增益,他将其称为信息增益 (information gain),作为属性判别能力 的度量,设计了构造决策树的递归算法。
• 根据生成的多个树分类器对新的数据进行 预测,分类结果按每个树分类器的投票多少 而定。
• 随机森林通过在每个节点处随机选择特征 进行分支,最小化了各棵分类树之间的相 关性,提高了分类精确度。因为每棵树的 生长很快,所以随机森林的分类速度很快, 并且很容易实现并行化。
随机森林分类性能的主要因素
• Bagging(Breiman,1996)
– 在训练的每一轮中,均从原始样本集S中有放回地随机 抽取训练样本集T(T的样本个数同S),这样一个初始 样本在某轮训练中可能出现多次或根本不出现( S中 每个样本未被抽取的概率为(1-1/|S|)|S|≈0.368,当|S|很 大时)。
– 最终的分类规则为简单多数投票法或简单平均法
随机森林
随机森林
随机森林的基本思想: 通过自助法(boot-strap)重采样技术,不断
生成训练样本和测试样本,由训练样本生成多个分 类树组成随机森林,测试数据的分类结果按分类树 投票多少形成的分数而定。
随机森林有两个重要参数: 一是树节点预选的变量个数; 二是随机森林中树的个数。
分类器组合
• AdaBoosting(Adaptive Boosting)
随机森林算法
• 随机森林算法是Leo Breiman于2001年提 出的一种新型分类和预测模型,它具有需要 调整的参数较少、不必担心过度拟合、分 类速度很快, 能高效处理大样本数据、能估 计哪个特征在分类中更重要以及较强的抗 噪音能力等特点, 因此, 在基因芯片数据挖 掘、代谢途径分析及药物筛选等生物学领 域得到应用并取得了较好的效果。该方法 是基于决策树(decision tree) 的分类器 集成算法。
• 森林中单颗树的分类强度(Strength): 每颗树的分类强度越大,则随机森林的分 类性能越好。
• 森林中树之间的相关度(Correlation): 树之间的相关度越大,则随机森林的分类 性能越差。
ID3和cart的算法区别
• CART是L.Breiman等人在1984 年提出的决策树算法, 其原理与ID3相似,在CART中提出了杂度削减的概念, 按杂度削减最大分裂节点生长决策树,与ID3不同的是, CART最终生成二叉树,然后利用重采技术进行误差估计 和树剪枝,然后选择最优作为最终构建的决策树。这些算 法均要求训练集全部或一部分在分类的过程中一直驻留在 内存中。
minimization algorithm):
N (t)
SS(t)
( yi y(t))2
i1, Xit
CART- 回归树算法步骤示意
• CART_regression(DataSet, featureList, alpha, delta): – 创建根节点R – 如果当前DataSet中的数据的值都相同,则标记R的值为该值 – 如果最大的phi值小于设定阈值delta,则标记R的值为DataSet应变量 均值 – 如果其中一个要产生的节点的样本数量小于alpha,则不再分解,标记R 的值为DataSet应变量均值
– 对每个样本赋予一个权重,代表该样本被当前分类器 选入训练集的概率,并根据预测函数的输出与期望输 出的差异调整权重:如某个样本点已被正确分类,则 它的权重减小,否则,它的权重增大;通过这种方式, 使得学习算法能集中学习较难判别的样本。
– 经 的 票过权法T重轮{训练1, ,得2,…到,T个分T}类,函最数终的{f分1,类f2,规…则,fT为}及加对权应投
• 样本: (X, y)
– y为分类 => 分类树 – y为实数 => 回归树
• 设t代表树的某个节点,t中的样本集合为:{(X1,y1),
(X2,y2) …},应变量为实数,N(t)是节点t中的样本个数。
节点t的应变量的均值:
y
1 N (t) N (t) i1,Xit
yiΒιβλιοθήκη • 节点t内的平方残差最小化 (squared residuals
• 自助法重采样
在统计量重采样技术中,一种新方法是自 助法(bootstrap)。自助法是从原始的样 本容量为N的训练样本集合中随机抽取N个 样本生成新的训练样本集,抽样方法为有 放回抽样,这样重新采样的数据集不可避 免地存在着重复的样本。独立抽样k次,生 成k个相互独立的自助样本集。
随机森林算法基本原理
随机森林的原理分析
随机森林的原理分析集成~依赖~单元~投票~拟合~抗噪~⽣长~袋外⾼⼤并重~噪多基~串~投~敏~同~⽅⼀、优势互补: RF属于集成学习,集成学习通过构建并结合多个分类器来完成学习任务,常可获得⽐单⼀学习器更好的泛化性能 ⼀个简单例⼦:在⼆分类任务中,假定三个分类器在三个测试样本上的表现如下图,其中√表⽰分类正确,×表⽰分类错误,集成学习的结果通过投票法产⽣,即“少数服从多数”。
如下图:(a)中,每个分类器都只有66.6%的精度,但集成学习却达到了100%;(b)中,三个分类器没有差别,集成之后性能没有提⾼;(c)中,每个分类器的精度都只有33.3%,集成学习的结果变得更糟 这个简单地例⼦显⽰出:要获得好的集成,个体学习器应“好⽽不同”,即个体学习器要有⼀定的“准确性”,即学习器不能太差,并且要有“多样性”,即学习器间具有差异⼆、集成学习分类 根据个体学习器之间的依赖关系,集成学习⽅法⼤致可分为两⼤类: 个体学习器之间存在强依赖关系,必须串⾏⽣成的序列化⽅法:代表是Boosting 个体学习器间不存在强依赖关系,可同时⽣成的并⾏化⽅法:代表是Bagging和“随机森林”(Random Forest)三、什么是随机森林 随机森林就是通过集成学习的思想将多棵树集成的⼀种算法,它的基本单元是决策树 随机森林的名称中有两个关键词,⼀个是“随机”,⼀个就是“森林”。
“森林”我们很好理解,⼀棵叫做树,每棵决策树都是⼀个分类器(假设现在针对的是分类问题),那么对于⼀个输⼊样本,N棵树会有N个分类结果 ⽽RF集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是⼀种最简单的 Bagging 思想。
那么成百上千棵就可以叫做森林了 举例来说:森林中召开会议,讨论某个动物到底是⽼⿏还是松⿏,每棵树都要独⽴地发表⾃⼰对这个问题的看法,也就是每棵树都要投票。
该动物到底是⽼⿏还是松⿏,要依据投票情况来确定,获得票数最多的类别就是森林的分类结果。
经典算法CART
经典算法CARTCART(Classification And Regression Trees)是一种经典的算法,用于建立分类和回归树模型。
它是由Leo Breiman在1984年首次提出的,目前被广泛应用于数据挖掘和机器学习领域。
CART算法基于决策树的思想,可以将输入数据集分割成多个小的子集,每个子集代表一个决策树节点。
通过对特征的选择和分割,可以使得每个子集的纯度更高,即同一类别的样本更多。
最终,CART算法会生成一棵满足纯度要求的决策树模型。
CART算法的主要步骤如下:1. 特征选择:CART算法使用其中一种准则来选择最佳的特征。
常用的准则包括基尼指数(Gini index)和信息增益(information gain)。
基尼指数衡量了数据集的不纯度,而信息增益衡量了特征对数据集纯度的贡献程度。
选择具有最大基尼指数或信息增益的特征作为当前节点的划分特征。
2.划分数据集:根据划分特征的取值将数据集分成多个子集。
对于离散特征,每个取值对应一个子集;对于连续特征,可以选择一个划分点将数据集分成两个子集。
3.递归建立子树:对每个子集,重复步骤1和步骤2,递归地建立子树。
直到达到停止条件,例如达到最大深度或纯度要求。
4.剪枝处理:为了避免过拟合,CART算法会对生成的决策树进行剪枝处理。
根据其中一种评估准则,剪去部分子树或合并子树。
CART算法具有一些优点,使得它成为一种经典的算法。
首先,CART算法可以处理离散特征和连续特征,非常灵活。
其次,CART算法生成的决策树易于理解和解释,可以用于预测和决策解释。
此外,CART算法还能处理多分类和回归问题。
然而,CART算法也存在一些限制。
首先,CART算法只能生成二叉树,即每个节点只有两个分支。
这可能会导致决策树过于复杂,需要更多的分支来表示复杂的决策边界。
其次,CART算法在处理高维数据和数据不平衡的情况下可能会遇到困难,需要进行特殊处理。
总结起来,CART算法是一种经典的算法,用于建立分类和回归树模型。
CART算法介绍
CART算法介绍CART(Classification And Regression Trees)算法是一种机器学习算法,主要用于决策树模型的构建。
CART算法通过递归地将数据集分割成多个子集,直到子集中的数据只属于同一类别或满足一些预定义的条件。
CART算法可以用于分类和回归问题。
1.选择一个初始特征作为根节点,并将数据集分成两个子集。
选择初始特征的方法有很多,常见的方法有基尼指数和信息增益。
2.对每个子集,重复步骤1,选择一个最佳特征并将子集分割成更小的子集。
分割策略可以采用相同的方法,即最小化基尼指数或最大化信息增益。
3.递归地重复上述步骤,生成一棵完整的决策树,其中每个叶子节点代表一个类别。
4.进行剪枝操作,可以通过最小化损失函数或使用交叉验证方法来选择最优的决策树。
1.算法简单易懂,实现较为容易。
CART算法将复杂的决策问题简化为“是”和“否”的问题,其结果容易解释和理解。
2.可以处理多类别问题。
CART算法可以应用于多类别分类问题,并且可以通过增加决策树的深度来提高分类的准确性。
3.能够处理非线性特征。
CART算法对非线性特征没有太强的限制,可以处理多种类型的特征。
4.对缺失值和异常值具有较好的鲁棒性。
CART算法对于缺失值和异常值有一定的容忍程度,不会对模型产生太大的影响。
然而,CART算法也存在一些不足之处:1.对于样本噪声比较敏感。
CART算法对于噪声数据比较敏感,噪声数据容易导致树模型产生过拟合的情况。
2.对于类别不平衡的数据集效果不佳。
CART算法对于类别不平衡的数据集容易出现偏倚现象,导致模型效果下降。
3.容易产生过拟合。
CART算法在构建决策树时采用了贪心策略,很容易产生过拟合问题。
为了避免过拟合,可以进行剪枝操作。
总结来说,CART算法是一种强大且灵活的机器学习算法,适用于分类和回归问题。
它具有较好的鲁棒性和解释性,并且能够处理多类别和非线性特征。
然而,CART算法仍然存在一些限制,如对噪声敏感和对类别不平衡的数据处理能力不足。
机器学习总结(八)决策树ID3,C4.5算法,CART算法
机器学习总结(⼋)决策树ID3,C4.5算法,CART算法本⽂主要总结决策树中的ID3,C4.5和CART算法,各种算法的特点,并对⽐了各种算法的不同点。
决策树:是⼀种基本的分类和回归⽅法。
在分类问题中,是基于特征对实例进⾏分类。
既可以认为是if-then规则的集合,也可以认为是定义在特征空间和类空间上的条件概率分布。
决策树模型:决策树由结点和有向边组成。
结点⼀般有两种类型,⼀种是内部结点,⼀种是叶节点。
内部结点⼀般表⽰⼀个特征,⽽叶节点表⽰⼀个类。
当⽤决策树进⾏分类时,先从根节点开始,对实例的某⼀特征进⾏测试,根据测试结果,将实例分配到⼦结点。
⽽⼦结点这时就对应着该特征的⼀个取值。
如此递归对实例进⾏测试分配,直⾄达到叶结点,则该实例属于该叶节点的类。
决策树分类的主要算法有ID3,C4.5。
回归算法为CART算法,该算法既可以分类也可以进⾏回归。
(⼀)特征选择与信息增益准则特征选择在于选取对训练数据具有分类能⼒的特征,⽽且是分类能⼒越强越好,这样⼦就可以提⾼决策树的效率。
如果利⽤⼀个特征进⾏分类,分类的结果与随机分类的结果没有差异,那么这个特征是没有分类能⼒的。
那么⽤什么来判别⼀个特征的分类能⼒呢?那就是信息增益准则。
何为信息增益?⾸先,介绍信息论中熵的概念。
熵度量了随机变量的不确定性,越不确定的事物,它的熵就越⼤。
具体的,随机变量X的熵定义如下:条件熵H(Y|X)表⽰在已知随机变量X的条件下随机变量Y的不确定性,随机变量X给定的条件下随机变量Y的条件熵为H(Y|X),定义为X给定条件下Y的条件概率分布的熵对X的数学期望:信息增益表⽰在已知特征X的情况下,⽽使得Y的信息的不确定性减少的程度。
信息增益的定义式如下:g(D,A)表⽰特征A对训练集D的信息增益,其为集合D的经验熵H(D)与在特征A给定条件下D的经验条件熵H(D|A)之差。
⼀般熵与条件熵之差,称为互信息。
在决策树中,信息增益就等价于训练数据集中的类与特征的互信息。
随机森林算法原理和步骤
随机森林算法原理和步骤随机森林算法是一种集成学习方法,它基于决策树构建而成。
随机森林算法的原理是通过构建多个决策树,并将它们集成在一起来进行预测,以提高模型的准确性和鲁棒性。
下面我会详细介绍随机森林算法的原理和步骤。
首先,随机森林算法的原理是基于Bagging(Bootstrap Aggregating)和随机特征选择。
Bagging是一种集成学习方法,它通过随机采样训练数据集来构建多个模型,再将这些模型的预测结果进行平均或投票来得到最终的预测结果。
随机特征选择是指在构建每棵决策树的过程中,对特征进行随机选择,以增加每棵树之间的差异性。
接下来是随机森林算法的步骤:1. 数据准备,首先,需要准备训练数据集,包括特征和标签。
2. 随机采样,从训练数据集中随机选择一定比例的样本,采用有放回的方式进行抽样,构成新的训练数据集。
3. 特征随机选择,对于每棵决策树的构建,从所有特征中随机选择一部分特征,以增加每棵树之间的差异性。
4. 决策树构建,使用随机选择的特征和随机采样的训练数据集来构建决策树,可以采用CART(Classification and Regression Trees)算法或者ID3(Iterative Dichotomiser 3)算法。
5. 集成预测,对于新的样本,将其输入到每棵决策树中进行预测,最后将所有树的预测结果进行平均或投票来得到最终的预测结果。
随机森林算法的优点包括能够处理高维数据和大规模数据集,具有较好的泛化能力,对缺失值不敏感,并且能够评估各个特征的重要性。
然而,随机森林算法在处理噪声较大的数据集时可能会过拟合,且对于稀有类别的预测效果可能较差。
总的来说,随机森林算法通过构建多棵决策树并进行集成预测,能够有效提高模型的准确性和鲁棒性,是一种非常实用的机器学习算法。
数据挖掘十大经典算法
数据挖掘十大经典算法数据挖掘是通过分析大量数据来发现隐藏的模式和关联,提供商业决策支持的过程。
在数据挖掘中,算法起着至关重要的作用,因为它们能够帮助我们从数据中提取有用的信息。
以下是十大经典的数据挖掘算法:1.决策树算法:决策树是一种基于分层选择的预测模型,它使用树状图的结构来表示决策规则。
决策树算法适用于分类和回归问题,并且可以解释性强。
常用的决策树算法有ID3、C4.5和CART。
2.朴素贝叶斯算法:朴素贝叶斯是一种基于概率的分类算法,它假设特征之间是相互独立的。
朴素贝叶斯算法简单有效,适用于大规模数据集和高维数据。
3.支持向量机(SVM)算法:SVM是一种针对分类和回归问题的监督学习算法,它通过构建一个最优的超平面来实现分类。
SVM在处理非线性问题时使用核函数进行转换,具有较强的泛化能力。
4.K近邻算法:K近邻是一种基于实例的分类算法,它通过找到与目标实例最接近的K个邻居来确定目标实例的类别。
K近邻算法简单易懂,但对于大规模数据集的计算成本较高。
5.聚类算法:聚类是一种无监督学习算法,它将相似的实例聚集在一起形成簇。
常用的聚类算法有K均值聚类、层次聚类和DBSCAN等。
6.主成分分析(PCA)算法:PCA是一种常用的降维算法,它通过线性变换将原始数据转换为具有更少维度的新数据。
PCA能够保留原始数据的大部分信息,并且可以降低计算的复杂性。
7. 关联规则算法:关联规则用于发现项集之间的关联关系,常用于市场篮子分析和推荐系统。
Apriori算法是一个经典的关联规则算法。
8.神经网络算法:神经网络是一种模仿人脑神经元通信方式的机器学习算法,它能够学习和适应数据。
神经网络适用于各种问题的处理,但对于参数选择和计算量较大。
9.随机森林算法:随机森林是一种基于决策树的集成学习算法,它通过建立多个决策树来提高预测的准确性。
随机森林具有较强的鲁棒性和泛化能力。
10.改进的遗传算法:遗传算法是一种模拟生物进化过程的优化算法,在数据挖掘中常用于最优解。
随机森林
随机森林定义:随机森林是一个分类器,它有一系列的单株树决策器{h (X,,θk );k=1,......}来组成,其中{θk }是独立同分布的随机变量。
再输入X 时,每一棵树只投一票给它认为最合适的类。
在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定,构成随机森林的基础分类器称为决策树。
Leo Breiman 和Adele Cutler 发展出推论出随机森林的算法。
这个术语是1995年由贝尔实验室的Tin Kam Ho 所提出的随机决策森林(random decision forests )而来的。
这个方法则是结合 Breimans 的 "Bootstrap aggregating" 想法和 Ho 的"random subspace method"" 以建造决策树的集合。
随机森林是一个组合分类器,构成随机森林的基础分类器是决策树。
决策树算法决策树可以视为一个树状预测模型,它是由结点和有向边组成的层次结构。
树中包含3个节点:根节点。
内部节点,终节点(叶子节点)。
决策树只有一个根节点,是全体训练集的结合。
树中的每个内部节点都是一个分裂问题,它将到达该节点的样本按某个特定的属性进行分割,可以将数据集合分割成2块或若干块。
每个终结点(叶子节点)是带有分裂标签的数据集合,从决策树的根节点到叶子节点的每一条路径都形成一个类;决策树的算法很多,例如ID3算法,CART 算法等。
这些算法均采用自上而下的贪婪的算法,每个内部节点选择分类效果最好的属性进行分裂节点,可以分为两个或若干个子节点,继续此过程到这可决策树能够将全部训练数据准确的分类,或所有属性都被用到为止。
具体步骤如下:1)假设T 为训练样本集。
2)选择一个最能区分T 中样本的一个属性。
3)创建一个数的节点,它的值是所选择的属性,创建此节点的子节点,每个子链代表所选属性的唯一值,适用子链的值进一步将样本细分为子类。
cart算法
cart算法
cart算法,全称Classification and Regression Trees,即分类与回归树算法,是一种基于决策树的机器学习算法。
cart算法可以用于分类问题和回归问题。
在分类问题中,cart算法根据特征值将数据集划分为多个子集,并通过选择一个最佳划分特征和划分阈值来构建决策树。
在回归问题中,cart算法根据特征值将数据集划分为多个子集,并通过选择一个最佳划分特征和划分阈值来构建回归树。
cart算法的核心思想是通过递归地选择最佳划分特征和划分阈值来构建决策树。
在每个节点上,通过计算基于当前特征和划分阈值的Gini指数(用于分类问题)或平方误差(用于回归问题)来评估划分的好坏,选择最小的Gini指数或平方误差对应的特征和划分阈值进行划分。
划分后的子集继续递归地进行划分,直到满足停止条件(如节点中的样本数小于预设阈值或达到最大深度为止),然后生成叶子节点并赋予相应的类别标签或回归值。
cart算法具有较好的拟合能力和可解释性,可以处理混合类型的特征和缺失值。
然而,cart算法容易过拟合,需要采取剪枝操作或加入正则化项来降低模型复杂度。
可以通过使用不同的评估标准和剪枝策略来改进cart算法,如基于信息增益、基尼系数、均方差等评估标准和预剪枝、后剪枝等剪枝
策略。
此外,也可以使用集成学习方法(如随机森林、梯度提升树)来进一步提高模型的性能。
大数据经典算法CART_讲解资料
大数据经典算法CART_讲解资料CART算法,即分类与回归树(Classification and Regression Tree)算法,是一种经典的应用于大数据分析的算法。
它将数据集按照特征属性进行划分,然后根据各个特征属性的分割点将数据集划分为多个子集,进而得到一个树形的划分结构。
通过分析划分特征和划分点的选择,CART算法能够高效地解决分类和回归问题。
对于分类问题,CART算法通过衡量不纯度(impurity)来选择划分特征和划分点。
常用的不纯度指标包括基尼指数(Gini index)和信息增益(information gain)。
基尼指数衡量了随机从一个样本集合中抽取两个样本,其中属于不同类别的概率;信息增益则使用熵(entropy)作为不纯度的度量标准。
CART算法会选择使得划分后的子集的纯度提升最大的特征属性和相应的划分点进行划分。
对于回归问题,CART算法通过最小化划分后的子集的方差来选择划分特征和划分点。
在每个内部节点上,CART算法选择使得划分后的子集的方差最小化的特征属性和相应的划分点进行划分。
CART算法的优点在于它能够处理高维数据和有缺失值的数据,具有较强的鲁棒性。
此外,CART算法构建的决策树具有可解释性,能够提供对数据的直观理解。
同时,CART算法还能处理不平衡类别数据和多类别问题。
然而,CART算法也存在一些不足之处。
首先,CART算法是一种局部最优算法,可能会陷入局部最优解而无法达到全局最优解。
其次,CART 算法不适用于处理连续型特征属性,需要对连续特征进行离散化处理。
此外,由于CART算法是自顶向下的贪心算法,因此容易过拟合,需要采用一些剪枝策略进行模型的修剪。
在实际应用中,为了提高CART算法的性能,可以使用集成学习方法如随机森林、梯度提升树等。
这些方法通过构建多个CART模型,并通过集成的方式来提高预测准确率和鲁棒性。
总结起来,CART算法是一种经典的大数据分析算法,适用于解决分类和回归问题。
CART算法
这(2)里计输算样入本标集题D的文基字尼系数,如果基尼系数小于阈值,则返回决策树子树,当前节点停止
递归。 (3)计算当前节点现ቤተ መጻሕፍቲ ባይዱ的各个特征的各个特征值对数据集D的基尼系数,对于离散值和连续
值的处理方法和基尼系数的计算见第二节。缺失值的处理方法和C4.5算法里描述的相同。 (4)在计算出来的各个特征的各个特征值对数据集D的基尼系数中,选择基尼系数最小的特
剪枝损失函数表达式:
α为正则化参数(和线性回归的正则化一样),C(Tt)为训练数据的预测误差,|Tt|是子树T叶 子节点数量。
当α = 0时,即没有正则化,原始生成的CART树即为最优子树。当α= ∞时,正则化强 度最大,此时由原始的生成CART树的根节点组成的单节点树为最优子树。当然,这是两种 极端情况,一般来说,α越大,剪枝剪的越厉害,生成的最优子树相比原生决策树就越偏小。 对于固定的α,一定存在使得损失函数Cα(Tt)最小的唯一子树。
CART既能是分类树,又能是 回归树。
如果我们想预测一个人是否 已婚,那么构建的CART将是分类 树,其叶子节点的输出结果为一个 实际的类别,在这个例子里是婚姻 的情况(已婚或者未婚),选择叶 子节点中数量占比最大的类别作为 输出的类别。
如果想预测一个人的年龄, 那么构建的将是回归树,预测用户 的实际年龄,是一个具体的输出值。 怎样得到这个输出值?一般情况下 选择使用中值、平均值或者众数进 行表示。
04 CART树算法的剪枝
剪枝的思路: 对于位于节点t的任意一颗子树Tt,如果没有剪枝,损失函数是:
如果将其剪掉,仅保留根节点,损失函数是:Cα(T)= C(T)+ α 当α= 0或α很小,Cα(Tt) < Cα(T),当α增大到一定程度时 Cα(Tt) = Cα(T) 当α继续增大时不等式反向,即满足下式:
