决策树及应用
决策树例题经典案例

决策树例题经典案例1. 引言决策树是一种常见且有用的机器学习算法,在许多实际问题中都得到了广泛应用。
它是一种基于树结构的分类模型,通过对数据的特征进行判断,构建出一个树状的决策过程。
本文将通过一个经典的案例,来介绍决策树的基本原理和应用。
2. 案例背景假设我们是一家电子商务平台的运营团队,我们最近推出了一种新产品,并希望根据用户的特征来预测他们是否会购买这个产品。
为了解决这个问题,我们决定使用决策树算法来构建一个分类模型。
3. 数据集介绍我们已经收集了一些用户的相关数据,包括年龄、性别、收入和是否购买产品。
数据集如下:用户ID年龄性别收入是否购买产品125男5000元以上是230女3000-5000元是335男3000-5000元否440男3000-5000元否535男3000-5000元是645女5000元以上是750男2000-3000元否860男3000-5000元是4. 构建决策树模型在构建决策树模型之前,我们需要对数据进行预处理。
首先,将年龄、性别和收入这些特征进行编码转换,方便计算机处理。
然后,将数据集分为训练集和测试集,训练集用于构建模型,测试集用于评估模型的性能。
接下来,我们使用Python中的scikit-learn库来构建决策树模型。
首先,导入相关的库和模块:from sklearn import treeimport pandas as pd然后,读取数据并进行特征编码:data = pd.read_csv('data.csv')# 特征编码data['年龄'] = data['年龄'].map({'25': 0, '30': 1, '35': 2, '40': 3, '45': 4, '50': 5, '60': 6}) data['性别'] = data['性别'].map({'男': 0, '女': 1}) data['收入'] = data['收入'].map({'5000元以上': 0, '3000-5000元': 1, '2000-3000元': 2})# 提取特征和标签X = data[['年龄', '性别', '收入']]y = data['是否购买产品']接着,创建决策树模型并训练:# 创建决策树模型model = tree.DecisionTreeClassifier()# 训练模型model.fit(X, y)最后,使用测试集评估模型的性能:```python # 读取测试集数据 test_data =pd.read_csv(’test_data.csv’)特征编码test_data[‘年龄’] = test_data[‘年龄’].map({’25’: 0, ‘30’: 1, ‘35’: 2, ‘40’: 3, ‘45’: 4, ‘50’: 5, ‘60’: 6}) test_data[‘性别’] = test_data[‘性别’].map({’男’: 0, ‘女’: 1}) test_data[‘收入’] = test_data[‘收入’].map({’5000元以上’: 0, ‘3000-5000元’: 1, ‘2000-3000元’: 2})提取特征和标签X_test = test_data[[‘年龄’, ‘性别’, ‘收入’]] y_test = test_data[‘是否购买产品’]预测结果y_pred = model.predict(X_test)计算准确率accuracy = (y_pred == y_test).mean() print(。
人工智能决策树例题经典案例

人工智能决策树例题经典案例一、经典案例:天气预测决策树在天气预测中有广泛应用,下面是一个关于是否适宜进行户外运动的示例:1. 数据收集:- 温度:高(>30℃)/中(20℃-30℃)/低(<20℃)- 降水:是/否- 风力:高/中/低- 天气状况:晴朗/多云/阴天/雨/暴雨- 应该户外运动:是/否2. 构建决策树:- 根据温度将数据分为三个分支:高温、中温、低温- 在每个分支中,继续根据降水、风力和天气状况进行划分,最终得到是否适宜户外运动的决策3. 决策树示例:温度/ / \高温中温低温/ | | \ |降水无降水风力适宜/ \ | | / \是否高中低| |不适宜适宜- 如果温度是高温且有降水,则不适宜户外运动- 如果温度是高温且无降水,则根据风力判断,如果风力是高,则不适宜户外运动,如果风力是中或低,则适宜户外运动 - 如果温度是中温,则不论降水和风力如何,都适宜户外运动- 如果温度是低温,则需要考虑风力,如果风力是高,则适宜户外运动,如果风力是中或低,则不适宜户外运动4. 参考内容:决策树的构建和应用:决策树通过对输入特征进行划分,构建了一棵树形结构,用于解决分类或回归问题。
构建决策树主要包括数据预处理、特征选择、划分策略和停止条件等步骤。
特征选择可以使用信息增益、基尼指数等算法,划分策略可以使用二叉划分或多叉划分,停止条件可以是叶子节点纯度达到一定阈值或达到预定的树深度。
决策树的应用包括数据分类、特征选择和预测等任务。
天气预测案例中的决策树:将天气预测问题转化为分类问题,通过构建决策树,可以得到识别是否适宜户外运动的规则。
决策树的决策路径可以用流程图或树状图表示,帮助理解和解释决策过程。
决策树的节点表示特征值,分支表示判断条件,叶子节点表示分类结果。
决策树的生成算法可以基于启发式规则或数学模型,如ID3、C4.5、CART等。
决策树的优缺点:决策树具有可解释性强、易于理解和实现、能处理非线性关系等优点。
《决策树与随机森林》课件

交叉验证
使用交叉验证来评估模型的泛化能力,以避 免过拟合。
随机森林的参数调整
1 2
决策树数量
调整决策树的数量,以找到最优的模型性能。
特征子集大小
调整在每一步分裂中选择的特征子集大小,以找 到最优的模型性能。
3
决策树深度
调整决策树的深度限制,以防止过拟合或欠拟合 。
05
决策树与随机森林的应用场景
分类问题
THANKS
感谢观看
随机森林的优缺点
可解释性强
每棵决策树都可以单独解释,有助于理解模型的工作原理。
鲁棒
对异常值和噪声具有较强的鲁棒性。
随机森林的优缺点
对参数敏感
随机森林中的参数如树的数量、特征选择比例等对模型性能影响较大。
可能产生过拟合
当数据集较小或特征过多时,随机森林可能产生过拟合。
04
随机森林算法
随机森林的生成
决策树的基本原理
特征选择
选择最能划分数据集的特征进行分裂,以减少决 策树的深度和复杂度。
剪枝
通过去除部分分支来降低过拟合的风险,提高模 型的泛化能力。
决策规则
将每个叶子节点映射到一个类别或值,根据该节 点所属类别或值进行预测。
决策树的优缺点
优点
易于理解和解释,分类效果好,对异常值和缺失值容忍度高 。
在构建每棵决策树时,随 机选择一部分特征进行划 分,增加模型的泛化能力 。
多样性
通过生成多棵决策树,增 加模型的多样性,降低过 拟合的风险。
集成学习
将多棵决策树的预测结果 进行汇总,利用投票等方 式决定最终输出,提高分 类任务的准确率。
随机森林的优缺点
高效
能够处理大规模数据集,计算效率高 。
决策树模型在风控领域的应用指南

决策树模型在风控领域的应用指南一、介绍决策树模型决策树模型是一种常见的机器学习算法,在风控领域具有广泛的应用。
决策树模型通过对数据集进行分析和分类,构建出一颗树状的决策模型,用于预测和判断不同情况下的风险。
决策树模型具有易于理解和解释的特点,适用于处理复杂的风控问题。
二、决策树模型的优势决策树模型具有多个优势,使其在风控领域得到广泛应用。
首先,决策树模型可以处理各种类型的数据,包括数值型和类别型数据,适用范围广泛。
其次,决策树模型可以处理大规模的数据集,具有较快的计算速度和高效的性能。
此外,决策树模型还具有较强的鲁棒性,对数据中的噪声和不完整信息具有一定的容忍度。
最重要的是,决策树模型可以生成易于理解和解释的结果,为风控决策提供可靠依据。
三、决策树模型的构建流程构建决策树模型需要经过一系列步骤。
首先,需要选择适当的分裂准则,常用的有基尼指数和信息增益等。
然后,根据选定的分裂准则,对数据集进行分裂,生成子节点。
接下来,重复这一过程,直至满足停止条件为止。
最后,对生成的决策树模型进行剪枝,以防止过拟合。
四、决策树模型的应用案例决策树模型在风控领域有着丰富的应用案例。
例如,银行和贷款机构可以利用决策树模型对借款人的信用情况进行评估,从而决定是否放贷。
又如,保险公司可以利用决策树模型对客户的风险等级进行判断,以确定保费的大小。
此外,电商平台可以利用决策树模型对用户的消费行为进行分析,从而进行个性化推荐和风险控制。
五、决策树模型的应用指南在实际应用决策树模型时,需要注意一些要点。
首先,需要选择合适的特征变量,这些变量应当与风控问题密切相关,并且具有一定的区分度。
其次,需要对数据集进行预处理,包括缺失值处理、异常值处理等。
再者,需要进行模型的评估和验证,以确保模型的准确性和可靠性。
最后,需要不断地优化和更新决策树模型,以适应风控环境的变化。
六、结语决策树模型在风控领域有着广泛的应用前景,可以帮助机构和企业更好地应对风险和挑战。
决策树分析与统计

决策树分析与统计在现代数据分析与机器学习领域,决策树是一种非常重要的算法。
它不仅具有直观易懂的特点,也具备强大的分类和回归能力。
决策树通过树形结构展示决策过程,能够帮助我们理解数据并做出相关决策。
本文将深入探讨决策树的基本概念、构建方法、优缺点以及其在统计分析中的应用。
一、决策树的基本概念决策树是一种用于分类和回归的模型,其通过一系列规则将数据集划分成多个小部分,最终形成一个树状结构。
在这棵树中,每个内部节点代表一个特征(属性),每条边代表一个特征值分裂,而每个叶子节点则表示最终的结果或预测值。
二、决策树的构建方法构建决策树的关键在于如何选择特征来进行数据划分。
常用的方法有:1. 信息增益信息增益是基于信息论的重要概念,用于评估选择某一特征进行划分后能带来的信息量增加。
计算公式为:[ IG(D, A) = H(D) - H(D|A) ]其中,( H(D) )为数据集D的信息熵,( H(D|A) )为给定特征A后的条件熵。
信息增益越高,意味着通过该特征进行划分后,数据的不确定性减少得越多,从而可用于选择最优特征进行分裂。
2. 基尼指数基尼指数是另一种衡量特征优劣的方法,主要被用于CART (Classification and Regression Trees)算法中。
其计算公式为:[ Gini(D) = 1 - (p_i)^2 ]其中,( p_i )代表类别i在数据集D中所占的比例。
基尼指数越低,表示数据集中类别越纯粹,也就越适合用该特征进行分裂。
3. 剪枝为了避免过拟合,决策树模型通常需要进行剪枝操作。
剪枝的主要思想是在树的生成过程中,如果发现某些节点的存在对模型预测效果并无显著提升,则应将其去掉。
常见的剪枝方法有预剪枝和后剪枝。
三、决策树的优缺点决策树作为一种流行的数据挖掘技术,其优势与劣势并存。
优点直观易懂:决策树采用树形结构展示,每一步都可以清晰地看到如何做出分类或预测,因此极具可解释性。
使用决策树进行分类和回归的方法

使用决策树进行分类和回归的方法决策树是一种常见且简单易懂的机器学习算法,在数据分类和回归问题中经常被使用。
它通过构建树状结构来进行决策,将数据集分割成多个子集,每个子集对应一个决策节点。
本文将介绍使用决策树进行分类和回归的方法,并探讨其优缺点以及应用场景。
第一部分:决策树分类方法决策树分类方法是指利用决策树模型对给定数据进行分类的过程。
其基本原理是通过特征选择、节点划分、树构建和剪枝等步骤来生成一个高效、准确的分类器。
1. 特征选择:特征选择是决策树分类的第一步,它决定了每个节点应该选择哪个特征进行划分。
常用的特征选择算法包括信息增益、信息增益率和基尼系数等,这些算法都是通过计算特征的纯度或不确定性来选择最优的特征。
2. 节点划分:节点划分是指根据选择的特征将数据集分割成多个子集的过程。
划分过程一般根据特征的取值将数据分成多个不同的子集,直到所有数据都属于同一类别或达到停止条件。
3. 树构建:树构建是将选择的特征逐步添加到决策树中的过程。
树构建过程中,可以采用递归算法或迭代算法来生成一个完整的决策树。
4. 剪枝:剪枝是为了避免过拟合现象,提高决策树的泛化能力。
剪枝可以通过预剪枝和后剪枝两种方式进行,预剪枝是在树构建过程中,判断是否继续划分节点;后剪枝是在树构建完成后,通过剪枝来优化决策树模型。
第二部分:决策树回归方法决策树回归方法是指利用决策树模型对给定数据进行回归的过程。
与分类相比,回归问题更关注预测数值型数据。
1. 划分依据:决策树回归方法中,每个节点的划分依据不再是纯度或不确定性的度量,而是基于平方误差、均方差或平均绝对误差等度量指标。
划分依据是为了找到能够使子集数据的目标值尽量接近的特征。
2. 节点划分和树构建:节点划分和树构建的过程与分类问题类似,不同之处在于目标值的处理。
在回归问题中,节点划分过程应根据目标值的大小将数据集划分成多个子集。
3. 预测值计算:决策树回归模型的预测值是通过对决策树进行遍历,找到与待预测样本最匹配的叶子节点,并返回该节点的目标值作为预测结果。
超市品类管理洗洁精决策树
超市品类管理洗洁精决策树
(原创实用版)
目录
1.决策树的概念
2.超市品类管理洗洁精的重要性
3.决策树的构建过程
4.决策树在超市品类管理洗洁精中的应用
5.决策树的优势和局限性
正文
一、决策树的概念
决策树是一种常见的数据挖掘技术,它通过一系列的问题来对数据进行分类或者预测。
决策树可以看作是一个问题树,每个内部节点表示一个特征,每个分支代表一个决策规则,每个叶子节点代表一个分类或预测结果。
二、超市品类管理洗洁精的重要性
在超市的品类管理中,洗洁精是一个重要的品类,它关系到消费者的日常生活。
因此,如何有效地管理洗洁精,提高其销售额,降低库存,是超市品类管理的重要任务。
三、决策树的构建过程
构建决策树的过程通常包括以下步骤:
1.特征选择:根据训练数据,选择对分类或预测影响最大的特征。
2.决策树生成:根据特征和训练数据,生成一颗完整的决策树。
3.决策树剪枝:为了避免过拟合,需要对决策树进行剪枝。
四、决策树在超市品类管理洗洁精中的应用
在超市品类管理洗洁精中,决策树可以用来预测消费者的购买行为,例如,根据消费者的年龄、性别、收入等因素,预测他们购买洗洁精的种类和数量。
五、决策树的优势和局限性
决策树具有以下优势:
1.可以处理各类数据,包括数值型和类别型数据。
2.可以处理缺失值和噪声数据。
3.结果易于理解和解释。
然而,决策树也存在一些局限性:
1.对于连续性的特征处理能力较弱。
2.容易过拟合。
如何利用决策树分析解决问题
如何利用决策树分析解决问题决策树是一种常见且有效的数据分析工具,它能够帮助我们理清问题的逻辑关系并做出准确的决策。
无论是在商业、科研还是日常生活中,决策树都具有广泛的应用。
本文将介绍如何利用决策树分析解决问题,并提供一些实用的技巧和案例分析。
一、决策树的基本概念决策树是一种以树状结构表示决策规则的模型。
它由根节点、内部节点和叶节点组成,其中根节点代表问题的提出,内部节点代表问题的判断条件,叶节点代表问题的解决方案。
通过依次对问题进行判断,最终到达叶节点得到问题的解决方案。
二、决策树的构建方法构建一棵决策树需要以下几个步骤:1. 收集数据:收集问题相关的数据,并整理成表格的形式。
表格的每一行代表一个样本,每一列代表一个特征。
2. 选择划分属性:根据数据的特征进行划分属性的选择,常用的指标有信息增益、信息增益率、基尼指数等。
3. 构建决策树:根据选择的划分属性,递归地对数据进行划分,直到所有的样本都属于同一个类别或者无法继续划分为止。
4. 剪枝处理:根据实际情况对决策树进行剪枝处理,避免过拟合问题。
三、决策树的应用案例1. 商业决策:决策树可以帮助企业根据过去的销售数据和市场情况,对不同的产品进行合理的定价策略、推广策略和促销策略的制定。
2. 医学诊断:决策树可以对疾病的症状和检测结果进行分析,并帮助医生判断疾病的类型和治疗方案。
3. 个人贷款:银行可以利用决策树对个人信用评级进行分析,从而判断是否给予贷款以及贷款的利率和额度。
4. 电子商务推荐系统:决策树可以根据用户的购买记录和兴趣偏好,为用户推荐相似的商品或服务。
四、决策树分析的注意事项1. 数据质量:决策树的准确性和稳定性依赖于数据的质量,因此需要对数据进行清洗和预处理,排除噪声和异常值。
2. 属性选择:划分属性的选择对构建决策树的准确性和效率有重要影响,需要根据具体问题选择合适的划分属性。
3. 过拟合问题:决策树容易过拟合训练数据,在构建决策树时需要进行剪枝处理或采用其他方法避免过拟合。
《决策树例题》课件(2024)
基于信息增益的决策树
通过计算每个特征的信息增益来选择 最佳划分特征,构建决策树。例如, 在二分类问题中,可以使用ID3算法 来构建决策树。
基于基尼指数的决策树
通过计算每个特征的基尼指数来选择 最佳划分特征,构建决策树。例如, 在二分类问题中,可以使用CART算 法来构建决策树。
剪枝策略
针对决策树过拟合问题,可以采用预 剪枝或后剪枝策略来优化决策树性能 。
输入 欠标采题样
从多数类样本中随机选择一部分样本,减少其样本数 量,使得正负样本数量平衡。例如Random UnderSampler算法。
过采样
代价敏感学 习
通过集成多个基分类器的结果来提高整体性能。例如 Bagging和Boosting方法。
集成学习方 法
为不同类别的样本设置不同的误分类代价,使得模型 在训练过程中更加关注少数类样本。例如AdaCost算 法。
剪枝策略
通过预剪枝或后剪枝策略,可以优化决策 树的性能,减少过拟合。
19
过拟合问题解决方案讨论
增加训练数据
更多的训练数据可以让模型学习 到更多的模式,减少过拟合。
使用集成学习方法
去除不相关或冗余的特征,可以 减少模型的复杂度,降低过拟合
风险。
2024/1/30
特征选择
通过添加正则化项,可以惩罚模 型的复杂度,防止过拟合。
模型构建:选择合适的 模型优化:针对不平衡
决策树算法(如ID3、 数据集问题,可以采用
C4.5、CART等)构建分 过采样、欠采样或代价
类模型,并采用交叉验 敏感学习等方法优化模
证等方法评估模型性能 型性能。同时,也可以
。
通过调整决策树参数(
如最大深度、最小样本
造价工程师《案例分析》讲义决策树方法在投标决策中的运用
造价工程师《案例分析》讲义决策树方法在投标决策中的运用引言:案例背景:市政工程公司需要对一项道路施工项目进行投标。
这个项目的施工周期为6个月,预算金额为1千万元。
公司管理层决定采用决策树方法来确定是否参与投标以及如何制定合适的投标价格。
决策树的构建:1.定义问题:首先,需要明确投标决策中的关键问题和限制条件。
在这个案例中,关键问题是是否参与投标,而限制条件可以考虑成本、竞争对手和质量要求等因素。
2.收集数据:接下来,需要收集与投标相关的数据,并进行整理和分析。
这些数据可以包括类似施工周期、预算金额、竞争对手的报价、项目要求等信息。
3.分析数据:对收集到的数据进行分析,如计算平均值、标准差、相关性等。
这些分析结果将有助于解决投标决策中的关键问题。
4.构建决策树:接下来,可以通过建立决策树来对投标决策进行可视化和定量化。
决策树的节点表示决策点,分支表示可能的选择,叶节点表示最终决策结果。
例如,可以将施工周期、预算金额、竞争对手的报价等因素作为决策树的输入。
5.验证和调整:构建好决策树后,可以通过验证和调整来提高决策树的准确性和可靠性。
这可以包括使用交叉验证方法对决策树进行验证,并根据验证结果来调整决策树的结构和参数。
案例分析:在这个案例中,决策树的目标是确定是否参与投标以及如何制定合适的投标价格。
决策树的叶节点可以包括“参与投标”和“不参与投标”,以及不同投标价格对应的收益。
在构建决策树时,我们需要首先确定参与投标的条件。
例如,如果预算金额低于公司能够接受的最低投标价格,则投标公司将不参与投标。
另外,如果施工周期超出了公司的能力范围,则也不参与投标。
接下来,我们可以考虑决策树的分支。
例如,在参与投标的情况下,系统可以分析竞争对手的报价。
如果竞争对手的报价高于公司的估计值,则可以采取较高的投标价格。
否则,可以选择较低的投标价格来提高中标的机会。
为了验证决策树的准确性和可靠性,投标公司可以通过历史数据进行交叉验证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
决策树及应用 第5章 决策树及应用
5.1 问题概述 各个领域的人工智能实现,常常要涉及这样的问题:从实际问题中提取数据,并从数据中提炼一组数据规则,以支持知识推理实现智能的功能。知识规则一般以“原因—结果"形式表示。一般地,获取知识规则可以
通过样本集, 建模实现.由于推理结果是有限个,即的取值是有限的,所以这样的建模属于分类问题.利用神经网络可以实现分类问题建模,但当影响因素变量的个数较大时,建模后的知识规则不易表示,特别地,当默写变量的取值缺失时,即使神经网络具有容错性,也会在一定程度上影响分类结果的不确定性.实际应用中,决定分类结果可能只是几个主要影响因素取值,不依赖全部因素变量,因此,知识规则的提取,可以转换为这样的问题:某一分类下哪些变量是主要的影响因素,这些主要影响因素与分类结果的因素规则表示如何获取?决策树就是解决这些问题的方法之一. 5。2 决策树概述 决策树学习算法是一组样本数据集(一个样本数据也可以称为实例)为基础的一种归纳学习算法,它着眼于从一组无次序、无规则的样本数据(概念)中推理出决策树表示形式的分类规则。假设这里的样本数据应该能够用“属性-结论”。 决策时是一个可以自动对数据进行分类的树形结构,是树形结构的知识表示,可以直接转换为分类规则.它能被看做基于属性的预测模型,树的根节点是整个数据集空间,每个分结点对应一个分裂问题,它是对某个单一变量的测试,该测试将数据集合空间分割成两个或更多数据块,每个叶结点是带有分类结果的数据分割。决策树算法主要针对“以离散型变量作为属性类型进行分类”的学习方法。对于连续性变量,必须被离散化才能被学习和分类。 基于决策树的决策算法的最大的有点就在于它在学习过程中不需要了解很多的背景知识,只从样本数据及提供的信息就能够产生一颗决策树,通过树结点的分叉判别可以使某一分类问题仅与主要的树结点对应的变量属性取值相关,即不需要全部变量取值来判别对应的范类。 5。2。1 决策树基本算法 一颗决策树的内部结点是属性或属性的集合,儿叶结点就是学习划分的类别或结论,内部结点的属性称为测试属性或分裂属性。 当通过一组样本数据集的学习产生了一颗决策树之后,就可以对一组新的未知数据进行分类。使用决策树对数据进行分类的时候,采用自顶向下的递归方法,对决策树内部结点进行属性值的判断比较并根据不同的属性值决定走向哪一条分支,在叶节点处就得到了新数据的类别或结论。 从上面的描述可以看出从根结点到叶结点的一条路径对应着一条合取规则,而整棵决策树对应着一组合取规则. 决策树及应用 图 5.1 简单决策树 根据决策树内部结点的各种不同的属性,可以将决策树分为以下几种: (1)当决策树的每一个内部结点都只包含一个属性时,称为单变量决策树;当决策树存在包含多个变量的内部结点时,称为多变量决策树。 (2)根据测试属性的不同属性值的个数,可能使得每一个内部结点有两个或者是多个分支,如果每一个内部结点只有两个分支则称之为二叉树决策。 (3)分类结果可能是两类也可能是多类,二叉树决策的分类结果只能有两类,股也称之为布尔决策树。 5.2.2 CLS算法 CLS学习算法是1966年有Hunt等人提出的.它是最早的决策树学习算法。后来的许多决策树算法都可以看作是CLS学习算法的改进与更新。 CLS的算法的思想就是从一个空的决策出发,根据样本数据不断增加新的分支结点,直到产生的决策树能够正确地将样本数据分类为止. CLS算法的步骤如下: (1)令决策树T的初始状态只含有一个树根(X,Q),其中X是全体样本数据的集合,Q是全体测试属性的集合。
(2)如果T中所有叶结点()都有如下状态:或者中的样本数据都是属于同一个类,或者为空,则停止执行学习算法,学习的结果为T。 (3)否则,选择一个不具有(2)所描述状态的叶节点(). (4)对于,按照一定规则选取属性,设被b的不同取值分为m个不同的子集,,从()伸出m个分支,每个分支代表属性b的一个不同取值,从而形成m个新的叶结点()。 (5)转(2)。 在算法步骤(4)中,并没有明确地说明按照怎样的规则来选取测试属性,所以CLS有很大的改进空间,而后来很多的决策树学习算法都是采取了各种各样的规则和标准来选取测试属性,所以说后来的各种决策树
B C
A
1 2 3 4 决策树及应用 学习算法都是CLS学习算法的改进。
5。2。3 信息熵 Shannon在1948年提出并发展了信息论的观点,主张用数学方法度量和研究信息,提出了以下的一些概念.决策树学习算法是以信息熵为基础的,这些概念将有助于理解后续的算法。 (1)自信息量:在收到之前,接收者对信源发出的不确定性定义为信息符号的自信息量,其中是取值为的概率。自信息量反映了接收的不确定性,自信息量越大,不确定性越大。 (2)信息熵:自信息量只能反映符号的不确定性,而信息上可以用来度量整个信源X整体的不确定性。
(5.1) 式中:n是信源X所有可能的符号数;是可能取到的值;是取值为的概率;信息熵是各个自信息量的期望. (3)条件熵:如果信源X与随机变量Y不是相互独立的,接收者收到信息Y,那么用条件熵来度量接信者收到随机变量Y之后,对随机变量X仍然存在的不确定性。X对应信源符号,Y对应信源符号,为当Y为时X为的概率,则有
即条件熵是各种不同条件下的信息熵期望. (4)平均互信息量:用来表示信号Y所能提供的关于X的信息量的大小,用下式表示,即
5.3 ID3算法 上一节已经提到的CLS算法并没有明确地说明按照怎样的规则和标准来确定不同层次的树结点(即测试属性),Quinlan于1979年提出的以信息熵的下降速度作为选取测试属性的标准。ID3算法是各种决策树学习算法中最有影响力、使用最广泛的一种决策树学习算法。 决策树及应用 5。3.1 基本思想
设样本数据集为X,目的是要把样本数据集分为n类。设属于第i类的样本数据个数是,X 中总的样本
数据个数是,则一个样本数据属于第i类的概率。此时决策树对划分C的不确定程度(即信息熵)为
若选择属性a(设属性a有m个不同的取值)进行测试,其不确定程度(即条件熵)为
则属性a对于分类提供的信息量为 式中:表示选择了属性a作为分类属性之后信息熵的下降程度,亦即不确定性下降的程度,所以应该选择时的最大的属性作为分类的属性,这样得到的决策树的确定性最大. 可见ID3算法继承了CLS算法,并且根据信息论选择时的最大的属性作为分类属性的测试属性选择标准。 另外,ID3算法除了引入信息论作为选择测试属性的标准之外,并且引入窗口的方法进行增量学习。 ID3算法的步骤如下:
(1)选出整个样本数据集X的规模为W的随机子集(W称为窗口规模,子集称为窗口)。 (2)以的值最大,即的值最小为标准,选取每次的测试属性,形成 当前窗口的决策树。 (3)顺序扫描所有样本数据,找出当前的决策树的例外,如果没有例外则结束。 (4)组合当前窗口的一些样本数据与某些(3)中找到的李哇哦形成新的窗口,转(2). 5。3.2 ID3算法应用实例 表5.1是有关天气的数据样本集合。每一样本有4个属性变量:Outlook,Temperature,Humidity和Windy.样本被分为两类,P和N,分别表示正例和反例。 表5.1 天气样本数据 决策树及应用 首先计算信息熵,由表5。1可知,一共有24条记录,其中P类的记录和N类的记录都是12条,则根据上面介绍的信息熵和条件熵的算法,可以得到信息熵值为
如果选取Outlook属性作为测试属性,则计算条件熵值.有表5。1可知,Outlook属性共有3个属性值,分别是Overcast、Sunny和Rain。 Outlook属性取Overcast属性值的记录共有9条,其中P类的记录和N类的记录分别是4条和5条,因此有
Overcast引起的熵值为。 而Outlook属性取Sunny属性值的记录共有7条,其中P类的记录和N类的记录分别是7条
和0条,因此有Sunny引起的熵值为。 同理,Outlook属性取Rain属性值的记录共有8条,其中P类的记录和N类的记录分别是1条和7条,因此
有Rain引起的熵值为。 因此条件熵值应为上述三个式子之和,得到
决策树及应用
仿照上面条件熵值的计算方法,可以得到,如果选取Temperature属性为测试属性,则条件熵值为
如果选取Humidity属性为测试属性,则条件熵值为
如果选取Windy属性为测试属性,则条件熵值为
可见的值最小,所以应该选择Outlook属性作为测试属性,得到根据结点为Outlook属性,根据不同记录的Outlook属性取值的不同,向下引出三条分支,如图5.2所示,其中的数字代表第几条记录。
图5。2 ID3算法第一次分类的决策树 综合表5.1和图5。2可以看出,由Sunny引出的分支包括(4,5,11,12,21,22,23)共7条记录,这7条记录都是属于P类的,因此由Sunny音粗的分支得到的是P类。由Overcast引出的分支包括(1,2,3,13,14,15,16,19,20)共9条记录,类似上面的做法,可以求得
Outlook Sunny
OvercastRain (4,5,11,12,21,22,23) (1,2,3,13,14,15,16,19,20) (6,7,8,9,10,17,18,24)