数据挖掘题目:根据规则模板和信息表找出R中的所有强关联规则,基于信息增益、利用判定树进行归纳分类,计算信息熵的代码
一、(30分)设最小支持度阈值为0.2500, 最小置信度为0.6500。对于下面的规则模板和信息表找出R中的所有强关联规则:
S∈R,P(S,x )∧ Q(S,y )==> Gpa(S,w ) [ s, c ]
其中,P,Q ∈{ Major, Status ,Age }.
| Major | Status | Age | Gpa | Count |
|---|---|---|---|---|
| Arts | Graduate | Old | Good | 50 |
| Arts | Graduate | Old | Excellent | 150 |
| Arts | Undergraduate | Young | Good | 150 |
| Appl_ | science | Undergraduate | Young | Excellent |
| Science | Undergraduate | Young | Good | 100 |
解答:
样本总数为500,最小支持数为500*0.25 = 125。
在Gpa取不同值的情形下,分别讨论。
(1)Gpa = Good,
| Major | Status | Age | Count |
|---|---|---|---|
| Arts | Graduate | Old | 50 |
| Arts | Undergraduate | Young | 150 |
| Science | Undergraduate | Young | 100 |
频繁1项集L1 = {Major= Arts:200; Status=Undergraduate: 250; Age = Young:250} -----10分
频繁2项集的待选集C2={Major= Arts,Status= Undergraduate:150; Major= Arts,Age=Young:150;Status=Undergraduate, Age=Young:250 }
频繁2项集L2=C2
(2) Gpa = Excellent
| Major | Status | Age | Count |
|---|---|---|---|
| Arts | Graduate | Old | 150 |
| Appl_science | Undergraduate | Young | 50 |
频繁1项集L1 = {Major= Arts:150; Status=Graduate: 150; Age = Old:250}
频繁2项集的待选集C2={Major= Arts,Status= Graduate:150; Major= Arts,Age=Old:150;Status=Graduate, Age=Old:150 }
频繁2项集L2=C2
考察置信度:
Major(S,Arts)^Status(S,Undergraduate)=>Gpa(S,Good) [s=150/500=0.3000, c=150/150=1.0000]
Major(S, Arts)^Age(S,Young)=>Gpa(S, Good)[s=150/500=0.3000, c=150/150=1.0000]
Status(S,Undergraduate)^Age(S,Young)=>Gpa(S,Good) [s=250/500=0.5000, c=250/300=0.8333]
Major(S, Arts)^Status(S,Graduate)=>Gpa(S, Excellent)[s=150/500=0.3000, c=150/200=0.7500]
Major(S, Arts)^Age(S,Old)=>Gpa(S, Excellent)[s=150/500=0.3000, c=150/200=0.7500]
Status(S,Graduate)^Age(S,Old)=>Gpa(S,Excellent) [s=150/500=0.3000, c=150/200=0.7500]
因此,所有强关联规则是:
Major(S,Arts)^Status(S,Undergraduate)=>Gpa(S,Good) [s=150/500=0.3000, c=150/150=1.0000]
Major(S, Arts)^Age(S,Young)=>Gpa(S, Good)[s=150/500=0.3000, c=150/150=1.0000]
Status(S,Undergraduate)^Age(S,Young)=>Gpa(S,Good) [s=250/500=0.5000, c=250/300=0.8333]
Major(S, Arts)^Status(S,Graduate)=>Gpa(S, Excellent)[s=150/500=0.3000, c=150/200=0.7500]
Major(S, Arts)^Age(S,Old)=>Gpa(S, Excellent)[s=150/500=0.3000, c=150/200=0.7500]
Status(S,Graduate)^Age(S,Old)=>Gpa(S,Excellent) [s=150/500=0.3000, c=150/200=0.7500]
二、(30分)设类标号属性 Gpa 有两个不同的值( 即{ Good, Excellent } ), 基于信息增益,利用判定树进行归纳分类。
解答:
定义P: Gpa = Good
N: Gpa = Excellent
任何分割进行前,样本集的熵为:
| p | n | I(p,n) |
|---|---|---|
| 300 | 200 | 0.97095 |
I(p,n)=-0.6log2(0.6) –0.4log2(0.4)
= 0.97095
考虑按属性Major分割后的样本的熵
| Major | pi | ni | I(pi,ni) |
|---|---|---|---|
| Arts | 200 | 150 | 0.98523 |
| Appl_science | 0 | 50 | 0 |
| Science | 100 | 0 | 0 |
E(Major) = 350/500*0.98523 = 0.68966
I(p,n)=-(4/7)log2(4/7) –(3/7)log2(3/7) =0.98523
考虑按属性Status分割后的样本的熵
| Status | pi | ni | I(pi,ni) |
|---|---|---|---|
| Graduate | 50 | 150 | 0.81128 |
| Undergraduate | 250 | 50 | 0.65002 |
E(Status) = 200/5000.81128+300/5000.65002 = 0.71452
考虑按属性Age分割后的样本的熵
| Age | pi | ni | I(pi,ni) |
|---|---|---|---|
| Old | 50 | 150 | 0.81128 |
| Young | 250 | 50 | 0.65002 |
E(Age) = E(Status) = 0.71452
各属性的信息增益如下:
Gain(Major) =0.97095-0.68966 = 0.28129
Gain(Status) =Gain(Age) =0.97095-0.71452 = 0.25643
比较后,由于Gain(Major)的值最大,按照最大信息增益原则,按照属性Major的不同取值进行第一次分割.
分割后,按照Major的不同取值,得到下面的3个表:
(1)Major = Arts
| Status | Age | Gpa | Count |
|---|---|---|---|
| Graduate | Old | Good | 50 |
| Graduate | Old | Excellent | 150 |
| Undergraduate | Young | Good | 150 |
考虑按属性Status分割后的样本的熵
| Status | pi | ni | I(pi,ni) |
|---|---|---|---|
| Graduate | 50 | 150 | 0.81128 |
| Undergraduate | 150 | 0 | 0 |
E(Status) = 200/350*0.81128= 0.46359
考虑按属性Age分割后的样本的熵
| Status | pi | ni | I(pi,ni) |
|---|---|---|---|
| Old | 50 | 150 | 0.81128 |
| Young | 150 | 0 | 0 |
E(Age) = E(Status)= 0.46359
由于E(Age) = E(Status),可按照属性Status的不同取值进行第二次分割。分割后,按照Status的不同取值,得到下面的2个表:
(1.1) Status =Graduate
| Age | Gpa | Count |
|---|---|---|
| Old | Good | 50 |
| Old | Excellent | 150 |
由于表中属性Age的取值没有变化,停止分割。按照多数投票原则,该分支可被判定为Gpa=Excellent。
(1.2)Status = Undergraduate
| Status | Age | Gpa | Count |
|---|---|---|---|
| Undergraduate | Young | Good | 150 |
在这种情形下,所有样本的Gpa属性值都相同.停止分割.
(2)Major= Appl_Science
| Status | Age | Gpa | Count |
|---|---|---|---|
| Undergraduate | Young | Excellent | 50 |
在这种情形下,所有样本的Gpa属性值都相同.停止分割.
(3)Major=Science
| Status | Age | Gpa | Count |
|---|---|---|---|
| Undergraduate | Young | Good | 100 |
在这种情形下,所有样本的Gpa属性值都相同.停止分割.
综合以上分析,有以下的判定树:
Major--------- Arts ----------Status-------Graduate ------Excellent
\ ______Undergraduate______Good
_______Appl_Science_______________________Excellent
__________Science______________________Good
小 tricks
计算信息熵的代码
import mathdef entropy(probabilities):total = sum(probabilities)probabilities= [p / total for p in probabilities]entropy = 0for p in probabilities:if p > 0:entropy -= p * math.log2(p)return entropyprobabilities = [100,100,150]#计算100 100 150的信息熵result = entropy(probabilities)
print("信息熵:", result)
相关文章:
数据挖掘题目:根据规则模板和信息表找出R中的所有强关联规则,基于信息增益、利用判定树进行归纳分类,计算信息熵的代码
一、(30分)设最小支持度阈值为0.2500, 最小置信度为0.6500。对于下面的规则模板和信息表找出R中的所有强关联规则: S∈R,P(S,x )∧ Q(S,y )> Gpa…...
Reshape.XL 1.2 for Excel插件 Crack
特征 插件 Reshape.XL 包括 130 个基本可组合功能。使用它们,您可以快速轻松地进行非常复杂的数据转换和处理。它们的架构和基本定义受到 SQL 和 R 语言的强烈启发。 到目前为止,类似的功能只能通过脚本语言供程序员使用。借助 Reshape.XL 插件…...
开发知识点-PHP从小白到拍簧片
从小白到拍簧片 位异或运算(^ )引用符号(&)strlen() 函数base64_encode预定义 $_POST 变量session_start($array);操作符php 命令set_time_limit(7200)isset()PHP 命名空间(namespace)new 实例化类extends 继承 一个类使用另一个类方法error_reporti…...
飞书开发学习笔记(二)-云文档简单开发练习
飞书开发学习笔记(二)-云文档简单开发练习 一.云文档飞书开发环境API 首先还是进入开放平台 飞书开放平台:https://open.feishu.cn/app?langzh-CN 云文档相关API都在“云文档”目录中,之下又有"云空间",“文档”,“电子表格”&a…...
设计模式——命令模式(Command Pattern)+ Spring相关源码
文章目录 一、命令模式定义二、例子2.1 菜鸟教程例子2.1.1 定义命令类接口2.1.2 定义命令执行者2.1.3 被处理对象Stock。2.1.4 封装处理Stock的命令 2.2 JDK源码——Runnable2.2.1 命令接口2.2.2 命令处理者2.2.3 命令实现类 2.3 SpringMVC——Controller2.3.1 请求对象 handle…...
[开源]企业级在线办公系统,基于实时音视频完成在线视频会议功能
一、开源项目简介 企业级在线办公系统 本项目使用了SpringBootMybatisSpringMVC框架,技术功能点应用了WebSocket、Redis、Activiti7工作流引擎, 基于TRTC腾讯实时音视频完成在线视频会议功能。 二、开源协议 使用GPL-3.0开源协议 三、界面展示 部分…...
Scala语言用Selenium库写一个爬虫模版
首先,我将使用Scala编写一个使用Selenium库下载yuanfudao内容的下载器程序。 然后我们需要在项目的build.sbt文件中添加selenium的依赖项。以下是添加Selenium依赖项的代码: libraryDependencies "org.openqa.selenium" % "selenium-ja…...
ZZ038 物联网应用与服务赛题第I套
2023年全国职业院校技能大赛 中职组 物联网应用与服务 任 务 书 (I卷) 赛位号:______________ 竞赛须知 一、注意事项 1.检查硬件设备、电脑设备是否正常。检查竞赛所需的各项设备、软件和竞赛材料等; 2.竞赛任务中所使用的各类软件工…...
ClickHouse 学习之基础入门(一)
第 1 章 ClickHouse 入 门 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C 语言编写,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。 …...
HttpClient基本使用
十二、HttpClient 12.1 介绍 HttpClient是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。 HttpClient作用: 发送HTTP请求接收响应数据 …...
力扣:150. 逆波兰表达式求值(Python3)
题目: 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 、-、* 和 / 。每个操作数(运算对象)都可以是一个整数或者另一…...
Tomcat运行日志乱码问题/项目用tomcat启动时窗口日志乱码
文章目录 一、问题描述:二、产生原因三、解决方法 一、问题描述: 项目在idea中运行时日志是正常的,用Tomcat启动时发现一大堆看不懂的文字,如 二、产生原因 产生乱码的根本原因就是编码和解码不一致,举个例子就是翻…...
Leetcode—199.二叉树的右视图【中等】
2023每日刷题(十九) Leetcode—199.二叉树的右视图 深度优先遍历实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(…...
微信小程序如何跳转到外部小程序
要在微信小程序中跳转到外部小程序,您可以使用微信小程序提供的 wx.navigateToMiniProgram 方法。以下是实现步骤: 在需要跳转的页面或组件中,编写触发跳转的逻辑,例如点击按钮: 替换 外部小程序的AppID 和 外部小程序…...
ElasticSearch集群环境搭建
1、准备三台服务器 这里准备三台服务器如下: IP地址主机名节点名192.168.225.65linux1node-1192.168.225.66linux2node-2192.168.225.67linux3node-3 2、准备elasticsearch安装环境 (1)编辑/etc/hosts(三台服务器都执行) vim /etc/hosts 添加如下内…...
[架构之路-250/创业之路-81]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 企业内的数据与数据库
目录 一、数据概述 1.1 数据 1.2 企业信息系统的数据 1.3 大数据 1.4 数据与程序的分离思想 1.5 数据与程序的分离做法 1.6 数据库的基本概念 1.7 企业数据来源 1.8 企业数据架构 二、常见的数据库类型 2.1 数据库分类 2.1 数据库类型 2.2 常见的数据库类型、应用…...
delaunay和voronoi图 人脸三角剖分
先获取人脸68个特征点坐标,其中使用了官方的预训练模型shape_predictor_68_face_landmarks.dat: import dlib import cv2predictor_path "shape_predictor_68_face_landmarks.dat" png_path "face.jpg"txt_path "points.tx…...
MySQL数据库之表的增删查改
目录 表的操作1.创建表创建表案例 2.查看表结构3.修改表4.删除表 表的操作 1.创建表 语法: CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明: field 表示列…...
(论文阅读11/100)Fast R-CNN
文献阅读笔记 简介 题目 Fast R-CNN 作者 Ross Girshick 原文链接 https://arxiv.org/pdf/1504.08083.pdf 目标检测系列——开山之作RCNN原理详解-CSDN博客 Fast R-CNN讲解_fast rcnn-CSDN博客 Rcnn、FastRcnn、FasterRcnn理论合集_rcnn fastrcnn fasterrcnn_沫念的博客…...
Git 标签(Tag)实战:打标签和删除标签的步骤指南
目录 前言使用 Git 打本地和远程标签(Tag)删除本地和远程 Git 标签(Tag)开源项目标签(Tag)实战打标签删除标签 结语开源微服务商城项目前后端分离项目 前言 在开源项目中,版本控制是至关重要的…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
