决策树(一):分类决策树

数据挖掘系列(6)决策树分类算法   从这篇开始,我将介绍分类问题,主要介绍决策树算法、朴素贝叶斯、支持向量机、BP神经网络、懒惰学习算法、随机森林与自适应增强算法、分类模型选择和结果评价。总共7篇,欢迎关注和交流。   这篇先介绍分类问题的一些基本知识,然后主要讲述决策树算法的原理、实现,最后利用决策树算法做一个泰坦尼克号船员生存预测应用。 一、分类基本介绍   物以类聚,人以群分,分类问题只古以来就出现我们的生活中。分类... 阅读详情

决策树模型就是需要通过样本数据构建一棵树,数中除了叶子节点的每个节点都是一个数据特征的划分点,将待测数据的对应的特征和该节点上的划分特征做对比,然后将待测节点分到该节点的某个子节点上,然后再进行对比,直到叶子节点为止,然后判断待测数据的类型集合。

决策树是一种基本的分类和回归的方法,所以可以分为分类决策树和回归决策树。分类决策树主要适用于标称型数据(如苹果的颜色、形状、口味等特征数据),可以理解为非数值化的,回归树就适用于数值型数据,可以是连续型的数据。

决策树的学习过程是利用样本数据,依据损失函数最小化的原则建立决策树模型,其学习过程分为特征选择、决策树生成、决策树剪枝。特征选择就是依据损失最小化选择当前节点的划分标准是依据那个特征划分的;决策树的生成就是对每个节点选择合适的划分特征,直到结束的过程;决策树的剪枝就是防止过拟合,增加决策树泛化能力的过程。

下面先介绍分类回归树:

  1. 特征选择

    特征选择就是为当前节点选择合适的划分属性,以符合损失最小的原则。通常在分类回归树的特征选择过程用到的是信息增益熵和信息增益比。

信息增益熵:

    先从信息熵说起。在信息论与统计中,熵是随机变量不确定的度量。设X为随机变量,其概率分布为P(X=xi) = pi则X对应的信息熵为

             

从等式的右侧我们可以看出,熵的大小只与p值有关,所以修改上面的信息熵的形式:

       

熵越大,随机变量的不确定性越大,也就越不能用该属性来分类。

条件熵H(Y|X)是衡量在随机条件X的情况下,随机条件Y的不确定性。其定义为X给定条件下Y的条件概率分布的熵对X的数学期望

这里还用区分苹果和梨的例子,假设一共100个水果样本。

这里的n表示对应特征的值的种类数(样本的颜色特征:红色,绿色,灰色,黄色),此时n=4,pi表示第i个特征值占总的样本的频率,如果绿色的水果一共10个,那么绿色特征的p=1/10。后面的H(Y|X=xi)表示该特征值的信息熵,表示绿色水果对应的信息熵。各个特征值的频率乘以对应特征值的信息熵,然后求和就得到了该特征的信息熵,也就是颜色特征的信息熵。

信息增益:

    我们上面说了信息熵和条件信息熵,这些都是对于单个属性来说的,怎样衡量所有特征之间的比较关系以及对整体的影响,就是下来要说的信息增益的概念:

特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:

信息熵H(D)表示对于数据集D进行分类的额不确定性,而经验条件熵表示在特征A给定的条件下对数据及D进行分类的不确定性,他们的差就是信息增益,表示由于特征A而使得对数据集D的分类的不确定性的减少程度。显然信息增益熵越大,对数据集D不确定性减少越多,也就是我们希望选择的分类特征。

信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题(这个为什么这么说,没有太想明白)。可以使用信息增益比来对这一问题进行校正:

,分子很好理解是信息增益,那么分母呢?,n是A取值的个数,A是分类的特征,也就是特征值的个数|Di|也就是特征值Di的个数,|D|也就是样本的个数。

  1. 决策树的生成

决策树的生成过程就是从根节点开始,根据特征选择的标准,依次选择每个节点的合适的分割特征,直到满足相应的条件为止;常用的有ID3算法和C4.5算法,两算法基本都差不多,只是过程中选择特征值的标准不一样。

ID3:

    ID3算法用的是信息增益来选择每个节点的分割特征。其具体过程为:从根节点开始,计算数据集D所有特征的信息增益,然后选择信息增益最大的那个特征,作为根节点的划分特征,将待测数据划分为n个子集{D1,D2,…,Dn},然后这是个递归的过程,分别在各个子集上计算剩余特征的信息熵,在进行子集的划分,直到信息增益都特别小或者没有特征可以选择为止。

决策树停止划分条件信息增益是否小于某个阈值ε,需要我们提前指定;如果是没有特征可选的停止,那极端情况就是每个叶子节点只有一个样本。

C4.5算法:

    C4.5算法和ID3算法的过程是一样的,只不过是将特征选择的标准换成了信息增益比,阈值ε,变成了信息增益比的阈值,其他过程相同。

  1. 决策树的剪枝

    我们通过上述的两种算法构建出来的决策树,都是在训练数据上做的,换句话说就是对训练数据拟合度特别好,但是对测试数据集就不一定了,这就会出现对训练数据过拟合的情况;过拟合也是模型复杂的表现,所以就需要简化模型,使其具有更好的泛化能力;解决这个问题就是对已经生成的树进行剪枝,减掉某些子树或者叶子节点,从而简化模型。

我们通过剪枝前后的损失函数来衡量是否进行剪枝,接下来搬上枯燥的公式:

决策树的损失函数定义为:

公式解释:T是决策树的叶子节点,|T|是叶子节点的个数,Nt是叶子节点样本的个数,其中:,Ntk表示在对应的子集中分类为k的子集的个数,所以合并两各式子,得到如下公式:

 

其中对数系数的分母Nt抵消了,将上式简写为:

 

C(T)表示对训练数据的预测误差,|T|表示模型复杂度,α>=0应该叫做调和系数(其实我觉得也可以看做是一个正则化系数),控制两者之间的影响。当α较大时,促使选择较简单的模型,较小的子树,当α交到时促使选择较复杂的模型,较大的树。α=0意味着只考虑模型与训练数据的拟合程度,不考虑模型复杂度。在α确定后,较大的子树,模型复杂度也高,与训练数据拟合程度好,较小的子树模型复杂度也低,与训练数据拟合程度不好。

模型建立我们一般要有训练数据和测试数据,剪枝是我们用测试数据对生成的决策树进行剪枝。其中C(T)我们可以看到是对所有的进行求预测误差,所以在每次剪枝,我们都需要衡量剪枝前后的Cα(T)即决策树的损失函数,如果剪枝后损失更小,就剪枝,否则不剪。

  1. 总结

分类决策树,由于特征值的个数是不确定的,所以每个节点的子节点的个数也是不确定的。而回归树就不一样了,回归树一般都是二叉树模型的。

 

【机器学习】决策树分类(简介、原理、代码) 决策树分类 一、决策树分类简介: 决策树方法是利用信息论中的信息增益寻找数据库中具有最大信息量的属性字段,建立决策树的一个结点,再根据该属性字段的不同取值建立树的分支,再在每个分支子集中重复建立树的下层结点和分支的一个过程,构造决策树的具体过程为:首先寻找初始分裂,整个训练集作为产生决策树的集合,训练集每个记录必须是已经分好类的,以决定哪个属性域作为目前最好的分类指标,一般的做法是穷尽所有... 阅读详情

相关推荐

决策树模型及案例(Python)

目录 1 决策树模型简介 2 Gini系数(CART决策树) 3信息熵、信息增益 4决策树模型代码实现 4.1分类决策树模型(DecisionTreeClassifier) 4.2回归决策树模型(DecisionTreeRegressor) 5案例:员工离职预测模型 5.1模型搭建 5.1.1数据读取与预处理 5.1.2提取特征变量和目标变量 5.1.3划分训练集与测试集 5.1.4模型搭建及训练 5.1.5代码汇总 5.2模型预测及评估 5.2.1直...

qq_42433311的博客 9万+

数据结构 - 决策树(分类)

数据结构 - 决策树一决策树的介绍二决策树的构造使用决策树做预测需要以下过程:1.信息熵2.条件熵(Conditional Entropy)与[信息增益](https://so.youkuaiyun.com/so/search?q=信息增益&spm=1001.2101.3001.7020)(Information Gain)3.信息增益做特征选择的优缺点4.信息增益比(Infomation Gain Ratio)5.Gini系数 一决策树的介绍 决策树(decision tree):是一种基本的分类与回归方法,

为了更好的未来_加油 1万+

WandB本地部署踩坑指南:从Docker启动到License更新的完整流程(附常见错误解决方案)

本文详细介绍了Weights & Biases(WandB)机器学习实验管理平台的本地化部署全流程,涵盖从Docker环境搭建、许可证管理到常见错误排查的实战经验。针对企业级应用场景,文章还提供了性能优化、高可用架构设计及开源替代方案Trackio的评估与迁移策略,为构建安全、可控的内部实验追踪平台提供完整解决方案。

potato的博客 567

分类算法系列⑤:决策树

本文介绍机器学习的决策树

逐梦苍穹的博客 1万+

解决fetch_california_housing数据集403错误的3种实用方法(附手动下载地址)

本文针对机器学习中常见的fetch_california_housing数据集403 Forbidden错误,提供了三种实用的解决方案。从理解HTTP 403错误的根源出发,详细介绍了修改源码路径、使用国内镜像源以及手动下载并配置数据文件这三种方法,并附带了可靠的手动下载地址,帮助开发者彻底解决数据加载障碍,确保机器学习项目顺利进行。

weixin_29062963的博客 559

《计算机科学概论(第13版)》5-12章

定序是按给定语句的顺序应用每个算法步骤。(primitive):建立一组定义明确的构建块,利用它们来构造和执行算法的表示。可以消除歧义,不会引起误解,就像咱们传统的自然语言(用英语来沟通交流)。(programming language):原语的集合以及说明如何组合这些原语来表示比较复杂的想法的规则集合。用程序设计语言描述的算法可以在计算机上执行。每个原语都有自己的语法和语义,语法指的是原语的符号表示,语义是指该原语的含义。伪代码:用户开发过程中非正式表达想法的符号系统。

输入知识,消化知识,输出知识,分享知识,教人让我学习更好,业精于勤荒于嬉,行成于思毁于随 1036

分类算法之决策树(Decision Tree)

决策树,顾名思义,就是帮我们做出决策的树,生活中我们遇到各种各样的抉择,我们的决策过程就是一个树的模型,通过对一系列问题进行if/else的推导,最终实现相关决策例如:在选择瓜的时候我们认为色泽、根蒂、敲声是一个西瓜的三个特征,每次我们做出抉择都是基于这三个特征来把一个节点分成好几个新的节点,在我们的问题中,决策的内容是将结果分成两类, 即是(1)否(0)好瓜,这一智类决策问题被称为分类问题,决策树是一种简单的处理分类问题的算法。

clriszjgson的博客 3484

制作INCA和CANape通用的A2L

CANape和INCA通用的A2L配置与修改

赞的博客 5960

【机器学习实战笔记 6】决策树模型(一):CART分类树、ID3、C4.5决策树

本文主要包括决策树模型:CART分类树、ID3、C4.5决策树。从原理到建模的流程。

Wilber的blog。心若有所向往,又何惧道阻且长。 1181

金融机构和贷款产品数据抓取:使用Python爬虫技术获取金融机构的贷款产品信息与条件

本文介绍了如何使用Python爬虫技术抓取金融机构的贷款产品信息,包括静态网页抓取和动态网页抓取两种方法。通过requestsSelenium等工具,我们能够轻松抓取银行和消费金融平台上的贷款信息,并存储和分析数据。随着技术的发展,我们还可以扩展爬虫功能,抓取更多的金融机构网站,或者结合自然语言处理技术对贷款产品的评论进行情感分析,为用户提供更多维度的贷款决策支持。

2201_76125261的博客 1733

焊缝缺陷智能检测:基于 YOLO 的工业质检系统实战

从焊缝缺陷数据集的构建到模型训练,从桌面检测界面到缺陷统计输出,本文覆盖了一套工业焊缝质检系统的完整路线。这个场景的核心难点在数据层面——气孔和裂纹这类小目标的标注质量直接决定了模型的最终表现。建议先在开源数据集上跑通全链路,确认 mAP 达到可接受的水平后,再通过补充特定类型的小目标数据和提升输入分辨率来做精度优化。工业场景中,漏检一个气孔的成本和误报一个假阳性的成本不一样——根据对两类成本的承受力,调整置信度阈值来找到业务上的最佳平衡点。

m0_71589036的博客 201

决策树模型

决策树模型是一种基本的分类与回归方法。学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型,预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括3个步骤:特征选择、决策树的生成,决策树的剪枝。常见的决策树模型有ID3(信息增益)、C4.5(信息增益比)、CART算法等。...

zrh_优快云的博客 2555

Neo4j:入门基础(二)之导入CSV文件

导入CSV文件的方式  主要的两种方式如下:   1、使用 Cypher 命令LOAD CSV,这种方式可以处理中小型数据(可达10 million条记录)   2、使用批量导入工具neo4j-admin ,用来直接导入大数据集 三、上述方式具体导入过程   1、Cypher 命令LOAD CSV 参数 1、USING PERIODIC COMMIT 300 使用批量提交,每满300条提交一次,防止内存溢出 2、WITH HEADERS 从文件中读取第一行作为参数名,...

Puzzle的博客 3万+

【机器学习】决策树案例一:利用决策树进行年龄与音乐类型喜好分类预测

利用决策树进行年龄与音乐类型喜好分类预测1 利用决策树进行年龄与音乐类型喜好分类预测1.1 导入模块与加载数据1.2 划分数据1.3 模型创建与训练1.4 模型应用1.5 模型可视化1.6 数据核验 手动反爬虫,禁止转载:原博地址 https://blog.youkuaiyun.com/lys_828/article/details/122041951(优快云博主:Be_melting) 知识梳理不易,请尊重劳动成果,文章仅发布在优快云网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息 1 利用决策树

lys_828的博客 5613

RT-DETR的AIF模块+YOLOv8:融合注意力与特征交互,打造实时检测的科研级进阶方案

从理解AIF模块“细粒度注意力+跨尺度交互”的核心设计,到亲手将其嵌入YOLOv8并验证在复杂场景的表现,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解“注意力机制与CNN融合”在实时检测中的核心价值。现在就开始行动,相信你会在实时目标检测的“智能进化”之路上,走出一条属于自己的技术路径。从实验对比图可见,集成AIF模块的YOLOv8,其mAP(平均精度)在多个阈值下均有提升,尤其是mAP50-95(高IoU阈值下的精度)提升更为显著,充分证明了AIF对细粒度特征的捕捉能力。

m0_64661770的博客 187

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

决策树(一):分类树原理和python实现

决策树原理 决策树(decision tree)是机器学习中常用的一种分类和回归方法。决策树学习通常包含三个步骤:特征选择、决策树生成、决策树修剪。在本文中主要讨论分类决策树。 分类决策树的模型是一个树形结构,由结点(node)和有向边(directed edge)组成,其中结点又分为:内部结点和叶结点。内部结点表示一个特征(图中的黑色圆),而叶结点表示一个类(黑色方框)。 其中根结点包...

i96jie的博客 7359

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python之机器学习一:决策树之分类树(1)

决策树概述决策树的准备工作特征选择香农熵信息增益数据集的最佳切分方式按照给定列切分数据集递归构建决策树决策树的存储决策树分类效果 概述 决策树: 是有监督学习的一种算法,并且是一种基本的分类与回归的方法。 决策树分为分类树和回归树,本章主要是分类树。 决策树的准备工作 决策树的构建分为三个过程:特征选择、决策树的生成、决策树的剪枝 1 原理: 由根节点到叶节点构成一条规则,中间结点的特征对应着规则的条件,叶结点的特征(类标签)对应着结论。决策树路径互斥且完备,即每一个实例被有且仅有一条路径或规则覆盖(实例

weixin_43344103的博客 918

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

01_决策树案例一:鸢尾花数据分类

import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib as mpl import warnings from sklearn import tree #决策树 from sklearn.tree import DecisionTreeClassifier #分类树 from ...

lzay的博客 1644

决策树留一法python代码_从小白到大师:Get决策树的分类与回归分析

全文共2573字,预计学习时长10分钟或更长一个决策的做出,需要考虑一系列盘根错节的问题。图片来源:pexels.com决策树是一个通过特征学习决策规则,用于预测目标的监督机器学习模型。顾名思义,该模型通过提出一系列的问题将数据进行分解,从而做出决策。下图示例中用决策树决定某一天的活动:根据训练集的特征,决策树模型学习一系列问题来推断样本的类标签。从图中可以看出,如果可解读性是重要因素,决策树模型...

weixin_32973319的博客 220

【决策树深度探索(一)】从零搭建:机器学习的“智慧之树”——决策树分类算法!

本文介绍了决策树算法的核心原理与实现方法。决策树以其直观易懂的树形结构,在医疗诊断、金融风控等需要解释性的场景中具有独特优势。文章重点讲解了信息增益的计算方法,通过熵的概念衡量数据集的混乱程度,选择能带来最大信息增益的特征进行划分。作者提供了完整的Python实现代码,包括计算熵、信息增益和构建决策树的递归过程,并以经典的"是否打网球"数据集为例进行演示。该实现展示了如何从零开始构建一个基于信息增益的决策树分类器,为读者理解这一重要机器学习算法提供了实践参考。

wudu_123456的博客 691

机器学习实战之分类篇 一 决策树(高级应用:配镜大师)

问题描述: 隐形眼镜数据集是非常著名的数据集,它包含很多换着眼部状态的观察条件以及医生推荐的隐形眼镜类型。隐形眼镜类型包括硬材质(hard)、软材质(soft)以及不适合佩戴隐形眼镜(no lenses)。数据来源与UCI数据库(dTree目录下存在着info.txt文件记录着24份历史记录)。数据的Labels依次是age、prescript、astigmatic、tearRat...

qq_37172182的博客 1311

机器学习实战——第三章(分类):决策树算法与实例(一)

前言 今天看了会《机器学习实战》第三章:决策树,很迷,似懂非懂,专业术语太多了,而且有点混乱,对于一个大一概率论没学好的学渣来说,如今大三的我看到那些概率公式和一些概率论专业术语就头疼,马上就打了退堂鼓,早起看了半个小时没看明白果断又躺回了床上。直到我看到了这篇博文。 首先感谢博主:Jack-Cui 主页:http://blog.youkuaiyun.com/c406495762 决策树博文地址:https://blog.youkuaiyun.com/c406495762/article/details/75663451 这篇博文

摆正心态 1614

sklearn 决策树可视化

sklearn 决策树可视化 标签: sklearn 这里以iris分类问题为例子,主要分为三步,分别为得到模型,得到默认的树结构,导出为图片或者pdf。 得到决策树模型 这个就是普通决策树例子,直接用skleran中的决策树分类器,然后喂入数据即可。 from sklearn.datasets import load_iris from sklearn import tree iris = l...

CoderWangSon 2342

机器学习之决策树

决策树的定义 决策树:一种对实例进行分类的树形结构,通过多层判断区分目标所属类别 本质:通过多层判断,从训练数据集中归纳出一组分类规则 优点: 计算量小,运算速度快 易于理解,可清晰查看各属性的重要性 缺点: 忽略属性间的相关性 样本类别分布不均匀时,容易影响模型表现 信息熵 信息熵(entropy):是度量随机变量不确定性地指标,熵越大,变量地不确定性就越大。假定当前样本集合D中第k类样本所占的比例为pk,则D的信息熵为: 目标:划分后样本分布不确定性尽可能小,即划分后信息熵小,信息增益大 决

samuelzhoudev的博客 227

回顾分类决策树相关知识并利用python实现

决策树(Decision Tree)是一种基本的分类与回归方法,呈树形结构,在分类问题中,表示预计特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。

qq_45856698的博客 3367

决策树

       决策树是一种基本的分类和回归方法,作为分类的决策树对于训练数据会产生一颗树。决策树同数据结构中的树形结构一致,都是由边和节点构成的,节点之间是由边相连的,每个节点是由叶子和非叶子节点构成的,多个节点连到一起就构成了树。决策树是以训练数据为基础,对训练数据进行归纳和分析,得到了一颗以特征词为节点的多叉树。在树中,采用了自顶向下的构建方法构建决策树,依据属性值的不同选择不同的分支路径,并...

shushi6969的博客 448
上一篇: 朴素贝叶斯法
下一篇: 决策树(二):回归树和模型树
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值