数据分析系列--④RapidMiner进行关联分析(案例)
一、核心概念
1.1项集(Itemset)
1.2规则(Rule)
1.3支持度(Support)
1.3.1 支持度的定义
1.3.2 支持度的意义
1.3.3 支持度的应用
1.3.4 支持度的示例
1.3.5 支持度的调整
1.3.6 支持度与其他指标的关系
1.4置信度(Confidence)
1.5提升度(Lift)
1.5.1Lift说明
1.5.2提升度的意义
1.5.3提升度的计算示例
1.5.4提升度的应用
1.5.5. 提升度与其他指标的关系
1.5.6在 RapidMiner 中使用提升度
2.关联分析的目标
二、关联分析实践
1.表Attributes说明
2.修改数据预处理相关参数
2.1 复制之前的流程并修改名字
2.2 修改预处理中的相关参数
2.3 进行关联分析
2.4 结论
3.收尾工作
关联分析说明:
关联分析(Association Analysis) 是一种用于发现数据集中项与项之间关系的技术。它通常用于帮助商家识别顾客购买行为中的规律,例如“购买商品 A 的顾客也倾向于购买商品 B”。
举两个小列子,比如在超市购物,相关联的物品会摆在靠近的位置,比如卖牙膏的附近会有牙刷,卖咖啡的地方通常会有咖啡伴侣,炼乳等;又比如你在购物APP中买了东西,比如一个新手机,最近一段时间它就会给你推荐手机膜,手机壳等等.当然结论是推荐算法给出的,但推荐算法依赖的数据是通过类似于关联分析得到的结果.
在关联分析中一些重要的核心概念说明:
一、核心概念
1.1项集(Itemset)
一组项的集合,例如 {牛奶, 面包}、{牙膏,牙刷}、{咖啡,咖啡伴侣},{手机,手机周边材料}。
1.2规则(Rule)
形如 {A} → {B}
的关联规则,表示“如果购买了 A,则可能购买 B”。
1.3支持度(Support)
项集或规则在数据集中出现的频率。例如,{牛奶, 面包}
的支持度为 30%,表示 30% 的交易中同时包含牛奶和面包。
1.3.1 支持度的定义
支持度表示某个项集或规则在数据集中出现的比例。它的计算公式如下:
-
项集的支持度:
例如,项集 {牛奶, 面包} 的支持度为 30%,表示在所有交易中,30% 的交易同时包含牛奶和面包。
-
规则的支持度:
例如,规则 {牛奶} → {面包} 的支持度为 25%,表示在所有交易中,25% 的交易同时包含牛奶和面包。
1.3.2 支持度的意义
-
衡量频率:
支持度反映了项集或规则在数据集中出现的普遍性。支持度越高,说明该模式在数据中越常见。 -
过滤不重要项:
通过设置最小支持度阈值(如 0.1),可以过滤掉低频的项集或规则,减少计算量并聚焦于有意义的模式。
1.3.3 支持度的应用
①发现频繁项集:在关联分析中,首先需要找到所有满足最小支持度阈值的频繁项集。例如,如果最小支持度为 0.2,则只有支持度 ≥ 20% 的项集会被保留。
②生成关联规则:基于频繁项集生成关联规则时,规则的支持度必须满足最小支持度阈值。例如,规则 {牛奶} → {面包} 的支持度为 25%,如果最小支持度为 0.2,则该规则会被保留。
1.3.4 支持度的示例
假设有以下交易数据:
交易ID | 商品 |
---|---|
1 | 牛奶, 面包 |
2 | 牛奶, 尿布 |
3 | 牛奶, 面包, 啤酒 |
4 | 面包, 啤酒 |
5 | 牛奶, 面包 |
-
计算项集 {牛奶, 面包} 的支持度:
-
包含 {牛奶, 面包} 的交易:交易 1、3、5。
-
总交易数:5。
-
支持度 = 3 / 5 = 0.6(即 60%)。
-
-
计算规则 {牛奶} → {面包} 的支持度:
-
同时包含 {牛奶} 和 {面包} 的交易:交易 1、3、5。
-
总交易数:5。
-
支持度 = 3 / 5 = 0.6(即 60%)。
-
1.3.5 支持度的调整
-
最小支持度阈值:
-
设置过高的阈值可能会漏掉一些有意义的低频模式。
-
设置过低的阈值可能会产生大量无意义的规则。
-
通常需要根据数据规模和业务需求进行调整。
-
1.3.6 支持度与其他指标的关系
-
置信度(Confidence):
-
置信度衡量规则的可靠性,计算公式为:
-
支持度是置信度计算的基础。
-
-
提升度(Lift):
-
提升度衡量规则的相关性,计算公式为:
-
支持度也是提升度计算的基础。
-
1.4置信度(Confidence)
规则的可靠性。例如,规则 {牛奶} → {面包}
的置信度为 80%,表示在购买牛奶的交易中,80% 也购买了面包。
1.5提升度(Lift)
衡量规则的相关性。提升度 > 1 表示正相关,< 1 表示负相关。用于评估两个事件之间的关联强度,以及一个事件的发生对另一个事件发生的概率的影响.比如该用户长时间不购买牛奶会不会影响其购买面包等.
1.5.1Lift说明
提升度(Lift)表示在给定条件下(例如,事件A发生的情况下),事件B发生的概率与不考虑该条件时事件B发生的概率之比。其数学公式为:
其中:
- P(A∩B) 表示事件A和事件B同时发生的概率。
- P(A) 表示事件A发生的概率。
- P(B) 表示事件B发生的概率。
提升度衡量的是规则 {A} → {B}
的相关性,具体定义为:
1.5.2提升度的意义
-
Lift = 1:
-
表示 A 和 B 是独立的,两者之间没有相关性。
-
-
Lift > 1:
-
表示 A 和 B 是正相关的,A 的出现会提高 B 出现的概率。
-
例如,Lift = 2 表示在 A 出现的情况下,B 出现的概率是原本的 2 倍。
-
-
Lift < 1:
-
表示 A 和 B 是负相关的,A 的出现会降低 B 出现的概率。
-
1.5.3提升度的计算示例
假设有以下交易数据:
交易ID | 商品A | 商品B |
---|---|---|
1 | 是 | 是 |
2 | 是 | 否 |
3 | 否 | 是 |
4 | 否 | 否 |
-
Support(A):商品 A 出现的频率 = 2/4 = 0.5
-
Support(B):商品 B 出现的频率 = 2/4 = 0.5
-
Support(A ∪ B):商品 A 和 B 同时出现的频率 = 1/4 = 0.25
计算提升度:
1.5.4提升度的应用
①评估规则的有效性:提升度 > 1 的规则通常更有意义,表明 A 和 B 之间存在正相关。
②优化营销策略:例如,如果 {牛奶} → {面包}
的提升度为 2,可以在牛奶附近摆放面包,促进销售。
③过滤无效规则:提升度接近 1 的规则可能没有实际意义,可以忽略。
1.5.5. 提升度与其他指标的关系
-
支持度(Support):
-
衡量规则在数据中的普遍性。
-
-
置信度(Confidence):
-
衡量规则的可靠性。
-
-
提升度(Lift):
-
衡量规则的相关性。
-
1.5.6在 RapidMiner 中使用提升度
①使用 FP-Growth
算子生成频繁项集。
②使用 Create Association Rules
算子生成规则,并设置最小提升度阈值。
③在结果中查看每条规则的提升度,筛选出有意义的规则。
2.关联分析的目标
“购买商品 A 的顾客也倾向于购买商品 B”,支持这个目标的项集(Itemset)、规则(Rule)、支持度(Support)、置信度(Confidence)、提升度(Lift)分别是什么,是否靠谱。
二、关联分析实践
说明:数据预处理部分参照 数据分析系列--③RapidMiner算子说明及数据预处理中的步骤,只是将数据表改为AssociationAnalysisData.xlsx .
1.表Attributes说明
表属性数据说明 | |
Elapsed_Time | : 每个调查对象完成调查所用的时间。精确到0.01分钟。 |
Time_in_Community | : 用于询问调查对象在该社区的居住时间是0-2年、3-9年,还是10年以上,并在数据集中分别记录为“Short”、“Medium”或“Long”。 |
Gender | : 调查对象性别。 |
Working | : 调查对象是否从事有薪工作,结果为yes/no。 |
Age | : 调查对象年龄。 |
Family | : 调查对象是否结婚,结果为yes/no。 |
Hobbies | : 调查对象是否参与兴趣爱好协会,结果为yes/no。 |
Social_Club | : 调查对象是否参与社会组织,结果为yes/no。 |
Political | : 调查对象是否参与政治组织,结果为yes/no。 Professional: 调查对象是否参与专业组织,结果为yes/no。 |
Religious | : 调查对象是否参与教会组织,结果为yes/no。 |
Support_Group | : 调查对象是否参与援助导向型组织,结果为yes/no。 |
2.修改数据预处理相关参数
2.1 复制之前的流程并修改名字
2.2 修改预处理中的相关参数
ctrl + s保存
2.3 进行关联分析
观察数据:
引入Numerical to Binominal算子将0和1的数据转化为false和true便于后续分析:
引入 FP-Growth找到频繁项集(概念在前面):
我的理解是一组经常同时出现的项的集合,面包+牛奶++++等等等.
结论:是否结婚与是否参加社交俱乐部及是否参加政治组织可能存在关联.
产生关联规则,使用算子Create Association Rules
2.4 结论
3.收尾工作
Ending, congratulations, you're done.
相关文章:
数据分析系列--④RapidMiner进行关联分析(案例)
一、核心概念 1.1项集(Itemset) 1.2规则(Rule) 1.3支持度(Support) 1.3.1 支持度的定义 1.3.2 支持度的意义 1.3.3 支持度的应用 1.3.4 支持度的示例 1.3.5 支持度的调整 1.3.6 支持度与其他指标的…...
深度学习:基于MindNLP的RAG应用开发
什么是RAG? RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合检索(Retrieval)和生成(Generation)的技术,旨在提升大语言模型(LLM)生…...
Hive安装教程
Hive安装教程 文章目录 Hive安装教程写在前面安装下载安装部署安装Hive启动并使用Hive MySQL安装检查当前系统是否安装过MySQL安装初始化数据库 Hive元数据配置到MySQL拷贝驱动配置Metastore到MySQL再次启动Hive 写在前面 Linux版本:CentOS7.5Hive版本:…...
安卓逆向之脱壳-认识一下动态加载 双亲委派(二)
一:动态加载与双亲委派模型 在 Java 和 Android 中,ClassLoader 是一个非常重要的组件,负责将 .class 文件或 .dex 文件的字节码加载到内存中,供程序使用。在这其中,有两种关键的概念需要深入理解:动态加载…...
全程Kali linux---CTFshow misc入门(14-24)
第十四题: dd命令:dd是一个用于复制和转换数据的命令,它可以对文件、设备等进行操作,在数据备份、转换格式等场景经常使用。 ifmisc14.jpg:if表示 “input file”(输入文件),这里指…...
学习数据结构(3)顺序表
1.动态顺序表的实现 (1)初始化 (2)扩容 (3)头部插入 (4)尾部插入 (5)头部删除 (这里注意要保证有效数据个数不为0) (6&a…...
知识体系、知识管理角度的赚钱思考
从知识管理和知识体系的角度出发,赚钱的问题思考清单可以帮助你系统地梳理和优化自己在财富创造方面的策略。 以下是一个详细的清单,涵盖从知识获取、技能提升到实际应用的各个环节,帮助你在赚钱的道路上更加高效和有条理。 一、赚钱的目标与…...
(done) ABI 相关知识补充:内核线程切换、用户线程切换、用户内核切换需要保存哪些寄存器?
由于操作系统和编译器约定了 ABI,如下: 编译器在对 C 语言编译时,会自动 caller 标注的寄存器进行保存恢复。保存的步骤通常发生在进入函数的时候,恢复的步骤通常发生在从函数返回的时候。 内核线程切换需要保存的寄存器&#…...
QT6 + CMAKE编译OPENCV3.9
参考文档 [1] https://blog.csdn.net/rjkf_css/article/details/135676077 前提条件 配置好相关运行环境:QT6、OPENCV3.9的sources文件 OPENCV下载网页:https://opencv.org/releases/ QT6下载教程:https://blog.csdn.net/caoshangpa/article…...
Linux 常用命令——系统设置篇(保姆级说明)
系统设置类 显示当前运行的进程(ps) ps [options] [--help]# 查找指定进程格式: ps -ef | grep 进程关键字# 显示进程信息 ps -A 参数: -A 列出所有的进程 -w 显示加宽可以显示较多的资讯 -au 显示较详细的资讯 -aux 显示所有包…...
完美世界前端面试题及参考答案
如何设置事件捕获和事件冒泡? 在 JavaScript 中,可以通过addEventListener方法来设置事件捕获和事件冒泡。该方法接收三个参数,第一个参数是事件类型,如click、mousedown等;第二个参数是事件处理函数;第三个参数是一个布尔值,用于指定是否使用事件捕获机制。当这个布尔值…...
Vue3笔记——(三)hooks、路由
015 hooks 作用:使得代码更加模块化和可维护 Person.vue <template><div><h2>当前求和{{ sum }}</h2><button click"addFn">点我sum1</button></div> </template> <script setup lang"ts"…...
网络安全大模型和人工智能场景及应用理解
本文通过通俗易懂的方式的进行阐述,大家读完觉得有帮助记得及时关注和点赞!!! 一、网络安全大模型的概述 网络安全大模型是一种用于识别和应对各种网络安全威胁的模型。它通过分析网络数据包、网络行为等信息,识别潜在…...
python-leetcode-从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树 - 力扣(LeetCode) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right r…...
NLP模型大对比:Transformer > RNN > n-gram
结论 Transformer 大于 RNN 大于 传统的n-gram n-gram VS Transformer 我们可以用一个 图书馆查询 的类比来解释它们的差异: 一、核心差异对比 维度n-gram 模型Transformer工作方式固定窗口的"近视观察员"全局关联的"侦探"依赖距离只能看前…...
MySQL查询优化(三):深度解读 MySQL客户端和服务端协议
如果需要从 MySQL 服务端获得很高的性能,最佳的方式就是花时间研究 MySQL 优化和执行查询的机制。一旦理解了这些,大部分的查询优化是有据可循的,从而使得整个查询优化的过程更有逻辑性。下图展示了 MySQL 执行查询的过程: 客户端…...
[STM32 - 野火] - - - 固件库学习笔记 - - -十三.高级定时器
一、高级定时器简介 高级定时器的简介在前面一章已经介绍过,可以点击下面链接了解,在这里进行一些补充。 [STM32 - 野火] - - - 固件库学习笔记 - - -十二.基本定时器 1.1 功能简介 1、高级定时器可以向上/向下/两边计数,还独有一个重复计…...
Antd React Form使用Radio嵌套多个Select和Input的处理
使用Antd React Form使用Radio会遇到嵌套多个Select和Input的处理,需要多层嵌套和处理默认事件和冒泡,具体实现过程直接上代码。 实现效果布局如下图 代码 <Formname"basic"form{form}labelWrap{...formItemLayoutSpan(5, 19)}onFinish{on…...
固有频率与模态分析
目录 引言 1. 固有频率:物体的“天生节奏” 1.1 定义 1.2 关键特点 1.3 实际意义 2. 有限元中的模态分析:给结构“体检振动” 2.1 模态分析的意义 2.2 实际案例 2.2.1 桥梁模态分析 2.2.2 飞机机翼模态分析 2.2.3 具体事例 3. 模态分析的工具…...
视频多模态模型——视频版ViT
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》,2021由google 提出用于视频处理的视觉 Transformer 模型,在视频多模态领域有…...
2859.计算K置位下标对应元素的和
示例 1:输入:nums [5,10,1,5,2], k 1 输出:13 解释:下标的二进制表示是: 0 0002 1 0012 2 0102 3 0112 4 1002 下标 1、2 和 4 在其二进制表示中都存在 k 1 个置位。 因此,答案为 nums[1] nums[…...
Redis 教程
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器&…...
2024 CVPR Highlight Learning-Feedback
图像增强 Towards Robust Event-guided Low-Light Image Enhancement: A Large-Scale Real-World Event-Image Dataset and Novel Approach 解决的主要问题是低光照条件下的图像增强 通过多尺度整体融合分支提取事件和图像的结构和纹理信息,并引入信噪比࿰…...
maven、npm、pip、yum官方镜像修改文档
文章目录 Maven阿里云网易华为腾讯云 Npm淘宝腾讯云 pip清华源阿里中科大华科 Yum 由于各博客繁杂,本文旨在记录各常见镜像官网,及其配置文档。常用镜像及配置可评论后加入 Maven 阿里云 官方文档 setting.xml <mirror><id>aliyunmaven&l…...
UE求职Demo开发日志#15 思路与任务梳理、找需要的资源
1 思路梳理 因为有点无从下手,就梳理下最终形态. 基地的建设我是想单独一个场景,同一个关卡中小怪会每次来都会刷,小解密一次性的,关键的Boss和精英怪不会重复刷,同时场景里放一些资源可收集,基地建设锁定区…...
设置jmeter外观颜色
设置jmeter外观颜色 方法: 步骤一、点击顶部选项 ->外观,这里提供了不同的主题,可选自己喜欢的风格。 步骤二、选择后,弹框提示点击Yes。...
《一文读懂!Q-learning状态-动作值函数的直观理解》
在人工智能的强化学习领域,Q-learning算法是一颗耀眼的明星,被广泛应用于机器人控制、游戏AI开发、自动驾驶等诸多前沿领域。而想要真正掌握Q-learning算法,理解其核心概念——状态 - 动作值函数,是绕不开的关键一步。这篇文章就带…...
Angular 2 表单深度解析
Angular 2 表单深度解析 引言 Angular 2作为现代前端开发的框架之一,以其灵活性和强大的功能赢得了众多开发者的青睐。在Angular 2中,表单处理是其中一个重要且复杂的部分。本文将深入解析Angular 2的表单,从基础知识到高级应用,旨在帮助开发者更好地理解和运用Angular 2…...
使用kitty terminal遇到的‘xterm-kitty‘: unknown terminal type.
解决办法 方式一 export TERMxterm-256color使永久生效 echo export TERMxterm-256color >> ~/.zshrc # 如果用 zsh,如果使用的是bash就修改为bashrc source ~/.zshrc #同理如果是ssh下遇到该问题,参考 https://sw.kovidgoyal.net/kitty/faq/…...
Dest1ny漏洞库:用友 U8 Cloud ReleaseRepMngAction SQL 注入漏洞(CNVD-2024-33023)
大家好,今天是Dest1ny漏洞库的专题!! 会时不时发送新的漏洞资讯!! 大家多多关注,多多点赞!!! 0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚…...
代码随想录|动态规划 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
300.最长递增子序列 题目 参考文章 思路:dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 因为没有连续,所以每一个元素都要比较,从而得到结果 两个递增子序列一定分别以nums[j]为结尾 和 nums[i]为结尾, 要不然这个比…...
Flutter_学习记录_导航和其他
Flutter 的导航页面跳转,是通过组件Navigator 和 组件MaterialPageRoute来实现的,Navigator提供了很多个方法,但是目前,我只记录我学习过程中接触到的方法: Navigator.push(), 跳转下一个页面Navigator.pop(), 返回上一…...
【信息系统项目管理师-选择真题】2006下半年综合知识答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...
面向对象编程简史
注:本文为 “面向对象编程简史” 相关文章合辑。 英文引文,机翻未校。 Brief history of Object-Oriented Programming 面向对象编程简史 Tue, May 14, 2024 Throughout its history, object-oriented programming (OOP) has undergone significant …...
快速提升网站收录:内容创作的艺术
本文来自:百万收录网 原文链接:https://www.baiwanshoulu.com/15.html 快速提升网站收录,内容创作是关键。以下是一些关于内容创作以提升网站收录的艺术性建议: 一、关键词研究与优化 选择长尾关键词:进行深入的关键…...
高速PCB设计指南3——PCB 传输线和受控阻抗
高速PCB设计指南3——PCB 传输线和受控阻抗 1. 传输线1.1 传输线的定义1.2 传输线的分类1.3 互为传输线的情况 2. 均匀传输线的特性阻抗3. PCB中受控阻抗结构3.1 微带线(Microstrip)3.2 带状线(Stripline) 4 阻抗控制方法5. 阻抗控…...
python实现一个完整的智能教室能耗监测与管理系统的实现方案
以下是一个完整的智能教室能耗监测与管理系统的实现方案,主要使用Python语言,涵盖深度学习模型研发、教室场景适应性分析、系统架构设计、前端展示、后端服务以及测试评估等方面。 1. 数据准备 首先,需要收集教室的照片数据集,并…...
【新春特辑】2025年春节技术展望:蛇年里的科技创新与趋势预测
🔥【新春特辑】2025年春节技术展望:蛇年里的科技创新与趋势预测 📅 发布日期:2025年01月29日(大年初一) 在这个辞旧迎新的美好时刻,我们迎来了充满希望的2025年,也是十二生肖中的蛇…...
woocommerce独立站与wordpress独立站的最大区别是什么
WooCommerce独立站与WordPress独立站的最大区别在于它们的功能定位和使用场景。 WordPress是一个开源的内容管理系统(CMS),最初是作为博客平台发展起来的,但现在已经演变为一个功能丰富的网站构建工具。它主要用于创建动态网站,提供广泛的定…...
docker安装MySQL8:docker离线安装MySQL、docker在线安装MySQL、MySQL镜像下载、MySQL配置、MySQL命令
一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令 docker pull mysql:8.0.41 2、离线包下载 两种方式: 方式一: -)在一台能连外网的linux上安装docker执行第一步的命令下载镜像 -)导出 # 导出镜…...
PTA乙级1006~1010【c++】
1006 换个格式输出整数 #include <iostream> using namespace std;int main(){int n;cin >> n;int b n / 100;int s n / 10 % 10;int g n % 10;for (int i 0; i < b; i ) cout << B;for (int i 0; i < s; i ) cout << S;for (int i 0; …...
一文掌握ADB的安装及使用
文章目录 一、什么是ADB?二、 安装ADB2.1 下载ADB2.2 配置环境变量 三、连接Android设备四、 常用ADB命令五、ADB高级功能5.1 屏幕截图和录制5.2 模拟按键输入5.3 文件管理5.4 系统设置管理5.5 系统操作指令5.6 日志操作指令5.7 APK操作指令5.8 设备重启和恢复 六、…...
ThinkPad E480安装Ubuntu 18.04无线网卡驱动
个人博客地址:ThinkPad E480安装Ubuntu 18.04无线网卡驱动 | 一张假钞的真实世界 遗憾的是虽然下面的方法可以解决,但是内核升级后需要重新安装。 基本信息 Ubuntu 18.04ThinkPad E480使用下面的命令查看 Linux 内核: $ uname -r 5.0.0-3…...
QT+mysql+python 效果:
# This Python file uses the following encoding: utf-8 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QMessageBox from PySide6.QtGui import QStandardItemModel, QStandardItem # 导入需要的类# Important: # 你需要通过以下指令把 form.ui转为ui…...
关于 SR-IOV 架构论文的总结文章
关于 SR-IOV 架构论文的总结文章 在计算机虚拟化技术不断发展的进程中,SR - IOV 架构凭借其在提升 I/O 性能、优化资源利用等方面的优势,成为众多研究关注的焦点。通过对 4 篇相关论文的研读,我们可以从多个维度深入了解 SR - IOV 架构的核心要点。 一、SR - IOV 架构的原…...
MyBatis最佳实践:提升数据库交互效率的秘密武器
第一章:框架的概述: MyBatis 框架的概述: MyBatis 是一个优秀的基于 Java 的持久框架,内部对 JDBC 做了封装,使开发者只需要关注 SQL 语句,而不关注 JDBC 的代码,使开发变得更加的简单MyBatis 通…...
cursor ide配置远程ssh qt c++开发环境过程记录
cursor是啥就不介绍了,好像是目前最好用的ai ide,下面主要是配置远程ssh连接linux机器进行qt5 c程序运行的配置过程记录。 一、c_cpp_properties.json 在项目根目录的.vscode目录里面新建c_cpp_properties.json文件,根据你的实际情况配置该文…...
萌新学 Python 之数值处理函数 round 四舍五入、abs 绝对值、pow 幂次方、divmod 元组商和余数
关于数值处理的常用函数:round、abs、pow、divmod 1. round(数值[,小数位]) 四舍五入 说明:对数值进行四舍五入,小数位可以没有,也可以是负数(从小数点左边开始进行) round(数值[,小数位]) 四舍五入 #…...
vim交换文件的作用
1.数据恢复:因为vim异常的退出,使用交换文件可以恢复之前的修改内容。 2.防止多人同时编辑:vim检测到交换文件的存在,会给出提示,以避免一个文件同时被多人编辑。 (vim交换文件的工作原理:vim交换文件的工作…...
NoSQL与SQL比较
1.认识NoSQL NoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库。 1.1.结构…...