数据挖掘—分类树方法
数据挖掘十大算法

数据挖掘十大算法数据挖掘是通过挖掘大规模数据集以发现隐藏的模式和关联性的过程。
在数据挖掘领域,存在许多算法用于解决各种问题。
以下是数据挖掘领域中被广泛使用的十大算法:1. 决策树(Decision Trees):决策树是一种用于分类和回归的非参数算法。
它用树结构来表示决策规则,通过划分数据集并根据不同的属性值进行分类。
2. 支持向量机(Support Vector Machines,SVM):SVM是一种二分类算法,通过在数据空间中找到一个最优的超平面来分类数据。
SVM在处理非线性问题时,可以使用核函数将数据映射到高维空间。
3. 朴素贝叶斯(Naive Bayes):基于贝叶斯定理,朴素贝叶斯算法使用特征之间的独立性假设,通过计算给定特征下的类别概率,进行分类。
4. K均值聚类(K-means Clustering):K均值聚类是一种无监督学习算法,用于将数据集分割成多个类别。
该算法通过计算样本之间的距离,并将相似的样本聚类在一起。
5. 线性回归(Linear Regression):线性回归是一种用于建立连续数值预测模型的算法。
它通过拟合线性函数来寻找自变量和因变量之间的关系。
6. 关联规则(Association Rules):关联规则用于发现数据集中项集之间的关联性。
例如,购买了商品A的人也常常购买商品B。
7. 神经网络(Neural Networks):神经网络是一种模拟人脑神经元网络的算法。
它通过训练多个神经元之间的连接权重,来学习输入和输出之间的关系。
9. 改进的Apriori算法:Apriori算法用于发现大规模数据集中的频繁项集。
改进的Apriori算法通过剪枝和利用频繁项集的性质来提高算法的效率。
10. 集成学习(Ensemble Learning):集成学习是一种通过将多个学习器进行组合,从而提高分类准确率的算法。
常用的集成学习方法包括随机森林和梯度提升树。
这些算法在不同的场景和问题中有着不同的应用。
分类方法

2
分类方法的类型
从使用的主要技术上看,可以把分类方法归结为 四种类型:
基于距离的分类方法 决策树分类方法 贝叶斯分类方法 规则归纳方法。
3
分类问题的描述
2.使用模型进行分类
首先评估模型(分类法)的预测准确率。 如果认为模型的准确率可以接受,就可以用它对类标号 未知的数据元组或对象进行分类。
5
四 分类方法
分类的基本概念与步骤 基于距离的分类算法 决策树分类方法 贝叶斯分类 规则归纳
6
基于距离的分类算法的思路
定义4 定义4-2 给定一个数据库 D={t1,t2,…,tn}和一 , 组类C={C1,…,Cm}。假定每个元组包括一些数 , 值型的属性值: 值型的属性值:ti={ti1,ti2,…,tik},每个类也包 , 含数值性属性值: 含数值性属性值:Cj={Cj1,Cj2,…,Cjk},则分 , 类问题是要分配每个t 类问题是要分配每个ti到满足如下条件的类Cj:
P( X | C i ) = ∏ P( xk | C i )
k =1 n
14
朴素贝叶斯分类(续)
可以由训练样本估值。 其中概率P(x1|Ci),P(x2|Ci),……,P(xn|Ci)可以由训练样本估值。 ,
是离散属性, 如果Ak是离散属性,则P(xk|Ci)=sik|si,其中sik是在属性Ak上具有值xk的 的训练样本数, 类Ci的训练样本数,而si是Ci中的训练样本数。 中的训练样本数。 如果Ak是连续值属性,则通常假定该属性服从高斯分布。因而, 是连续值属性,则通常假定该属性服从高斯分布。因而,
数据挖掘分类方法中的决策树算法探究

数据挖掘分类方法中的决策树算法探究作者:陈新来源:《电脑知识与技术》2013年第35期摘要:数据挖掘分类法是指从大量的数据库中自动地、智能地抽取一些行之有效的、可以相信的和理解的以及有用模式的过程。
作为数据挖掘的重要内容之一的分类法,日前,分类已经被广泛运用于天气预测、顾客区分、医疗诊断、欺诈甄别、信用证实当中。
在数据挖掘的众多分类方法中,决策树算法在大量数据环境中应用的最为广泛。
该文通过对决策树算法的基本思想进行分析,对决策树算法中遇到的一些问题作出分析并提出建议,在阐述决策树算法现状的基础上,对决策树算法未来的发展趋势作出预测,希望能对决策树算法的使用者和研究者提供一定借鉴。
关键词:数据挖掘分类;决策树算法;分类中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)35-7904-02我国在经济上的快速发展和社会上的进步,也给社会中的各种活动领域带来了大量数据,人们按照一定的模型把这些数据保存到不同的数据库中。
这些数据库可以为科研和商业等活动的决策提供大量所需要的知识,使用数据挖掘分类法能够正确有效的取得这些信息。
数据挖掘技术中的一个重要方法就是分类算法,分类方法主要是构建一个分类模型或者分类函数,这些函数或者分类模型必须要具有据数据集的特点,这些模型可以从某个已知类别中反映某个未知类别,目前的各种分类方法已经被逐渐运用到各行各业中,例如医院可以利用分类法进行医疗诊断、银行利用分类法进行信用评估、还可以运用到市场营销和高等教育等实际应用中,作为挖掘分类方法中的决策树算法在分类法中有着重要的作用,笔者在此对数据挖掘分类法中的决策树算法进行以下分析研究。
1 决策树算法概述数据挖掘就是从模糊地、不完全地、大量地、有噪声的、随机的以及原始数据中提取隐藏在那里面的潜在的、我们预先不知道的有用信息知识的挖掘过程。
作为数据挖掘分类法中一个分支的决策树算法起源于概念学习系统。
决策树算法就是使用树的结构对数据进行分类,每个条件下的记录集就好比一棵树的叶节点,人们根据字段数据取值的不同,可以对决策树进行分支,在决策树各个分支的子集中再重复建立分支和决策树各下层节点,这样一棵决策树就形成了。
数据挖掘的方法有哪些

数据挖掘的方法有哪些数据挖掘是一种通过分析大量数据来发现模式、趋势和规律的过程。
它可以帮助人们从海量的数据中提取有用的信息,对商业决策、市场营销、科学研究等领域都有着重要的作用。
在数据挖掘的过程中,有许多不同的方法可以被使用,下面将介绍其中一些常见的方法。
1. 分类。
分类是数据挖掘中最常用的方法之一。
它通过对已知类别的数据进行学习,然后将这种学习应用到新的数据中,从而对新数据进行分类。
在分类过程中,常用的算法包括决策树、朴素贝叶斯、支持向量机等。
这些算法可以帮助我们对数据进行有效的分类,例如将邮件分类为垃圾邮件和非垃圾邮件,将疾病患者分类为患病和健康等。
2. 聚类。
聚类是另一种常见的数据挖掘方法,它将数据集中的对象分成若干个组,使得同一组内的对象相似度较高,而不同组之间的对象相似度较低。
聚类可以帮助我们发现数据中的隐藏模式和结构,对于市场细分、社交网络分析等领域有着广泛的应用。
常用的聚类算法包括K均值、层次聚类、DBSCAN等。
3. 关联规则挖掘。
关联规则挖掘是一种发现数据中项之间关联关系的方法。
它可以帮助我们发现数据中的潜在规律和趋势,对于超市商品搭配、交易分析等有着重要的作用。
常用的关联规则挖掘算法包括Apriori 算法、FP-growth算法等。
4. 异常检测。
异常检测是一种发现数据中异常值的方法。
它可以帮助我们发现数据中的异常情况,对于欺诈检测、设备故障预警等有着重要的应用。
常用的异常检测算法包括基于统计学的方法、基于距离的方法、基于密度的方法等。
5. 文本挖掘。
文本挖掘是一种对文本数据进行分析和挖掘的方法。
它可以帮助我们从海量的文本数据中提取出有用的信息,对于舆情分析、情感分析、文本分类等有着重要的作用。
常用的文本挖掘算法包括词袋模型、TF-IDF算法、主题模型等。
除了上述提到的方法,数据挖掘还涉及到回归分析、时间序列分析、神经网络等多种方法。
随着数据挖掘技术的不断发展,新的方法和算法也在不断涌现。
数据挖掘 算法

数据挖掘算法数据挖掘算法是一种从大规模数据集合中提取有用知识和信息的技术。
数据挖掘算法是用数学、统计学和机器学习技术来发现、提取和呈现数据的过程。
在实际应用中,数据挖掘算法主要用于预测、分类、聚类和异常检测等。
下面是一些数据挖掘算法的介绍。
1. 随机森林随机森林是一种基于多个决策树模型的集成学习算法。
它利用随机样本和随机特征的组合训练多个决策树,并通过投票的方式选择最终的结果。
随机森林算法可以用于分类和回归问题。
2. 支持向量机支持向量机是一种二分类模型,它的工作原理是将数据映射到高维空间,并在该空间中找到一个最优的超平面来区分不同的样本。
支持向量机可以通过核函数的组合来进一步扩展到非线性问题。
支持向量机的最大优点是它能够处理高维空间的数据,并且可以用于模式识别、文本分类和图像处理等领域。
3. K-means聚类K-means聚类是一种基于距离的聚类算法,它将数据分成K个簇,每个簇包含最接近的若干个点。
K-means聚类算法是一种无监督学习算法,它可以用来发现数据集中的不同类别或数据分布。
4. Apriori算法Apriori算法是一种经典的关联规则挖掘算法,用于在大规模数据集中发现数据间的关系。
该算法通过分析不同数据项之间的交叉出现频率,来找到数据项之间的强关联规则。
Apriori算法可以用于商业应用,例如发现商品之间的关联规则,提高市场营销效率。
5. AdaBoost算法AdaBoost算法是一种集成学习算法,它通过组合多个弱分类器来构建强分类器。
该算法会对之前分类错误的样本赋予更高的权重,以便训练下一个弱分类器。
AdaBoost算法可以用于解决二分类问题和多类分类问题。
6. 神经网络神经网络是一种人工智能技术,它类似于人类大脑的神经元网络。
神经网络通过多个层次的神经元来建立非线性关系,并寻找输入和输出之间的映射关系。
神经网络可以用于解决分类、回归、文本处理、图像识别等问题。
以上是几种常见的数据挖掘算法介绍。
简述数据挖掘分类方法

注。
粗糙 集 理 论 主要 是 针对 数 据 的模 糊性 问题 的 而提 参 考文 献: 出的 粗糙 集对 不 精确 概 念 的描述 方法 是通 过 上 下近 [ Ha J w iMihl eK m e 数 据 挖 掘— — 概 念 与技 - M】 1 d i e, cen a b r ] a i g[ 北 京 : 等教 育 出版 社 .0 1 2 9 3 4 高 2 0 :7 — 3 似概念 选 两个精 确 概念 来 表示 。 一个 概 念( 集合1 或 的下 2 a明 张 ] D3的 研 究 U. 机 发 展 . 0 】 微 2 2 0 近似 概念 f 或集 合1 的是 . 下近 似 中的元 素肯 定 属 于 [ g , 载 鸿 决 策 树 学 习 算 法 I 指 其 5 :— 该概 念 , 个 概念 ( 一 或复 合) 的上 近 似概 念f 或集 合 ) 的 ()6 9 指 【 3 】王 光宏 ,蒋 平 数 据 挖 掘 综 述 D 1同济 大 学 学报 ,0 43 ( : 20 ,22 ) 是 . 上 近似 中 的元素 可能 属 于该概 念 。 其 粗糙集 理 论将 24 — 2 6 52 分类 能力 和知 识联 系在一 起 .使 用等 价关 系来 形 式化 【】 伟 杰 , 辉 , 建 秋 , 关 联 规 则 挖 掘 综 述 Ⅱ计 算 机 工程 , 4蔡 张晓 朱 等 ] 地表 示 分类 .知识 表 示 为等 价关 系集 R与 空 间 u的之 2 0 ()3 — 3 0 15 :1 3 间 的映射 关 系 。 在分 类 问题 中 , 粗糙 集可 以用 来进 行属 【] 效 尧 , 伟 决 策树 在 数 据 挖 掘 中 的 应 用研 究 Ⅱ安 庆 师 范 学 5江 江 ] 自然科 学版 )2 0 ( :3 8 ,0 31 8 — 5 ) 性消 减 .还可 以求 取 数据 中最小 不变 集和 最小 规 则羹 院 学报 ( [Y清毅 , 6- ] 张波 , 庆 生 目前 数 据 挖 掘 算 法 的 评 价 Ⅱ小 型 微 型 计 蔡 ] f 即属 性约 简算 法1 算机 系统 ,0 01 : 5 7 2 0 ( 7— 7 ) 另 外 .粗 糙 集 方法 得 到 的分类 规 则 一般 是 符 号形 [ 肖攸 安 , 腊 元 数 据 挖 掘 与 知 识 发 现 的 理 论 方 法 及 技 术 分 析 7 ] 李 式 的显 式规 则 . 是 数据 挖 掘所 追 求 的. 正 因此 近 年 来得 U交通 与 计 算 机 ,0 21:7 6 】 20 ()5 — 1 到越 来越 广泛 的应 用 。粗糙集 可 以利用 特 征归 约f 以 可 [ 罗 可 , 睦 纲 , 东妹 数 据 挖 掘 中 分 类 算 法 综 述 [C 机 工 8 】 林 郗 J t算 l 识别 和 删 除无 助 于 给定 训练 数 据分 类 的属 性1和 相关 程 ,0 5 1 3 5 2 0 ( )- 分析 ( 根据 分类 任 务评 估每个 属 性 的贡献 和意 义1提 高 [ ht: bo .d .e a d iaai edtl 4 4 7 。 9 t / lgc nn t l d /rc /eas 1 12 ] p/ s / a n tl i/ 1 获取 分类 模式 的速度 .但 找 出可 以描 述 给定数 据 集 中 【 ]t : w 1 ht / ww. bo s o za q nacie2 1/ 12 / 0 p/ c lg. m/ho i /rh /0 0 /5 n c a v 1 14 9 471 t l 7hm ’ 所有 概念 的最 小 属性 子集 问题 是一个 N P困难 的 .
CART分类与回归树方法介绍

1.软件下载与安装
1.软件下载与安装
该软件可从官方网站下载并安装。下载安装过程十分简单,只需根据提示完 成即可。
2.界面介绍
2.界面介绍
该软件采用图形用户界面(GUI),界面简洁明了,操作方便易用。主界面包 括菜单栏、工具栏、数据区和结果区等部分。
3.数据导入与清洗
3.数据导入与清洗
(1)点击菜单栏中的“文件”->“打开”,选择实验数据文件导入。支持多 种文件格式,如CSV、Excel等。
谢谢观看
CART分类
3、递归分割:将生成的两个子节点分别递归执行步骤1和2,直到满足停止条 件,生成最终的决策树。
CART分类
4、决策规则生成:根据生成的决策树,生成相应的决策规则,用于对新数据 进行分类。
回归树方法
回归树方法
回归树方法是CART方法的一种变种,主要用于预测连续型目标变量。回归树 通过构建决策树,实现对目标变量的预测。回归树方法的具体步骤如下:
5.结果输出与保存
5.结果输出与保存
(1)结果展示:在结果区展示拟合的回归模型参数、相关系数等结果。 (2)保存结果:点击“文件”->“保存”,将计算结果保存到本地电脑或云 端存储设备。
三、案例分析
三、案例分析
为了更好地说明毒力回归计算方法的应用和软件使用的效果,我们结合一个 实际案例进行阐述。某研究团队在研究某种生物毒素对水生生物的毒害作用时, 通过实验观测获得了毒素浓度与水生生物死亡率的数据。利用毒力回归计算软件, 我们对该数据进行毒力回归计算,并建立相应的回归模型。
案例分析
1、数据预处理:首先对用户购买行为的数据进行清洗和处理,包括去除异常 值、填补缺失值等。
案例分析
2、特征提取:然后对数据进行分析,选择出与购买行为相关的特征,如年龄、 性别、购买频率、购买金额等。
数据挖掘中常用的六种算法

数据挖掘中常用的六种算法一、决策树算法。
先来说说决策树算法哈。
这就好比是我们做决策时画的一个流程图一样。
比如说你要决定今天出门穿什么衣服,你可能会先看看天气,如果是晴天,你可能就会选轻薄一点的衣服;要是下雨天,那就得穿雨衣或者带伞,再选防水一点的鞋子。
这就是一个简单的决策过程,而决策树算法,就是把这种决策过程用一种树状的结构表示出来。
决策树算法在很多地方都有用。
比如说银行要决定给不给一个人发放贷款,它会根据这个人的收入、信用记录、工作稳定性等因素来做决策。
就像先看收入,如果收入高,再看信用记录好不好;如果收入低,可能就直接拒绝贷款申请。
这样一步一步做出决策,最后得到一个结果。
它的优点,就是很容易理解和解释。
就像刚才说的穿衣服和银行贷款的例子,我们很清楚每一步是怎么决策的。
而且它对数据的要求也不是特别严格,不用做太多的预处理。
不过,它也有缺点,就是容易过拟合。
比如说,你根据某一段时间的天气来决定穿衣服,可能这段时间天气比较特殊,按照这个决策树来选衣服,到了天气变化的时候就不合适。
二、朴素贝叶斯算法。
朴素贝叶斯算法,就像是一个很聪明的猜测家。
比如说你看到一个人穿着运动服,背着运动背包,手里还拿着羽毛球拍,你可能就会猜这个人是要去打羽毛球。
这就是根据一些特征来推测一个结果。
在实际应用中,垃圾邮件过滤就经常会用到朴素贝叶斯算法。
它会先学习很多正常邮件和垃圾邮件的特征,比如邮件里有没有一些特定的词汇,发件人的地址是不是经常发垃圾邮件等等。
然后当收到一封新邮件的时候,就根据这些特征来判断这封邮件是不是垃圾邮件。
它的优点是计算速度快,处理大规模数据的时候很有效率。
就像处理大量的邮件,能很快地判断出来。
而且对缺失数据也比较不敏感,就算有些信息不全,也能做出比较合理的判断。
但是它也有个小毛病,就是它假设各个特征之间是相互独立的,可实际情况中可能并不是这样。
比如说一个人穿运动服和拿羽毛球拍可能是有关系的,并不是完全独立的,但朴素贝叶斯算法就把它们当成独立的来处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三讲 分类与回归树
如果一个人必须去选择在很大范围的情形下性能都好的、同时不需要应用开发者付出很多的努力并且易于被终端用户理解的分类技术的话,那么Brieman, Friedman, Olshen和Stone(1984)提出的分类树方法是一个强有力的竞争者。我们将首先讨论这个分类的过程,然后在后续的节中我们将展示这个过程是如何被用来预测连续的因变量。Brieman等人用来实现这些过程的程序被称为分类和回归树(CART)方法。
分类树 在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。
递归划分 让我们用变量表示因变量(分类变量),用表示自变量。通过递归的方式把关于变量y
pxxx,...,,
21
x的维空间划分为不重叠的矩形。这个划分是以递归方式完成的。首先,一
个自变量被选择,比如和的一个值,比方说选择把维空间为两部分:一部分是
维的超矩形,其中包含的点都满足
p
ixixisisp
−piisx≤,另一个−p维超矩形包含所有的点满足
。接着,这两部分中的一个部分通过选择一个变量和该变量的划分值以相似的方式被划分。这导致了三个矩形区域(从这里往后我们把超矩形都说成矩形)。随着这个过程的持续,我们得到的矩形越来越小。这个想法是把整个
iisx>
x空间划分为矩形,其中的每个小矩形
都尽可能是同构的或“纯”的。“纯”的意思是(矩形)所包含的点都属于同一类。我们认为包含的点都只属于一个类(当然,这不总是可能的,因为经常存在一些属于不同类的点,但这些点的自变量有完全相同的值)。让我们例示递归划分的过程。
例1(Johnson和Wichern) 乘式割草机制造商意欲发现一个把城市中的家庭分成那些愿意购买乘式割草机和不愿意购买的两类的方法。在这个城市的家庭中随机抽取12个拥有者和12个非拥有者的家庭作
为样本。这些数据如表1所示。这里的自变量是收入()和草地面积()。类别变量有两个类别:拥有者和非拥有者。 1x2xy
表1 观测点序号 收入(千美元) 草地面积(千平方尺)拥有者=1,非拥有者=21 60 18.4 1 2 85.5 16.8 1 3 64.8 21.6 1 4 61.5 20.8 1 5 87 23.6 1
16 110.1 19.2 1 7 108 17.6 1 8 82.8 22.4 1 9 69 20 1 10 93 20.8 1 11 51 22 1 12 81 20 1 13 75 19.6 2 14 52.8 20.8 2 15 64.8 17.2 2 16 43.2 20.4 2 17 84 17.6 2 18 49.2 17.6 2 19 59.4 16 2 20 66 18.4 2 21 47.4 16.4 2 22 33 18.8 2 23 51 14 2 24 63 14.8 2
如果我们用CRAT方法处理这些数据,它将会选择192=x做第一次分割。由组),(21xx 2成的空间现在按分成草地面积了192≤x和两个矩形。如图2所示。 192>x 注意到分裂为两个矩形后的每个矩形比原来分裂之前更同质。上面的矩形包括的点绝大多数是拥有者(9个拥有者,3个非拥有者),而下面的矩形包含绝大多数的非拥有者(9个非拥有者,3个拥有者)。 CART是如何做这个特殊的划分的?它检查每个变量和该变量所有可能用来划分的值来发现最好的划分。对于一个变量来说,可能划分的值是什么?它们是在一对连续的变量值
的中点。对来说可能的划分点是{38.1,45.3,50.1,…,109.5},对来说{14.4,15.4,16.2,…,23}。这些划分点被按照它们能减少杂质(合成物中的异质,不同成分)的多少来分级。杂质的减少被定义为划分前的矩形的杂质减去划分后两个矩形的杂质之和。有很多方法来让我们度量杂质。我们描述最流行的杂质度量方法:Gini指标。如果我们用
,来表示类,其中,C是对于变量y的类的总数目,矩形A的Gini不纯度可定义为:
1x2xkCk,...,2,1=
∑=−=CkkpAI
121)(
其中,是观测点中属于类的比例。注意到当I(A)=0时,如果所有的观测点属于一个类,且有当所有的类在矩形A中以相同的概率出现时,I(A)被最大化。它的最大值为(C-1)/C。
kpk
下一个划分点是收入变量。图3再一次表示了CART的过程,通过灵活地、75.841=x 3对划分矩形的不同选择来增加划分后的矩形的纯度。左下角的矩形包含满足和的点,其中除了一个是非拥有者之外包含了其他所有的拥有者。右下角的矩形包含满足和的点,包含了被排除的两个拥有者。
75.841≤x
192≤x
75.841>x192≤x
下一次分裂可表示如下: 4 我们能看到递归划分是如何精炼候选的矩形,使之变得更纯的算法过程。最后阶段的递归分析如图5所示。
5注意到现在每个矩形是纯的——所包含的点都是来自这两个类中的某一个。 这个方法被称为分类树算法的原因是每次划分都可以描述为把一个节点分成两个后续节点。第一次分裂表示为树的根节点的分支,如图6所示。
树的前三次划分如图7所示。 整个树如下图8所示。我们用圆来表示带有后续节点的节点。选作划分的变量的名字在圆的下面,在圆中的数是作为划分的点的变量的值。在决策点左侧的数表示在这个决策点的变量的值都小于或等于这个划分的值,在右侧的点的该变量的值大于这个划分的值。这些被称为决策点是因为如果我们用一个树来对新的、仅知道自变量的值的观测样本进行分类时,就是以这样的方式进行的,在每个决策点选择一个正确的分支直到没有后续节点的节点。这种终端的节点被称为树叶。每个叶节点对应一个最终的矩形,x空间被划分,并被描述为一个矩形的节点。当观测点沿着所有到叶节点的路径向下移动时,可将观测点的类别简单地预测为与属于该叶节电的所有训练数据大部分都相同的类别,即采取投票的方式。具有最高选票的类是我们预测新观测点所属的类。在叶节点下面的数表示在训练集中属于这个类的样本占总样本的比例。注意到用CART(称为二叉树)方法得出的树具有如下性质是非常有用的,叶节点的数目刚好比决策点的数目多1。
6 剪枝 在CART过程中第二个关键的思想是用独立的验证数据集对根据训练集生长的树进行剪枝,这的确是一个创新。以前,这个方法基于递归划分的思想构造出来,但他们不得不用规则来阻止树的过分增长和对训练数据的过适应。例如,CHAID(Chi-平方自动交互检测)是一种在CART前几年出现的递归划分的方法,并被广泛用于数据库营销中。它用著名的统计测试(chi-平方独立性检验)通过显著性去评估是否某一节点能提高分类纯度。如果测试不能表明显著提高,那就不进行划分,CART用验证数据对由训练数据过拟和生成的树进行修剪。 在剪枝背后的思想是承认一个很大的树会过拟和训练数据。在我们的例子中,最后几个划分导致矩形中有很少的点(事实上有4个矩形只包含一个点)。我们能直观地看到这些后面的划分可能只是把训练集中的噪声捕捉到,而不是反映在将来数据中可能发生的模式。剪枝包含后续的选择决策点和当叶节点被砍掉时的重新设计。剪枝过程需要在验证数据集中的误分和对被剪枝的树中决策点数目之间进行权衡与折衷,以得到既能反映数据模式又排除了训练数据中噪声的影响。它用一种被称为“成本复杂性”的标准去生成后续的树,该树的成本复杂性比在该节点只有一个根节点的要小(一个树只有一个节点的分类规则是什么?)。我们于是挑选一个最好的树,它对验证数据具有最小的误分。 CART用的成本复杂性标准是分类树的简单误分(基于验证数据的)加上一个对树的大小的惩罚因素。惩罚因素是基于参数的,让我们用α来表示,每个节点的惩罚。成本复杂性标准对于一个树来说就是Err(T)+α|L(T)|,其中Err(T)是验证数据被树误分部分,L(T)是树T
7的叶节点数,α是每个节点惩罚成本:一个从0向上变动的数字。当α=0对于树有太多的节点是没有惩罚,用成本复杂性标准的是完全生长的没有剪枝的树。当我们增加α到一个很大的值时,对误分的惩罚成本部分淹没在成本复杂性方程中,而得到的最小树是一个简单的带有最少叶子的树,也就是只有一个节点。当我们从0增加α到某一值时,我们首先会遇到一个情形,对一些树T1通过在决策点剪掉子树得到的,和额外增加误分(由于有更少的叶子)而导致的成本与导致的惩罚成本的节约相平衡。我们剪掉在这个节点的子树来修剪整个树,并重新设计这个节点为叶节点。把这时的树称为T1。我们现在对T1重复先前用于整个树的过程,通过进一步增加α的值。持续这种方式,我们产生一些连续的带有节点数目减少的树直到只有一个节点的树。 从这个序列的树,从其中选择一个在验证数据集上具有最小误分的树是一个很自然的。我们把这个树称为最小错误树。 让我们用Boston Housing数据来例示。下面是当用训练数据在树的生长阶段的算法时,XLMiner产生的输出。 表 训练记录
8