机器学习十大算法 C4.5中文翻译
数据挖掘领域十大经典算法以及适用领域
![数据挖掘领域十大经典算法以及适用领域](https://img.taocdn.com/s3/m/ad3939f2c9d376eeaeaad1f34693daef5ef7134d.png)
数据挖掘领域⼗⼤经典算法以及适⽤领域1.AdaboostAdaboost算法是⼀种提升⽅法,将多个弱分类器,组合成强分类器。
AdaBoost,是英⽂”Adaptive Boosting“(⾃适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。
它的⾃适应在于:前⼀个弱分类器分错的样本的权值(样本对应的权值)会得到加强,权值更新后的样本再次被⽤来训练下⼀个新的弱分类器。
在每轮训练中,⽤总体(样本总体)训练新的弱分类器,产⽣新的样本权值、该弱分类器的话语权,⼀直迭代直到达到预定的错误率或达到指定的最⼤迭代次数。
总体——样本——个体三者间的关系需要搞清除总体N。
样本:{ni}i从1到M。
个体:如n1=(1,2),样本n1中有两个个体。
算法原理(1)初始化训练数据(每个样本)的权值分布:如果有N个样本,则每⼀个训练的样本点最开始时都被赋予相同的权重:1/N。
(2)训练弱分类器。
具体训练过程中,如果某个样本已经被准确地分类,那么在构造下⼀个训练集中,它的权重就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提⾼。
同时,得到弱分类器对应的话语权。
然后,更新权值后的样本集被⽤于训练下⼀个分类器,整个训练过程如此迭代地进⾏下去。
(3)将各个训练得到的弱分类器组合成强分类器。
各个弱分类器的训练过程结束后,分类误差率⼩的弱分类器的话语权较⼤,其在最终的分类函数中起着较⼤的决定作⽤,⽽分类误差率⼤的弱分类器的话语权较⼩,其在最终的分类函数中起着较⼩的决定作⽤。
换⾔之,误差率低的弱分类器在最终分类器中占的⽐例较⼤,反之较⼩。
优点(1)精度很⾼的分类器(2)提供的是框架,可以使⽤各种⽅法构建弱分类器(3)简单,不需要做特征筛选(4)不⽤担⼼过度拟合实际应⽤(1)⽤于⼆分类或多分类(2)特征选择(3)分类⼈物的baseline2.C4.5C4.5是决策树算法的⼀种。
决策树算法作为⼀种分类算法,⽬标就是将具有p维特征的n个样本分到c个类别中去。
机器学习--决策树算法(ID3C4.5)
![机器学习--决策树算法(ID3C4.5)](https://img.taocdn.com/s3/m/5a9a262fdc36a32d7375a417866fb84ae45cc365.png)
机器学习--决策树算法(ID3C4.5)在⽣活中,“树”这⼀模型有很⼴泛的应⽤,事实证明,它在机器学习分类和回归领域也有着深刻⽽⼴泛的影响。
在决策分析中,决策树可以明确直观的展现出决策结果和决策过程。
如名所⽰,它使⽤树状决策模型。
它不仅仅是在数据挖掘中⽤户获取特定⽬标解的策略,同时也被⼴泛的应⽤于机器学习。
如何使⽤树来表⽰算法为此,我们考虑使⽤泰坦尼克号数据集的⽰例,以预测乘客是否会⽣存。
下⾯的模型使⽤数据集中的3个特征/属性/列,即性别,年龄和SIBSP(配偶或⼉童的数量)。
这是⼀棵体现了⼈性光辉的决策树。
树的形状是⼀棵上下颠倒的决策树,叶⼦节点在下,根节点在上。
在图像中,⿊⾊中的粗体⽂本表⽰条件/内部节点,基于树分成分⽀/边缘。
不再分裂的分⽀结束是决策/叶⼦,在这种情况下,乘客是否被死亡或幸存,分别表⽰为红⾊和绿⾊⽂本。
虽然,⼀个真实的数据集将有很多功能,这只是⼀个更⼤的树中的部分分⽀,但你不能忽略这种算法的简单性。
该特征重要性是明确的,可以轻易查看决策关系。
该⽅法更常见于来⾃数据的学习决策树,并且在树上被称为分类树,因为⽬标是将乘客分类为幸存或死亡,上⾯所展⽰的决策树就是分类树。
回归树以相同的⽅式表⽰,例如⽤于预测房⼦价格的连续价值。
通常,决策树算法被称为CART或分类和回归树。
那么,算法⽣成的背后发⽣了什么呢?如何⽣成⼀个决策树取决于选择什么特征和在何种情况下进⾏分裂,以及在什么时候停⽌。
因为⼀棵树通常是随意⽣长的,你需要修剪它,让它看起来漂亮(研究如何⽣成决策树)。
ID3算法ID3算法⽣成决策树ID3算法(Iterative Dichotomiser 3)是决策树⽣成算法的⼀种,基于奥卡姆剃⼑原理(简约原则) 1。
是Ross Quinlan发明的⼀种决策树算法,这个算法的基础就是上⾯提到的奥卡姆剃⼑原理,越是⼩型的决策树越优于⼤的决策树,尽管如此,也不总是⽣成最⼩的树型结构,⽽是⼀个启发式算法。
c4.5决策树算法原理
![c4.5决策树算法原理](https://img.taocdn.com/s3/m/c87c10576fdb6f1aff00bed5b9f3f90f76c64dc2.png)
c4.5决策树算法原理决策树是一种常用的机器学习算法,用于分类和回归问题。
C4.5算法是决策树算法中的一种改进型,相较于其他决策树算法,C4.5在生成决策树的过程中进行了优化,使其具有更高的分类准确率和性能。
**一、决策树算法简介**决策树是一种基于树形结构的分类模型,通过递归地将数据集划分为若干个子集,直到满足某种终止条件(如空子集或达到预设的停止条件)为止。
在每个划分节点处,根据数据特征进行分类或回归,并计算每个分支的代价和信息增益,以确定最优划分方式。
**二、C4.5算法原理**C4.5算法是对传统决策树算法的改进,主要包括以下几点:1. 剪枝策略:C4.5算法引入了剪枝策略,对生成的决策树进行优化,避免过拟合现象的发生。
通过设置停止条件和剪枝比例,可以控制决策树的复杂度,提高模型的泛化能力。
2. 适应度函数优化:C4.5算法在生成决策树的过程中,优化了适应度函数,使其更适用于连续值和离散值的分类问题。
通过对不同类型的数据进行不同的处理方式,可以提高分类准确率。
3. 考虑噪声和离群点:C4.5算法在生成决策树的过程中,会考虑噪声和离群点的存在。
通过对噪声进行平滑处理,对离群点进行特殊处理,可以提高决策树的鲁棒性。
4. 特征选择:C4.5算法在生成决策树的过程中,引入了特征选择机制,通过计算特征重要性得分,选择对分类影响最大的特征,以提高决策树的性能。
**三、应用场景**C4.5算法适用于各种分类和回归问题,尤其适用于数据量大、非线性可分的数据集。
在金融、医疗、保险、生物信息学等领域都有广泛的应用。
**四、总结**C4.5算法通过引入剪枝策略、优化适应度函数、考虑噪声和离群点以及特征选择等机制,对传统决策树算法进行了改进,提高了模型的分类准确率和性能。
在实际应用中,可以根据具体问题选择合适的算法和参数,以达到最佳的分类效果。
C4.5算法
![C4.5算法](https://img.taocdn.com/s3/m/1fb5d92843323968011c9259.png)
设样本集S按离散属性F的V个不同的取值划分为,共V个子 集 定义分割信息量Split(S, F):
那么信息增益率为:
| Sv | | Sv | Split ( S , F ) *log 2 ( ) |S| vV | S |
Gain( S , F ) Split ( S , F )
C4.5算法
1993年由Quilan提出的C4.5算法(对ID3的改
进) 信息增益率 连续值属性 对于属性缺失值的处理
信息增益率
信息熵 1948年,香农提出了“信息熵”的概念,解决了对系统信 息的量化度量问题。 香农认为信息的准确信息量可以用下面的信息熵公式计算:
Entropy ( S ) pi log 2 ( pi )
Gain( S , F ) Entropy ( S ) ExpectedEntropy (S F ) pi log 2 ( pi )
i 1 C C vVofF
p (v)Entropy ( Sv ) p (v){ pvj log 2 ( pvj )}
j 1 C
pi log 2 ( pi )
i 1 C
vVofF
pi log 2 ( pi )
i 1
vVofF
p(v) pvj log 2 ( pvj )
j 1
C
说明:设样本集S 按离散属性F的V 个不同的取值划分为, S1 ,...SV 共V 个子集 其中,pvj 表示Sv中第j类的概率
信息增益率
与ID3不同,C4.5采用基于信息增益率(information Gain Ratio)的方法选择测试属性,信息增益率等于 信息增益对分割信息量的比值。 GainRatio(S,A)=Gain(S,A)/SplitInformation(S,A)
机器学习总结(八)决策树ID3,C4.5算法,CART算法
![机器学习总结(八)决策树ID3,C4.5算法,CART算法](https://img.taocdn.com/s3/m/a2e6dd4e814d2b160b4e767f5acfa1c7aa0082b1.png)
机器学习总结(⼋)决策树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)之差。
⼀般熵与条件熵之差,称为互信息。
在决策树中,信息增益就等价于训练数据集中的类与特征的互信息。
C4.5算法详解(非常仔细)...
![C4.5算法详解(非常仔细)...](https://img.taocdn.com/s3/m/b791aee185254b35eefdc8d376eeaeaad1f31681.png)
C4.5算法详解(非常仔细)...首先,C4.5是决策树算法的一种。
决策树算法作为一种分类算法,目标就是将具有p维特征的n个样本分到c个类别中去。
相当于做一个投影,c=f(n),将样本经过一种变换赋予一种类别标签。
决策树为了达到这一目的,可以把分类的过程表示成一棵树,每次通过选择一个特征pi来进行分叉。
那么怎样选择分叉的特征呢?每一次分叉选择哪个特征对样本进行划分可以最快最准确的对样本分类呢?不同的决策树算法有着不同的特征选择方案。
ID3用信息增益,C4.5用信息增益率,CART用gini系数。
下面主要针对C4.5算法,我们用一个例子来计算一下。
上述数据集有四个属性,属性集合A={ 天气,温度,湿度,风速},类别标签有两个,类别集合L={进行,取消}。
1. 计算类别信息熵类别信息熵表示的是所有样本中各种类别出现的不确定性之和。
根据熵的概念,熵越大,不确定性就越大,把事情搞清楚所需要的信息量就越多。
2. 计算每个属性的信息熵每个属性的信息熵相当于一种条件熵。
他表示的是在某种属性的条件下,各种类别出现的不确定性之和。
属性的信息熵越大,表示这个属性中拥有的样本类别越不“纯”。
3. 计算信息增益信息增益的 = 熵 - 条件熵,在这里就是类别信息熵 - 属性信息熵,它表示的是信息不确定性减少的程度。
如果一个属性的信息增益越大,就表示用这个属性进行样本划分可以更好的减少划分后样本的不确定性,当然,选择该属性就可以更快更好地完成我们的分类目标。
信息增益就是ID3算法的特征选择指标。
但是我们假设这样的情况,每个属性中每种类别都只有一个样本,那这样属性信息熵就等于零,根据信息增益就无法选择出有效分类特征。
所以,C4.5选择使用信息增益率对ID3进行改进。
4.计算属性分裂信息度量用分裂信息度量来考虑某种属性进行分裂时分支的数量信息和尺寸信息,我们把这些信息称为属性的内在信息(instrisic information)。
数据挖掘十大经典算法
![数据挖掘十大经典算法](https://img.taocdn.com/s3/m/ca39e40aa5e9856a56126031.png)
数据挖掘十大经典算法一、 C4.5C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;2) 在树构造过程中进行剪枝;3) 能够完成对连续属性的离散化处理;4) 能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。
其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
1、机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。
树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。
决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。
2、从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。
3、决策树学习也是数据挖掘中一个普通的方法。
在这里,每个决策树都表述了一种树型结构,他由他的分支来对该类型的对象依靠属性进行分类。
每个决策树可以依靠对源数据库的分割进行数据测试。
这个过程可以递归式的对树进行修剪。
当不能再进行分割或一个单独的类可以被应用于某一分支时,递归过程就完成了。
另外,随机森林分类器将许多决策树结合起来以提升分类的正确率。
决策树是如何工作的?1、决策树一般都是自上而下的来生成的。
2、选择分割的方法有好几种,但是目的都是一致的:对目标类尝试进行最佳的分割。
3、从根到叶子节点都有一条路径,这条路径就是一条―规则4、决策树可以是二叉的,也可以是多叉的。
对每个节点的衡量:1) 通过该节点的记录数2) 如果是叶子节点的话,分类的路径3) 对叶子节点正确分类的比例。
有些规则的效果可以比其他的一些规则要好。
由于ID3算法在实际应用中存在一些问题,于是Quilan提出了C4.5算法,严格上说C4.5只能是ID3的一个改进算法。
c4.5决策树原理
![c4.5决策树原理](https://img.taocdn.com/s3/m/ff3deb48f02d2af90242a8956bec0975f565a45b.png)
c4.5决策树原理C4.5(也称为C5.0)是一种经典的决策树算法,由Ross Quinlan于1993年提出。
它是一种用于机器学习和数据挖掘的强大工具,主要用于分类问题。
以下是C4.5决策树算法的原理概述:1. 信息熵和信息增益:C4.5使用信息熵和信息增益来构建决策树。
信息熵是对数据集的纯度度量,信息增益表示通过某个属性对数据集进行划分所带来的纯度提升。
C4.5的目标是选择信息增益最大的属性作为划分依据。
2. 决策树构建过程:2.1 选择最佳属性:•对每个属性计算信息增益。
•选择信息增益最大的属性作为当前节点的划分属性。
2.2 划分数据集:•使用选定的属性对数据集进行划分,生成子节点。
•对于每个子节点,递归执行上述过程,直到满足停止条件。
2.3 停止条件:•数据集已经纯净(属于同一类别)。
•到达树的最大深度。
•不再有可用属性进行划分。
3. 剪枝:C4.5在决策树构建完成后执行剪枝,以避免过度拟合。
剪枝的目标是去除一些不必要的叶子节点,提高模型的泛化性能。
4. 缺失值处理:C4.5能够处理缺失值,当在某个节点上某个属性的值缺失时,它会考虑所有可能的取值,并按照缺失值所占比例计算信息增益。
5. 数值型属性处理:对于数值型属性,C4.5采用二分法进行处理。
它通过在属性上选择一个阈值,将数据集分为两个子集,然后选择信息增益最大的阈值进行划分。
6. 实例加权:在C4.5中,每个样本都有一个权重,这个权重可以用于调整每个样本在信息增益计算中的贡献度。
7. 优缺点:7.1 优点:•生成的决策树易于理解和解释。
•能够处理混合属性类型。
•能够处理缺失值。
•具有较好的泛化性能。
7.2 缺点:•对噪声敏感。
•生成的树可能过于复杂,需要进行剪枝。
•处理大量数据时可能效率较低。
8. 应用领域:C4.5广泛应用于分类问题,例如医学诊断、金融风险评估、客户分类等领域。
9.C4.5决策树算法通过利用信息熵和信息增益来构建树结构,是一种强大的分类工具。
决策树分类算法c4.5的具体应用场景
![决策树分类算法c4.5的具体应用场景](https://img.taocdn.com/s3/m/57e88002b207e87101f69e3143323968001cf441.png)
一、概述决策树分类算法是数据挖掘和机器学习领域中常用的算法之一,它可以用于对数据进行分类和预测。
其中C4.5算法是决策树分类算法中的一种经典方法,它采用了信息增益作为划分属性的标准,具有较好的泛化能力和分类精度。
在实际应用中,C4.5算法被广泛应用于各种领域,本文将介绍C4.5算法的具体应用场景。
二、金融领域1. 信用评分在金融领域,银行和信用卡机构经常需要对客户的信用进行评分,以判断其是否具有偿还借款的能力。
C4.5算法可以根据客户的个人信息、贷款记录和其他相关数据构建决策树模型,用于预测客户的信用水平,帮助金融机构做出信贷决策。
2. 欺诈检测另外,C4.5算法也可以在金融领域用于欺诈检测。
金融交易中存在大量的欺诈行为,通过分析交易数据和客户行为特征,C4.5算法可以构建欺诈检测模型,帮助金融机构及时发现和防范欺诈风险。
三、医疗领域1. 疾病诊断在医疗领域,C4.5算法可以应用于疾病的诊断预测。
通过对医疗数据进行分析,包括患者的症状、体征、生化指标等信息,利用C4.5算法可以建立疾病的分类模型,帮助医生进行疾病诊断和预测,提高诊断的准确性和效率。
2. 药物治疗预测C4.5算法也可以用于预测患者对药物治疗的反应。
通过分析患者的遗传信息、生理特征和药物治疗记录等数据,C4.5算法可以构建个性化的药物治疗模型,帮助医生选择最适合患者的治疗方案,提高治疗效果。
四、市场营销领域1. 客户分类在市场营销领域,企业需要对客户进行分类,以制定针对不同客户裙体的营销策略。
C4.5算法可以根据客户的消费行为、偏好信息、地理位置等数据构建客户分类模型,帮助企业对客户进行精细化管理和营销。
2. 产品推荐C4.5算法还可以用于产品推荐。
通过分析客户的购物历史、浏览行为和偏好信息,C4.5算法可以构建产品推荐模型,帮助企业向客户推荐符合其偏好的产品,提高销售额和客户满意度。
五、交通领域1. 交通流量预测在交通领域,C4.5算法可以应用于交通流量的预测。
c4.5算法 例题
![c4.5算法 例题](https://img.taocdn.com/s3/m/a42125682bf90242a8956bec0975f46527d3a724.png)
c4.5算法例题一、算法简介C4.5算法是一种决策树生成算法,它是在C4算法的基础上进行改进得到的,具有更高的生成效率和准确性。
C4.5算法通过选择最佳特征、构建决策树、剪枝优化等步骤,生成可用于分类和预测的决策树模型。
二、算法步骤1. 特征选择:从输入数据中选择出与目标变量相关性最强、信息增益最大的特征作为最佳特征。
2. 构建决策树:根据最佳特征建立决策树的各个节点,每个节点包含一个属性值和一个分支,指向满足该属性值的样本集合。
3. 剪枝优化:通过剪枝算法对决策树进行优化,减少决策树的复杂度,提高模型的准确性和稳定性。
三、例题说明假设我们有一组葡萄酒品质的数据,数据集包括多个特征,如酒精度、酸度、甜度等,目标变量为葡萄酒的品质评分。
我们希望使用C4.5算法构建一个决策树模型,对新的葡萄酒进行品质预测。
1. 准备数据:将数据集导入到数据分析软件中,确保数据格式正确,特征和目标变量分离。
2. 特征选择:使用C4.5算法的特征选择步骤,从多个特征中选择出与品质评分相关性最强、信息增益最大的特征,如酒精度、酸度等。
3. 构建决策树:根据选定的特征,使用C4.5算法构建决策树。
首先,选择酒精度作为最佳特征,建立第一个节点。
根据酒精度的不同值,将样本分为两个子集。
然后,在每个子集中继续选择最佳特征建立分支,不断重复这个过程,直到达到决策树的终止条件(如叶节点)。
4. 剪枝优化:对决策树进行剪枝优化,减少其复杂度。
可以通过设置剪枝阈值、限制树的最大深度等方式进行优化。
5. 模型评估:使用测试数据集对优化后的决策树模型进行评估,评估指标包括准确率、召回率、AUC值等。
四、代码实现由于C4.5算法的实现较为复杂,需要一定的编程知识和技能。
这里以Python语言为例,展示使用Scikit-learn库实现C4.5算法的基本步骤。
假设已经将数据集加载到一个Pandas数据框中,命名为df。
```pythonfrom sklearn.model_selection import train_test_splitfrom sklearn.tree import C4_5, export_graphvizimport graphviz# 划分训练集和测试集X_train, X_test, y_train, y_test =train_test_split(df.drop('quality', axis=1), df['quality'],random_state=42)# 创建C4.5模型对象clf = C4_5()# 训练模型clf.fit(X_train, y_train)# 预测测试集结果y_pred = clf.predict(X_test)# 模型评估accuracy = clf.score(X_test, y_test)print('Accuracy:', accuracy)```五、总结通过以上步骤,我们可以使用C4.5算法构建一个用于葡萄酒品质预测的决策树模型。
决策树模型常用算法
![决策树模型常用算法](https://img.taocdn.com/s3/m/12b36b76ff4733687e21af45b307e87101f6f8b7.png)
决策树模型常用算法决策树是一种常用的机器学习算法,它可以处理分类和回归问题。
在决策树模型中,通过对输入数据进行一系列的判断和分割,最终得到一个决策路径,用于预测新的数据。
决策树模型的构建过程中,常用的算法包括ID3、C4.5和CART。
下面将分别介绍这三种算法的原理和特点。
1. ID3算法ID3算法是决策树模型中最早被提出的算法之一。
它以信息熵为基础,通过计算每个特征的信息增益来选择最优的划分特征。
具体来说,ID3算法将数据集按照特征属性进行划分,并计算每个特征的信息增益,选择信息增益最大的特征作为当前的划分特征。
然后,对每个划分子集递归地应用ID3算法,直到满足终止条件。
ID3算法的优点是简单易懂,计算效率高。
但它对于缺失值敏感,并且容易产生过拟合的问题。
2. C4.5算法C4.5算法是ID3算法的改进版本。
与ID3算法不同的是,C4.5算法使用信息增益比来选择最优的划分特征,解决了ID3算法对于取值较多的特征有偏好的问题。
信息增益比考虑了特征的取值个数,使得算法更加公平地对待不同特征。
C4.5算法在特征选择上更加准确,同时能够处理缺失值。
但它的计算复杂度较高,对于大规模数据集不太适用。
3. CART算法CART算法是一种常用的决策树算法,既可以处理分类问题,也可以处理回归问题。
与ID3和C4.5算法不同的是,CART算法选择的划分特征是基于基尼指数的。
基尼指数反映了数据集的纯度,基尼指数越小,数据集的纯度越高。
CART算法通过计算每个特征的基尼指数,选择基尼指数最小的特征作为当前的划分特征。
然后,对每个划分子集递归地应用CART 算法,直到满足终止条件。
CART算法的优点是可以处理连续特征和缺失值,并且生成的决策树具有较高的准确性。
但它的计算复杂度较高,且生成的决策树结构相对复杂。
决策树模型常用的算法包括ID3、C4.5和CART。
不同的算法在特征选择和处理缺失值上有所区别,根据具体的应用场景选择合适的算法可以提高决策树模型的准确性和效率。
数据挖掘十大算法案例
![数据挖掘十大算法案例](https://img.taocdn.com/s3/m/1c4c989627fff705cc1755270722192e453658e4.png)
数据挖掘十大算法案例
以下是数据挖掘十大算法案例:
- C4.5:机器学习算法中的一个分类决策树算法,是决策树核心算法ID3的改进算法。
- The k-means algorithm:即K-Means算法。
- Support vector machines:支持向量机。
- The Apriori algorithm:Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。
- 最大期望(EM)算法。
- PageRank:网页排名算法。
- AdaBoost:一种迭代的学习算法。
- kNN:K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。
- Naive Bayes:朴素贝叶斯算法。
这些算法在数据挖掘和机器学习领域中得到了广泛的应用,并且每个算法都有其独特的特点和应用场景。
在实际应用中,需要根据具体的问题和数据特点选择合适的算法,以获得最佳的效果。
数据挖掘十大算法之C4.5
![数据挖掘十大算法之C4.5](https://img.taocdn.com/s3/m/552c5fdf240c844769eaee53.png)
(如果选择的阈值导致实例被基本平均分配,那么信息增
益率就会趋于极小)。因此,Quinlan建议使用常规的信息 增益选取阈值,但是首先使用信息增益率选择属性。 第二种处理连续变量的方法基于Risannen的最小描述长度 (MDL)原理。这种方法把树看成理论, Quinlan提出应该 寻找树的复杂度和分类性能之间的平衡,特别是计算树的 复杂度时要总和考虑树的编码成本和树的例外情况
利用 C4.5 算法获得的决策树
从数据中诱导出这样的树所面临的 各种选择
有哪些可能测试类型?
如何对测试进行选择?
如何选取测试的阈值? 如何决定停止树生长? 如何确定叶节点类别?
有哪些可能测试类型?
如何对测试进行选择?
C4.5算法使用增益(gain)、增益率(gain ratio)等信
缺失值处理
生成树分支是要比较多个属性,有些属性在有些实 例上没有值,那我们如何选出用于分裂树的合适属
性呢?
在为测试选定属性之后,在该属性上没有值的那些 训练实例不能放入该测试的任何输出中。但是为了 让树的生长能持续进行,又必须这些实例参与进去。 应该怎么处理这部分属性值缺失的实例?
当用树分类新实例是可能会在树中遇到某个测试, 如果该实例没有对应属性值,如何继续推进测试过 程?
悲观剪枝
C4.5算法创造性的提出了被称为悲观剪枝的方法,该
方法不在需要一个单独的测试数据集,而是通过在训
练数据集上的错误分类数量来估算未知实例上的错误 率。悲观剪枝方法通过递归计算目标结点的分支的错
误率来获得该目标结点的错误率。
基于理想置信区间剪枝
连续型属性
一种处理连续变量的方法是使用信息增益率代替信息增益。 但是因为信息增益率会收到连续属性所采用的阈值的影响。
C4 5算法
![C4 5算法](https://img.taocdn.com/s3/m/2ce47b7532687e21af45b307e87101f69e31fb8f.png)
信息增益实际上是ID3算法中用来进行属性选择度量的。它选择具有最高信息增益的属性来作为节点N的分裂 属性。该属性使结果划分中的元组分类所需信息量最小。对D中的元组分类所需的期望信息为下式:
Info(D)又称为熵。
现在假定按照属性A划分D中的元组,且属性A将D划分成v个不同的类。
其它特征
C4.5算法与ID3算法一样使用了信息熵的概念,并和ID3一用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中 的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习, 找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。
C4.5算法
ID3算法的一个扩展
01 产品介绍
目录
02 改进表现
03 优缺点
04 算法描述
05 属性选择度量
06 其它特征
C4.5算法是由Ross Quinlan开发的用于产生决策树的算法。该算法是对Ross Quinlan之前开发的ID3算法的 一个扩展。C4.5算法产生的决策树可以被用作分类目的,因此该算法也可以用于统计分类。
对非离散数据也能处理。
能够对不完整数据进行处理 。
优缺点
C4.5算法优点:产生的分类规则易于理解,准确率较高。
缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只 适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。
算法描述
C4.5并不一个算法,而是一组算法—C4.5,非剪枝C4.5和C4.5规则。以下算法将给出C4.5的基本工作流程: Input:an attibute-valued dataset D 1:Tree={} 2:if D is "pure"OR other stopping criteria met then 3: terminate 4: end if 5:for all attribute a∈ D do 6: Compute inforation-theoretic criteria if we split on a 7:end for 8:a(best)=Best attribute according to above computed criteria 9: Tree=Create a decision node that tests a(best) in the root
数据挖掘中的十大算法
![数据挖掘中的十大算法](https://img.taocdn.com/s3/m/a3f0c2ee85254b35eefdc8d376eeaeaad0f3166f.png)
数据挖掘中的十大算法数据挖掘是当今最火热的技术之一,而算法则是数据挖掘的核心,其中有十大算法是数据挖掘领域中最常用的,这十大算法分别是:C4.5决策树算法、朴素贝叶斯算法、k-近邻算法、支持向量机算法、Apriori算法、EM算法、PageRank算法、AdaBoost算法、k-均值聚类算法以及PCA算法。
1. C4.5决策树算法决策树算法是以树形结构来模拟分析决策过程的一类算法,C4.5决策树算法是一种非常常见的决策树算法,它可以适用于多分类、连续值和缺失值情况,同时还可以通过剪枝技术降低过拟合现象。
2. 朴素贝叶斯算法朴素贝叶斯算法是一种基于贝叶斯定理的概率模型,它通常用于解决分类和回归问题。
朴素贝叶斯算法可以通过估计概率来预测结果,因此需要大量的训练数据。
3. k-近邻算法k-近邻算法是一种基于距离的分类算法,它通过比较样本之间的距离来确定它们之间的相似度。
k-近邻算法通常在训练数据已知的情况下使用,它使用最近邻居的标签来预测新的标签。
4. 支持向量机算法支持向量机算法是一种最优化算法,它通常用于解决分类和回归问题。
支持向量机算法通过找到最大间隔超平面来进行分类,同时还可以使用核函数来处理非线性问题。
5. Apriori算法Apriori算法是一种关联规则算法,它通过寻找频繁项集来确定标签之间的关联性。
Apriori算法通常用于市场分析和推荐系统中。
6. EM算法EM算法是一种用于模型参数估计的迭代算法,它被广泛应用于未观测数据的概率推断中。
EM算法通常用于高斯混合模型和隐马尔科夫模型中。
7. PageRank算法PageRank算法是一种用于网页排名的算法,它基于网页的链接结构确定网页的权重。
PageRank算法被广泛应用于搜索引擎中。
8. AdaBoost算法AdaBoost算法是一种基于多个弱分类器构建强分类器的算法,它通常用于解决分类问题。
AdaBoost算法可以通过加权算法使得数据分布发生变化,从而提高分类的精度。
10种传统机器学习算法
![10种传统机器学习算法](https://img.taocdn.com/s3/m/e4b865202bf90242a8956bec0975f46527d3a795.png)
10种传统机器学习算法1基于CF的推荐算法1.1算法简介CF(协同过滤)简单来形容就是利⽤兴趣相投的原理进⾏推荐,协同过滤主要分两类,⼀类是基于物品的协同过滤算法,另⼀种是基于⽤户的协同过滤算法,这⾥主要介绍基于物品的协同过滤算法。
给定⼀批⽤户,及⼀批物品,记Vi表⽰不同⽤户对物品的评分向量,那么物品i与物品j的相关性为:上述公式是利⽤余弦公式计算相关系数,相关系数的计算还有:杰卡德相关系数、⽪尔逊相关系数等。
计算⽤户u对某⼀物品的偏好,记⽤户u对物品i的评分为score(u,i),⽤户u对物品i的协同过滤得分为rec(u,j)。
1.2业务实践以购物篮⼦为例,业务问题:根据⽤户的历史购买商品记录,给⽤户推荐⼀批商品,协同过滤算法实现⽅法如下。
记buyers表⽰⽤户购买商品的向量,记为其中表⽰全库⽤户集合,表⽰⽤户对商品的得分,定义如下:Step1:计算物品之间的相关系数记buyersi表⽰⽤户购买商品的向量,记buyersi=(…,bu,i,…) u∈U为,其中U表⽰全库⽤户集合,bu,i表⽰⽤户u对商品i的得分,定义如下:那么商品i与商品j的相关系数如下:上述公式是是利⽤余弦公式计算相关性,含义是商品的⽤户购买向量夹⾓越⼩越相似。
此外也可以运⽤⽪尔逊、杰卡德、⾃定义公式计算相关性,这⾥不⼀⼀列举。
Step2:计算⽤户对商品的协同过滤得分给定⼀个⽤户u,设该⽤户历史购买商品记录的向量为historyu=(…,hu,i,…) ,i∈I其中I表⽰所有商品的集合:计算给定⼀个物品j的协同过滤得分为:Step3:给⽤户推荐商品通过Step2计算⽤户对全库商品的协同过滤得分,取得分top 10展⽰给⽤户。
2基于关联规则的推荐算法2.1算法简介基于关联规则的推荐是根据历史数据统计不同规则出现的关系,形如:X->Y,表⽰X事件发⽣后,Y事件会有⼀定概率发⽣,这个概率是通过历史数据统计⽽来。
对于⼀个规则X->Y,有两个指标对该规则进⾏衡量。
数据挖掘十大算法及案例
![数据挖掘十大算法及案例](https://img.taocdn.com/s3/m/41547f2ba5e9856a56126072.png)
数据挖掘十大算法及经典案例一、数据挖掘十大经典算法国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART。
不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。
(一)C4.5C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法。
C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:1. 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;2. 在树构造过程中进行剪枝;3. 能够完成对连续属性的离散化处理;4. 能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。
其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
(二)The k-means algorithm 即K-Means算法k-means algorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k < n。
它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。
它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。
(三)Support vector machines支持向量机,英文为Support Vector Machine,简称SV机(论文中一般简称SVM)。
它是一种監督式學習的方法,它广泛的应用于统计分类以及回归分析中。
支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。
c分类算法
![c分类算法](https://img.taocdn.com/s3/m/76eb8167abea998fcc22bcd126fff705cc175c2d.png)
在C语言中,有许多种常用的分类算法可以用于数据挖掘和机器学习任务。
以下是一些常见的C语言实现的分类算法:1. 决策树(Decision Tree):ID3算法:一种基于信息熵的决策树构建算法。
C4.5算法:ID3算法的改进版本,使用信息增益率代替信息熵,并支持处理连续属性。
2. 朴素贝叶斯(Naive Bayes):朴素贝叶斯分类器是一种基于贝叶斯定理的概率分类模型,尤其适用于文本分类问题。
在C语言中,可以通过计算每个特征的条件概率和先验概率来实现。
3. K-最近邻(K-Nearest Neighbors, KNN):KNN是一种基于实例的学习方法,通过计算新样本与训练集中每个样本的距离,然后选取最近的k个邻居进行多数表决或加权平均等方式进行分类。
4. 支持向量机(Support Vector Machine, SVM):虽然SVM的理论较为复杂,但在C语言中也可以实现基本的线性SVM分类器,通过构建最大边距超平面来划分不同类别的数据。
5. 逻辑回归(Logistic Regression):逻辑回归是一种广义线性模型,常用于二分类问题。
在C语言中,可以通过优化算法(如梯度下降法)求解模型参数。
6. ABC分类算法(Activity-Based Costing Classification):ABC分类算法主要用于库存管理和运营管理,根据物品的价值和使用频率将其分为A、B、C三类,以便进行不同的管理策略。
7. 神经网络(Artificial Neural Networks, ANN):虽然神经网络的实现通常较为复杂,但在C语言中也可以实现简单的前馈神经网络用于分类任务。
在实现这些算法时,需要注意数据预处理、模型训练、模型评估等步骤,并且可能需要使用到一些数值计算库,如BLAS和LAPACK,或者专门的机器学习库,如LibSVM和OpenCV等。
同时,由于C语言的特性,代码可能会比其他高级语言(如Python或R)更为复杂和低级,但其执行效率通常更高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.什么是C4.5C4.5是一套算法,这套算法主要用于对机器学习和数据挖掘中的分类问题。
它是一种有监督的学习,也就是说对于该算法我们需要先给它提供一个数据集,这个数据集包含多个实例,每个实例都包含多个属性,该实例用这些属性进行描述,根据属性取值的不同被划分到不同的互斥类中,C4.5从提供的数据集中学习到如何将不同属性值的实例划分到不同类的映射,当我们提供全新的一套属性值的时候,它能够通过学到的映射对新的属性值进行分类。
例如,查看图1-1这组训练数据,每一行对应于一个实例,属性值包括对天气的展望(对应于一个三值变量,也就是说该数据的取值只能是设置的三种情况的一种),温度(一个连续取值的变量),湿度(一个连续取值的变量)和是否有风(二进制值),所有的实例被划分为两类也就是是否适合打高尔夫。
我们的目的就是从训练数据中学到一个映射,这个映射可以用于对在图中未出现的实例属性取值情况进行有效分类。
C4.5是由J.Ross Quinlan提出的,由于它是ID3(一种著名的决策树归纳算法)的后续版本,因此被如此命名。
决策树的决策结点是一系列系统化安排的问题,这些问题用于测试某一具体属性(例如:对天气的展望outlook),对每个结点上问题的不同测试输出产生不同的分支,最后会达到叶子结点。
叶子结点的值也就是最终的划分类别(如:是否打高尔夫)。
决策树就像我们汽车的维修手册一样,我们对每一个检修问题进行排查最终确定我们的汽车什么出了问题。
除了推演树,C4.5还可以将决策树用表示规则形式表示。
然而对规则后剪枝操作将导致无法很好的将规则转化为决策树。
从C4.5的历史线索我们可以看出许多小团体或多或少的聚集在了一些解决思路相似的分类方法上。
ID3的发展独立于Friedman设计的原始树归纳算法,这种原始树归纳算法经过Breiman,Olsen和Stone三人的改进之后变为我们熟知的CART算法。
虽然上文中说ID3独立于原始树归纳算法,但是从诸多的有关CART的参考文献中我们可以看到在C4.5的设计决策的部分似乎受到了CART的影响或者由CART改进而来,例如处理特殊属性的部分。
同时Quinlan本人也承认在设计ID3和C4.5的时候受到了概念学习系统CLS的影响。
如今,C4.5已经完全由一种由Rulequest Reasearch,Inc提供的商业产品See5/C5.0取代。
10大算法中的两个算法是基于树的算法充分证实了这种机器学习算法在数据挖掘中的流行性。
以前决策树被用于具有面值或分类数据的领域,然而如今决策树被用于具有数值的,标记符号的以及混合类型的属性值的多种领域例如临床决策制定,制造业,文本分析,生物信息学,空间数据建模,和一些特定领域,这些领域的决策制定能够表示为一个决策树或规则的形式。
2.算法描述C4.5并不是单单的指一个算法而是一套算法-C4.5,C4.5-no-pruning和C4.5-rules-具备很多功能。
我们首先给出基本的C4.5算法,然后再讨论这些功能。
算法1.1给出了C4.5是如何运行的大体描述。
该算法的框架表述还是比较清晰的,从根节点开始不断得分治,递归,生长,直至得到最后的结果。
根节点代表整个训练样本集,通过在每个节点对某个属性的测试验证,算法递归得将数据集分成更小的数据集.某一节点对应的子树对应着原数据集中满足某一属性测试的部分数据集.这个递归过程一直进行下去,直到某一节点对应的子树对应的数据集都属于同一个类为止。
----------------------------------------------------------------------------------------------------------------- 算法1.1 C4.5(D)----------------------------------------------------------------------------------------------------------------- 输入:一个属性值集合D1:Tree={}2:if D 无法继续划分为不同的子集or 遇到其它停止的准则then3:中止4:end if5:for all attribute a∈D do6:计算属性a的信息论度量7:end for8:a=根据度量值选择最适宜作为根结点的属性9:Tree=建立一个以属性a作为决策结点的根结点10:Dv=基于a从D中归纳出子数据集11:for all Dv do12:Treev=C4.5(Dv)13: 将Treev连接到Tree的相应分支上14:end for15:return Tree------------------------------------------------------------------------------------------------------------------图1.1给出了Golf数据集,用于作为算法的输入。
就如先前陈述的一样,我们的目标是预测一天的天气状况是否适宜打高尔夫。
在图1.1中样本的部分属性取值是离散的,部分又是连续取值的。
图1.2是高尔夫数据集对应的决策树。
下面就让我们来分析一下构造该决策树可能遇到的问题。
1.分类树中的测试是怎样的?从如1.2可以看出,C4.5并没有对结点限制最多产生两条分支而是可以产生两种或更多种结果。
如果属性是布尔类型的,将产生两条测试分支。
对于属性取值为离散变量,这很简单,离散变量对应着多个值,每个值就对应着测试的一个分支,测试就是验证样本对应的属性值对应哪个分支。
这样数据集就会被分成几个小组。
对于连续变量,所有连续变量的测试分支都是2条,其测试分支分别对应着{<=t?,>=t?},t对应着分支阈值。
2.如何选择测试?C4.5根据信息论标准来选择测试,比如增益(在信息论中,熵对应着某一分布的平均信息量,其值同时也对应着要完全无损表示该分布所需要的最小的比特数,本质上熵对应着不确定性,可能的变化的丰富程度。
所谓增益,就是指在应用了某一测试之后,其对应的可能性丰富程度下降,不确定性减小,这个减小的幅度就是增益,其实质上对应着分类带来的好处)或者增益比(这个指标实际上就等于增益/熵,之所以采用这个指标是为了克服采用增益作为衡量标准的缺点,采用增益作为衡量标准会导致分类树倾向于优先选择那些具有比较多的分支的测试,这种倾向需要被抑制)。
我们通常将增益比作为默认的标准。
算法在进行Tree-Growth时,总是“贪婪得”选择那些信息论标准最高的那些测试。
3.如何选择连续变量的阈值?就像前面所表述的那样,对于离散性和布尔型的属性,只需要对属性的所有可能取值进行测试就够了。
然而连续型变量需要确定一个阈值,将其划分为两个范围。
这阈值如何确定呢?很简单,把需要处理的样本(对应根节点)或样本子集(对应子树)按照连续变量的大小从小到大进行排序,假设该属性对应的不同的属性值一共有N个,那么总共有N-1个可能的候选分割阈值点,每个候选的分割阈值点的值为上述排序后的属性值链表中两两前后连续元素的中点,那么我们的任务就是从这个N-1个候选分割阈值点中选出一个,使得前面提到的信息论标准最大。
举个例子,对于Golf数据集,我们来处理温度属性,来选择合适的阈值。
首先按照温度大小对对应样本进行排序如下:----------------------------------------------------------------------------------64 65 68 69 70 71 72 72 75 75 80 81 83 85----------------------------------------------------------------------------------- 那么可以看到有13个可能的候选阈值点,比如middle[64,65], middle[65,68]….,middle[83,85]。
那么最优的阈值该选多少呢?通过计算信息熵的方式计算每种候选阈值点的熵值,选取熵值最小的阈值点,熵值越小,增益越大,后面我们会详细的介绍熵与增益。
对于临近的变量Vi与Vi+1如果取值为Vi的所有样本和取值Vi+1的所有样本属于相同的分类,选取他们之间的值作为阈值点将无法增加信息增益或增益比。
通过这种方法可以减少阈值点的测试。
4.Tree-Growing如何终止?前面提到Tree-Growing实际上是一个递归过程,那么这个递归什么时候到达终止条件退出递归呢?有两种方式,第一种方式是如果某一节点的分支所覆盖的样本都属于同一类的时候,那么递归就可以终止,该分支就会产生一个叶子节点.还有一种方式就是,如果某一分支覆盖的样本的个数如果小于一个阈值,那么也可产生叶子节点,从而终止Tree-Growing。
5.如何确定叶子结点的类?前面提到Tree-Growing终止的方式有2种,对于第一种方式,叶子节点覆盖的样本都属于同一类,那么这种情况下叶子节点的类自然不必多言。
对于第二种方式,叶子节点覆盖的样本未必属于同一类,直接一点的方法就是,该叶子节点所覆盖的样本哪个类占大多数,那么该叶子节点的类别就是那个占大多数的类。
我们将现在来详细的介绍如何由图1.1得到图1.2中的树。
这就涉及到测试的选择问题,前面《如何选择测试?》提到测试的选择是依据信息论标准,信息论标准有两种,一种是增益,一种是增益比。
首先来看看增益Gain的计算。
假设随机变量x,它可能属于c个类中的任何一个,通过样本的统计,它分别属于各个类的概率分别为,那么要想把某一样本进行归类所需要的熵就为:根据这个公式可以计算出playGolf?的熵:所以它的熵值为0.940。
它的信息论含义就是我要想把PlayGolf?这个信息传递给别人话,平均来讲我至少需要0.940个bit来传递这个信息。
C4.5的目标就是经过分类来减小这个熵。
那么我们来依次考虑各个属性测试,通过某一属性测试我们将样本分成了几个子集,这使得样本逐渐变得有序,那么熵肯定变小了。
这个熵的减小量就是我们选择属性测试的依据。
还是以Golf数据集为例,Outlook的增益Gain(Outlook),其公式如下:它的实质是把数据集D根据某一属性测试分成v个子集,这使得数据集D变得有序,使得数据集D的熵变小了。
分组后的熵其实就是各个子集的熵的权重和。
下面我们给出一个增益的具体计算过程:通过计算我们得到Gain(Outlook)=0.940-0.694=0.246,依据同样的方法我们可以计算出其它属性对应的信息增益。
可以得到第一个测试属性是Outlook。