决策树算法框架

决策树算法框架

(一)决策树主函数

        各种决策树的主函数都大同小异,本质上是一个递归函数。该函数的主要功能是按照某种规则生长决策树的各个分支节点,并根据终止条件结束算法。一般来讲,主函数需要完成如下几个功能。

(1)输入需要分类的数据集和类别标签。

(2)根据某种分类规则得到最优的划分特征,并创建特征的划分节点----计算最优特征子函数。

(3)按照该特征的每个取值划分数据集为若干部分------划分数据集子函数。

(4)根据划分子函数的计算结果构建出新的节点,作为树生长出的新分支。

(5)检验是否符合递归的终止条件。

(6)将划分的新节点包含的数据集和类别标签作为输入,递归执行上述步骤。

(二)计算最优特征子函数

        计算最优特征子函数是除主函数外最重要的函数。每种决策树之所以不同,一般都是因为最优特征选择的标准上有所差异,不同的标准导致不同类型的决策树,例如ID3的最优特征选择是信息增益、C4.5是信息增益率、CART是节点方差的大小等。后面所讲的理论部分,都是针对特征选择标准而言的。

        在算法逻辑上,一般选择最优特征需要遍历整个数据集,评估每个特征,找到最优的那一个特征返回。

(三)划分数据集函数

        划分数据集函数的主要功能是分隔数据集,有的需要删除某个特征轴所在的数据列,返回剩余的数据集;有的干脆将数据集一分为二,虽然实现有所不同,但基本含义都是一致的。

(四)分类器

        所有的机器学习算法都要用于分类或回归预测。决策树的分类器就是通过遍历整个决策树,使测试集数据找到决策树中叶子节点对应的类别标签。这个标签就是返回的结果。

上述四大部分构成了决策树算法的基本框架。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于哈夫曼编码完成的文件压缩及解压

这几天在较为认真的研究基于哈夫曼编码的文件压缩及解压,费了点时间,在这分享一下: 这里用链式结构,非顺序表结构; 文件压缩: 1.获取文件信息(这里采用TXT格式文本); 2.压…

兰德公司报告分析 “分布式作战”对美空军兵力运用的影响

来源:兰德公司网站/图片来自互联网导读7月17日,兰德公司发布《竞争环境下的分布式作战:对美国空军兵力运用的影响》的报告,研究了美空军竞争环境下“分布式作战”的能力需求,分析了如何调整美空军当前的“兵力运用模式…

Keras中LSTM的return_sequences和return_state

keras.layers.LSTM()函数有两个重要的参数return_sequences和return_state return_sequences和return_state默认都为false,接下来分别讲解当return_sequences和return_state取不同值时LSTM函数的返回值 return_sequencesTrue会返回每个时间步的隐藏状态&#xff0…

MATLAB(四)在高等数学中的应用

MATLAB在高等数学中的应用 (一)求极限 matlab中求极限的命令为 limit(expr, x, a) limit(expr, a) limit(expr) limit(expr, x, a, left) limit(expr, x, a, right) 其中,limit(expr, x, a)表示求符号表达式expr关于符号变量x趋近于a时的…

华为手机到底用了多少美国芯?外媒拆解来了

来源:iFixit、IT之家从拆解结果来看,华为Mate 20 X (5G)手机除了使用了3颗美国的芯片产品(美光内存、SkyworksWCDMA/LTE低端前端模块、Qorvo中高频段模块)以及荷兰公司恩智浦的芯片产品,其余主要部件基本上都是由华为海…

c++判断字符是否为空格或数字

判断字符是否为空格的函数: isspace() 标准的空白字符包括: (0x20) space (SPC) 空格符 \t (0x09) horizontal tab (TAB) 水平制表符 \n (0x0a) newline (LF) 换行符 \v (0x0b) vertical tab (VT) 垂直制表符 \f (0x0c) …

[改善Java代码] 推荐使用序列化实现对象的拷贝

建议44: 推荐使用序列化实现对象的拷贝 上一个建议说了对象的浅拷贝问题,实现Cloneable接口就具备了拷贝能力,那我们来思考这样一个问题:如果一个项目中有大量的对象是通过拷贝生成的,那我们该如何处理?每个…

MATLAB(五)在线性代数中的应用

MATLAB在线性代数中的应用 (一)向量组的线性相关性 求列向量组A的一个最大线性无关组,可用命令rref(A)将A化成行最简形,其中单位向量对应的列向量即为最大线性无关组所含向量,其他列向量的坐标即为其对应向量用最大线…

C++一位的字符数字转数字

char c4; //1,2,3,.....9 int num0; num int(c - 0);’0’的ASC码是48,‘1’,‘2’......的ASC码分别为49,50...... 和0相减即为对应的数字

关于无穷大量的选择

在解题时候,通常有遇到设置为无穷大的情况。这时候通常用0x7fffffff来设置,他是计算机32位整数最大数,相当于INT_MAX.但是在很多时候这样设置并不会是最佳的,还可能导致bug,这是由于我们有的时候希望无穷大无穷大无穷大&#xff0…

全球市值最大公司的巨变:20年,已是沧海桑田

来源: 资本实验室三十年河东,三十年河西。而商业的世界,变化来得更为迅猛、激烈。就比如当我们比较1999到2019年间的全球市值最大公司,并回看二十年时,惊觉已是沧海桑田。如果以更短的五年为一个观察周期,则…

python+OpenCV图像处理(六)图像平滑与滤波

图像平滑与滤波 运用它,首先就要了解它,什么是平滑滤波? 平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的…

pytorch每次迭代训练前都重新对数据集进行采样形成平衡数据集

对于不平衡数据集的训练通常有两种方法: 一种是先用数据平衡的方法形成平衡数据集之后用于每一轮的训练,此时每轮训练的数据集是不变的,这一方法在pytorch的实现比较简单,即先构建好平衡数据集train_set,然后构建trai…

Delphi中动态调用DLL的方法

Delphi中动态调用dll的方法如下&#xff1a; function CallFunc(dllname, funcname: string; const param: array of const): DWORD; varhLib: THandle;pFunc: Pointer;intSize: Integer; beginResult : 0;hLib : LoadLibrary(PChar(dllname));if hLib <> 0 then beginpF…

语音助手再次敲响隐私保护警钟

来源&#xff1a; 中国科学报智能手机内置的语音助手已成为人们生活中的亲密伙伴&#xff0c;大家习惯于让它完成报时、查询天气等日常任务甚至与它聊天解闷。然而&#xff0c;近期多家科技公司被曝光以智能语音助手录制用户谈话&#xff0c;再通过人工对语音做标注和反馈&…

大数据深度解析NLP文本摘要技术:定义、应用与PyTorch实战

文章目录 大数据深度解析NLP文本摘要技术&#xff1a;定义、应用与PyTorch实战1. 概述1.1 什么是文本摘要&#xff1f;1.2 为什么需要文本摘要&#xff1f; 2. 发展历程2.1 早期技术2.2 统计方法的崛起2.3 深度学习的应用2.4 文本摘要的演变趋势 3. 主要任务3.1 单文档摘要3.2 …

python+OpenCV图像处理(七)图像的形态学处理

图像的形态学处理 数学形态学&#xff08;Mathematical morphology&#xff09;是一门 建立在格论和拓扑学基础之上的图像分析学科&#xff0c;是数学形态学图像处理的基本理论。其基本的运算包括&#xff1a;腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、…

pandas取某一索引的数据

pandas.DataFrame.take(index) 返回给定位置索引中的元素。注意上面的index是元素的实际位置 举个例子&#xff1a; myList [[a, 10, 1.1],[b, 20, 2.2],[c, 30, 3.3],[d, 40, 4.4]] df1 pd.DataFrame(data myList) print(df1.take([2,3])) 输出&#xff1a; c 30 3.…

站立会议08

一、会议细节 时间   2014-4-27 21&#xff1a;10~21:40 地点   基教102 记录人   王岸城 二&#xff0c;会议记录 姓名今天你做了什么明天你要做什么今天遇到了什么问题王岸城记事本删除记事本修改无法使用数据库 苏月 实现登录和注册的连接 学习数据库 连接数据库信息…

【人工智能】机器人的未来发展:从工业自动化到知识自动化

来源&#xff1a;王飞跃博客【导读】智能时代的核心技术将是知识自动化&#xff0c;因此必须从一开始就加快、加强以软件形态为主的知识机器人的研发与应用&#xff0c;尽快形成软件和物理形态平行互动的新型机器人系统&#xff0c;并以此为突破口&#xff0c;引发下一代智能机…