数据挖掘--决策树ID3算法(例题)

article/2025/10/15 2:22:06

决策树分类算法

决策树分类算法通常分为两个步骤:决策树生成和决策树修剪。

决策树生成算法的输入参数是一组带有类别标记的样本,输出是构造一颗决策树,该树可以是一棵二叉树或多叉树。二叉树的内部结点(非叶子结点)一般表示为一个逻辑判断,构造决策树的方法是采用自上而下的递归方法。

首先要先知道熵和信息增益怎么求。
案例:
四种不同的影响因素,一个结果(yes/no)

下面式子为训练样本集的熵
在这里插入图片描述
分割线----------------------------------------------------------------------------
在这里插入图片描述
考虑第一种因素:outlook
(当outlook都是overcast时,4个都是yes)
在这里插入图片描述
(当outlook为rainy时,5个中有3个yes,2个no)
在这里插入图片描述
(当outlook为sunny时,5个中有3个no,2个yes)
在这里插入图片描述

第一种因素outlook对应的信息增益为:
在这里插入图片描述
在这里插入图片描述
第二、三、四种因素对应的信息增益为:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

样本的概率分布越均衡,它的信息量(熵)就越大,样本集的混杂程度也越高。
信息增益越大,说明属性对分类提供的信息越多。

分割线----------------------------------------------------------------------------

ID3算法
案例:
在这里插入图片描述

在这里插入图片描述
分割线----------------------------------------------------------------------------

在这里插入图片描述
第一种因素的熵
在这里插入图片描述
分割线----------------------------------------------------------------------------
在这里插入图片描述
第二种因素的熵
在这里插入图片描述
分割线----------------------------------------------------------------------------
在这里插入图片描述
第三种因素的熵:
在这里插入图片描述
分割线----------------------------------------------------------------------------
在这里插入图片描述
第四种因素的熵:
在这里插入图片描述
分割线----------------------------------------------------------------------------

最后选择信息增益最大的作为根节点:outlook
接着对outlook下的三种因素计算重复以上的运算:
Entropy(outlook),Entropy(outlook,overcast),Entropy(outlook,rainy),Entropy(outlook,sunny)
接着求信息增益:
发现在overcast时,humidity的信息增益最大,所以选择humidity作为叶节点。
发现在rain时,windy的信息增益最大,选择windy作为叶节点。
最后得到下面的结果。
在这里插入图片描述

下面的这个案例更加清楚:
在这里插入图片描述
求得age的信息增益最大,然后作为根节点,得到下图
在这里插入图片描述
然后对age分类下的三种情况,分别求对应的信息增益:
因为在30-40之间只有yes,所以不需要计算
在<30情况下,计算信息增益,发现student的信息增益最大,则将student设为节点;
在>40情况下,发现credit rating的信息增益最大,则设它为节点。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/4yYTydAk.shtml

相关文章

决策树算法原理+例题练习

一、决策树的优缺点 优点&#xff1a;计算复杂度不高&#xff0c;输出结果易于理解&#xff0c;对中间值的缺失值不敏感&#xff0c;可以处理不相关特征数据。缺点&#xff1a;可能会产生过度匹配的问题。使用数据类型&#xff1a;数值型和标称型。 二、一个实例 一天&#…

高级管理学:计算题

题1&#xff1a;决策树和期望值 某企业拟开发新产品&#xff0c;现在有两个可行性方案需要决策。 方案一&#xff1a;开发新产品 A&#xff0c;需要追加投资 180 万元&#xff0c;经营期限为 5 年。此间&#xff0c;产品销路好每年可获利 170 万元&#xff1b;销路一般每年可获…

Nikto漏洞扫描工具简介

nikto漏洞扫描工具在我的靶场上测试报告如下&#xff1a; 测试时间会很长&#xff0c;我是在虚拟环境下做的&#xff0c;给的配置不高&#xff0c;吃尽CPU&#xff0c;最后不得不强制关闭虚拟机&#xff0c;通过-o参数将结果输出到文档中。 结果显示&#xff1a; 一些黑客比较感…

wed渗透:记录kali系统下扫描工具nikto的使用

目录 前言1 工具介绍2 使用场景3 使用方法3.1 查看帮助信息3.2 Nikto插件3.3 扫描3.3.1 常规扫描3.3.2 指定端口扫描3.3.3 指定协议扫描3.3.4 指定目录扫描3.3.5 多目标扫描3.3.6 配合namp利用管道输入扫描3.3.7 利用代理扫描 3.4 Nikto扫描过程中的交互参数3.5 修改nikto配置文…

Nikto安装及使用

系统要求如下&#xff08;我自己使用的是linux&#xff0c;其它两个没有研究&#xff09;&#xff1a; 一、安装软件 第一步准备两个软件&#xff0c;如下&#xff1a; 1、nikto-master.zip&#xff08;官网下载地址&#xff1a;https://cirt.net/nikto2&#xff09; 2、libw…

Nikto详细使用教程

Nikto简介 基于perl语言开发的web页面扫描器。其特点扫描全面&#xff0c;速度快。 nikto常用命令 -upodate 升级&#xff0c;更新插件 -host 扫描目标URl -id username:password http认证接口 -list-plugins …

使用Nikto扫描网站漏洞

Nikto简介 Nikto是一个简单的开源Web服务器扫描程序&#xff0c;可以检查网站并报告它发现的可能用于利用或破解网站的漏洞。此外&#xff0c;它是业界使用最广泛的网站漏洞工具之一&#xff0c;并且在许多圈子中被认为是行业标准。 虽然这个工具非常有效&#xff0c;但它根本…

Kali工具库之Nikto

工具简介 Nikto是一个开源的WEB扫描评估软件&#xff0c;可以对Web服务器进行多项安全测试&#xff0c;能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。 链…

Nikto 网页服务器扫描器

一、Nikto介绍 Nikto是一款开源的&#xff08;GPL&#xff09;网页服务器扫描器&#xff0c;它可以对网页服务器进行全面的多种扫描&#xff0c;包含超过3300种有潜在危险的文件CGIs&#xff1b;超过625种服务器版本&#xff1b;超过230种特定服务器问题。扫描项和插件可以自动…

nmap和nikto扫描

先通过本机的VMware启动Kali攻击机和Metasploitable2靶机 端口扫描 使用 ip addr 或者 ifconfig 先看一下靶机的ip地址 在Kali里面使用 nmap IP 先用默认的方式对靶机进行扫描 事实上nmap的默认扫描方式就是 -sS 也就是SYN扫描&#xff0c;这种扫描方式基于TCP三次握手的前两…

4 | Nikto使用

目录 1 Nikto简介2 部署2.1 下载地址 3 操作参数4 具体使用4.1 扫描单个地址4.2 详细输出4.3 扫描多个地址4.4 使用代理进行扫描4.5 使用LibWhisker绕过IDS的检测&#xff08;10个参数 1-8、A、B&#xff09; 1 Nikto简介 发现Web服务器配置错误、插件和Web漏洞&#xff0c;支…

Nikto 扫描

0x00:简介 nikto 是一款用来发现 web 应用程序漏洞的一个工具,扫描的内容大概包括服务器软件的版本,比较版本是否为最新,现版本和最新版的差以及这个版本可能存在的漏洞。会搜索一些存在隐患的文件,例如测试文件,或者是网站备份文件等。也会去扫描服务器的配置漏洞,有没…

Nikto:从零开始到专业版的完整教程

文章目录 [TOC](文章目录) 介绍一、什么是Nikto&#xff1f;二、Nikto工具中的功能Nikto工具中的命令有如何使用Nikto工具&#xff1f;1.安装Nikto2.标准扫描3.对目标SSl或TLS扫描4.扫描特定/多个端口5.忽略某些HTTP代码在这里插入图片描述 结论&#xff1a; 介绍 在这篇文章中…

网络安全——Nikto的使用

一、什么是Nikto Perl&#xff1a;Perl语言是一种解释型的脚本语言。Perl语言由Larry wall于1986年开发成功。当初的目的主要是在Unix环境下&#xff0c;用于处理面向系统任务而设计的脚本编程语言。Perl对文件和字符有很强的处理、变换能力&#xff0c;它特别适用于有关系统管…

Web漏洞扫描神器Nikto使用指南

文章目录 工具简介工具下载链接nikto安装nikto基础语句指定端口进行扫描指定目录进行扫描多目标扫描其他功能扫描结果输出Nikto扫描交互参数IDS 躲避使用代理扫描 后言 工具简介 Nikto是一款开源的&#xff08;GPL&#xff09;网页服务器扫描器&#xff0c;它可以对网页服务器…

pageoffice

激活失败&#xff0c;重新激活 输入序列号没有激活&#xff0c;提示当前PageOffice需要获取更高版本的授权才能正常运行 想要重新激活&#xff0c;要删除项目中WEB-INF下的lib中的license.lic文件&#xff0c;才能重新输入序列号 删除以后&#xff0c;出现激活窗口 注意&am…

clientX、pageX、offsetX、screenX、offsetWidth、clientWidth等

文章目录 1、clientX 、clientY2、pageX、pageY注意&#xff1a; clientX和pageX的区别3、offsetX、offsetY4、screenX、screenY5、offsetWidth、offsetHeight 、offsetLeft、offsetTop6、clientWidth、clientHeight、clientLeft、clientTop总结 1、clientX 、clientY documen…

图解鼠标事件的 ScreenX ,LayerX,clientX,PageX,offsetX,X

前言&#xff1a; 完在上一篇文章 &#x1f381;如何实现原生 JS 的拖拽效果我中使用到了 MouseEvent 事件对象身上的 clienX 的属性&#xff0c;但同时我也注意到了事件对象身上关于 X 的相关属性还有很多&#xff0c;并且在移动端开发中&#xff0c;这些属性需要频繁的用到&a…

pageX,clientX,offsetLeft,scrollLeft的区别

pageX,clientX,offsetLeft,scrollLeft的区别 1、pageX / pageY pageX / pageY的值为鼠标相对于document的距离&#xff0c;即网页左上角的位置 2、clientX / clientY clientX / clientY的值为鼠标相对于浏览器可视区域左上角的距离 3、offsetLeft / offsetTop offsetLeft …

详细区分offsetX,clientX,pageX,screenX,layerX和X的区别

详细区分DOM事件中鼠标指针的坐标问题 前面博客中我们讲解到了DOM事件的event对象&#xff0c;里边包含了鼠标事件的指针坐标属性。比如event.offsetX,event.clientX,event.pageX,event.screenX等等。现在我们来解析一下这些坐标属性的区别。 HTML代码&#xff1a; <div c…