【海量数据挖掘/数据分析】 之 关联规则挖掘 Apriori 算法 (数据集、事务、频繁项集、关联规则、支持度、置信度)

news2024/11/15 23:05:44

【海量数据挖掘/数据分析】 之 关联规则挖掘 Apriori 算法 (数据集、事务、频繁项集、关联规则、支持度、置信度)

目录

【海量数据挖掘/数据分析】 之 关联规则挖掘 Apriori 算法 (数据集、事务、频繁项集、关联规则、支持度、置信度)

一、 关联规则挖掘简介

二、 数据集 与 事务 ( Transaction ) 概念

三、项 ( Item ) 概念

四、项集 ( Item Set ) 概念

五、频繁项集

六、数据集、事物、项、项集合、项集 示例

七、关联规则 是指 :

八、 数据项支持度

九、关联规则支持度

 十、置信度

十一、 频繁项集

十二、 非频繁项集

十三、 强关联规则

十四、 弱关联规则

十五、 发现关联规则

十六、 非频繁项集超集性质

十七、 频繁项集子集性质

十八、 项集与超集支持度性质

十九、 Apriori 算法过程

二十、 Apriori 算法示例 求 频繁项集

二十一、使用 Apriori 算法,求 频繁项集 和 关联规则


一、 关联规则挖掘简介

Apriori 算法 是 关联规则 挖掘算法 ,

关联规则 反映了 对象之间 相互依赖关系 ,

可以通过 一个对象 的行为或属性 预测 其它对象的行为或属性 ;

关联规则 不是 因果关系 , 有可能有因果关系 , 有可能没有 ;

如 : 购买商品时 , 啤酒 与 尿布 就有关联关系 , 这两个之间肯定没有因果关系 , 有一种未知的关联关系 ;

关联规则挖掘步骤 :

① 步骤一 : 找出 支持度 ≥  最小支持度阈值 的 频繁项集 ;

② 步骤二 : 根据 频繁模式 生成 满足 可信度阈值 的 关联规则 ;
 

二、 数据集 与 事务 ( Transaction ) 概念

数据挖掘 数据集事务 构成 ;

数据集 记做 D ;

使用事务表示 数据集 , 表示为 D = { t 1 , t 2 , ⋯ , t n } D = \{ t_1 , t_2 , \cdots , t_n \} D={t1​,t2​,⋯,tn​} ,

其中 tk ,   ( k = 1 , 2 , ⋯ , n )  称为事务 ;

每个事物可以使用 唯一的标识符 表示 事务编号 ( TID ) ;


三、项 ( Item ) 概念

每个 事务 ( Transaction ) 由多个 项 ( Item ) 组成 ;

项 记做 i ;

表示为 t k = { i 1 , i 2 , ⋯ , i n }  ;

数据集 D  是所有 项 i  的集合 是 I 集合 ;


四、项集 ( Item Set ) 概念

I 中的 任意子集 X  , 称为 数据集 D 的 项集 ( Item Set ) ;

如果 项集 ( Item Set ) 项 ( Item ) 个数为 k  ,

则称该 项集 ( Item Set ) 为 k  项集 ( k-itemset ) ;


五、频繁项集

频繁项集 : 频繁项集指的是出现次数较多的项集 ;


六、数据集、事物、项、项集合、项集 示例

整个 数据集 D , 由 5  个 事务  构成 ;

数据集 : D = { t 1 , t 2 , t 3 , t 4 , t 5 }

事物 1 : t 1 = { 奶 粉 , 莴 苣 }

事物 2: t 2 = { 莴 苣 , 尿 布 , 啤 酒 , 甜 菜 }

事物 3 : t 3 = { 奶 粉 , 尿 布 , 啤 酒 , 橙 汁 }

事物 4 : t 4 = { 奶 粉 , 莴 苣 , 尿 布 , 啤 酒 }

事物 5 : t 5 = { 奶 粉 , 莴 苣 , 尿 布 , 橙 汁 }

上述 事物 集合中的元素 i  都称为 ,  奶粉,莴苣,尿布,啤酒,甜菜,橙汁 都是 项 ;

I = { 奶 粉 , 莴 苣 , 尿 布 , 啤 酒 , 甜 菜 , 橙 汁 }

项集 : 任意不相同的项组成的集合就称为项集 , 上述 6  个元素的集合有  2^6  个项集 ; 参考集合幂集个数

{ 奶 粉 }  是  1 项集 ;

{ 尿 布 , 啤 酒 }  是  2 项集 ;

{ 莴 苣 , 尿 布 , 啤 酒 }  是  3 项集 ;

{ 奶 粉 , 莴 苣 , 尿 布 , 啤 酒 } 是  4 项集 ;

{ 奶 粉 , 莴 苣 , 尿 布 , 啤 酒 , 甜 菜 }  是  5 项集 ;

{ 奶 粉 , 莴 苣 , 尿 布 , 啤 酒 , 甜 菜 , 橙 汁 }  是 6 项集 ;
 

七、关联规则 是指 :

某些 项集 出现在一个 事务 中 ,

可以推导出 :

另外一些 项集 也出现在同一个 事务 中 ;

如 : 事物 2  : t 2 = { 莴 苣 , 尿 布 , 啤 酒 , 甜 菜 }

{ 啤 酒 }1 项集 出现在购买清单 事务 2中 , { 尿 布 } 1 项集 也出现在购买清单 事务  2 中 ;
 

八、 数据项支持度

支持度 表示 数据项 ( Item ) 在 事务 ( Transaction ) 中的 出现频度 ;

支持度公式 :

S u p p o r t ( X ) = c o u n t ( X )/ c o u n t ( D )

S u p p o r t ( X )  指的是 X  项集的支持度 ;

c o u n t ( X ) 指的是 数据集 D  中含有项集 X 的事务个数 ;

c o u n t ( D ) 指的是 数据集 D 的事务总数 ;

举例说明:

项集 X = { 奶 粉 }  , 求该项集的支持度 ?

根据上述公式 S u p p o r t ( X ) = c o u n t ( X ) /c o u n t ( D ) 计算支持度 ;

c o u n t ( X ) 指的是 数据集 D 中含有项集 X 的事务个数 ;

含有 X = { 奶 粉 } 项集的事务有 事务 1 , 事务 3  , 事务 4 , 事务 5  , 得出 :

c o u n t ( X ) = 4

c o u n t ( D ) 指的是 数据集 D  的事务总数 ;

得出 c o u n t ( D ) = 5

则计算支持度 :

S u p p o r t ( X ) = c o u n t ( X )/ c o u n t ( D )

即:S u p p o r t ( X ) = 4 /5 ​
 

九、关联规则支持度

关联规则 X ⇒ Y  的支持度 ,

等于 项集 X ∪ Y  的支持度 ;

公式为 :

S u p p o r t ( X ⇒ Y ) = S u p p o r t ( X ∪ Y ) = c o u n t ( X ∪ Y ) /c o u n t ( D )

 举例说明:

求关联规则 尿 布 ⇒ 啤 酒 的支持度 ?

上述问题等价于 , 项集 X = { 尿 布 , 啤 酒 } 的支持度 ;

根据上述公式

S u p p o r t ( X ⇒ Y ) = S u p p o r t ( X ∪ Y ) = c o u n t ( X ∪ Y ) /c o u n t ( D )

计算支持度 ;

c o u n t ( X ∪ Y )  指的是 数据集 D 中含有项集 X ∪ Y的事务个数 ;

含有 X ∪ Y = { 尿 布 , 啤 酒 } 项集的事务有 事务 2 , 事务 3  , 事务 4  , 得出 :

c o u n t ( X ∪ Y ) = 3

c o u n t ( D )  指的是 数据集 D  的事务总数 ; 得出

c o u n t ( D ) = 5

则计算支持度 :

S u p p o r t ( X ⇒ Y ) = S u p p o r t ( X ∪ Y ) = c o u n t ( X ∪ Y ) / c o u n t ( D )

S u p p o r t ( X ) = S u p p o r t ( X ∪ Y ) = 3 / 5

 十、置信度

关联规则 X ⇒ Y 的置信度 ,

表示 数据集 D 中包含 X  项集的事物 , 同时有多大可能性包含 Y  项集 ,

等于 项集 X ∪ Y  的支持度项集 X  的支持度 比值 ;

公式为 :

c o n f i d e n c e ( X ⇒ Y ) = s u p p o r t ( X ∪ Y ) / s u p p o r t ( X ) ​
举例说明:

求关联规则 尿 布 ⇒ 啤 酒 的置信度 ?

根据上述公式

c o n f i d e n c e ( X ⇒ Y ) = s u p p o r t ( X ∪ Y ) / s u p p o r t ( X )

计算 X ⇒ Y  置信度 ;

具体步骤:


1、计算 s u p p o r t ( X ∪ Y ) 支持度 :

S u p p o r t ( X ⇒ Y ) = S u p p o r t ( X ∪ Y ) = c o u n t ( X ∪ Y ) / c o u n t ( D )

s u p p o r t ( X ∪ Y )  指的是 数据集 D 中含有项集 X ∪ Y 的事务个数 ;

含有 X ∪ Y = { 尿 布 , 啤 酒 }  项集的事务有 事务 2 , 事务 3  , 事务 4 , 得出 :

c o u n t ( X ∪ Y ) = 3

c o u n t ( D ) 指的是 数据集 D 的事务总数 , 得出

c o u n t ( D ) = 5

计算支持度结果 :

S u p p o r t ( X ⇒ Y ) = S u p p o r t ( X ∪ Y ) = c o u n t ( X ∪ Y ) / c o u n t ( D )

S u p p o r t ( X ) = S u p p o r t ( X ∪ Y ) = 3 / 5


2 、计算 S u p p o r t ( X ) 支持度 , 项集 X = { 奶 粉 } \rm X=\{ 奶粉 \} X={奶粉}

根据上述公式 S u p p o r t ( X ) = c o u n t ( X ) / c o u n t ( D ) 计算支持度 ;

c o u n t ( X ) 指的是 数据集 D  中含有项集 X  的事务个数 ;

含有 X = { 奶 粉 }  项集的事务有 事务 1  , 事务 3  , 事务 4  , 事务 5 , 得出 :

c o u n t ( X ) = 4

c o u n t ( D )  指的是 数据集 D 的事务总数 , 得出

c o u n t ( D ) = 5

则计算支持度 :

S u p p o r t ( X ) = c o u n t ( X ) / c o u n t ( D )

S u p p o r t ( X ) = 4 / 5


3 、求最终置信度

c o n f i d e n c e ( X ⇒ Y ) = s u p p o r t ( X ∪ Y ) / s u p p o r t ( X )

c o n f i d e n c e ( X ⇒ Y ) = (3 / 5) / (4 / 5) = 3 / 4

最终置信度为 3 / 4
 

十一、 频繁项集

项集 X 的 支持度 s u p p o r t ( X )  , 大于等于 指定的 最小支持度阈值 minsup ,

则称该 项集 X 为 频繁项集 ,

又称为 频繁项目集 ;


十二、 非频繁项集

项集 X  的 支持度 s u p p o r t ( X )  , 小于 指定的 最小支持度阈值 minsup  ,

则称该 项集 X 为 非频繁项集 ,

又称为 非频繁项目集 ;


十三、 强关联规则

项集 X  是 频繁项集 的前提下 , ( 项集 X  的 支持度 s u p p o r t ( X ) , 大于等于 指定的 最小支持度阈值 m i n s u p ) ,

置信度 c o n f i d e n c e ( X ⇒ Y )  大于等于 置信度最小阈值 minconf ,

称该 关联规则  X⇒Y 是 强关联规则 ;


十四、 弱关联规则

项集 X  是 频繁项集 的前提下 , ( 项集 X 的 支持度 support(X) , 小于等于 指定的 最小支持度阈值 minsup ) ,

置信度  confidence(X⇒Y) 小于 置信度最小阈值  minconf ,

称该 关联规则  X⇒Y 是 弱关联规则 ;


十五、 发现关联规则

发现关联规则 :

从 数据集 D  中 , 发现支持度  support , 置信度  confidence , 大于等于给定 最小阈值 的 强关联规则 ;

目的是 发现 强关联规则 ;
 

十六、 非频繁项集超集性质

非频繁项集超集性质:非频繁项集 的 超集 一定是 非频繁的 ;

超集 就是 包含 该集合的集合 ;

项集 X  是 非频繁项集 , 项集 Y  是 项集 X  的超集 , 则 项集 Y  一定是 非频繁的 ;

( 说明:使用集合表示 : X ⊆ Y , X ≠ ∅  , 项集 Y  包含 项集 X  , 并且 项集 X  不为空集 )

举例说明:

1 项集 {甜菜}

2  项集 {甜菜,啤酒}

上述  {甜菜,啤酒} 就是 {甜菜} 的 超集 ,

 1 项集 { 甜 菜 }  其支持度是 0.2  , 小于最小支持度 minsup = 0.6 , 是 非频繁项集

那么 { 甜菜 , 啤酒 }  也是 非频繁项集 ;
 

在具体算法中会使用该性质 , 用于进行 “剪枝” 操作 ;

  1. 计算支持度时 , 按照  1 项集 支持度 , 2 项集 支持度 , ⋯  顺序进行计算 ,
  2. 如果发现  1 项集 中有 非频繁项集 , 则包含该 1 项集的 n 项集 肯定是 非频繁项集 ;
  3. 然后使用 频繁 1  项集 组合成  2 项集 , 然后再计算这些  2 项集是否是频繁项集 ;

“剪枝” 操作 减少了不必要的计算量 ;

十七、 频繁项集子集性质

频繁项集子集性质:频繁项集 的 所有非空子集 , 一定是 频繁项集 ;

项集 Y  是 频繁项集 ,项集 Y  是 项集 X  的超集 ,则 项集 X 一定是 频繁的 ;

( 使用集合表示 : X ⊆ Y , X ≠ ∅ , 项集 Y 包含 项集 X  , 并且 项集 X  不为空集 )

举例说明:

1 项集 {尿布} , {啤酒}

2 项集  {尿布,啤酒}

2 项集 {尿布,啤酒} 其支持度是 0.6  , 等于最小支持度  minsup = 0.6 , 是 频繁项集

那么  2 项集 {尿布,啤酒} 的子集是 1 项集 {尿布} ,  {啤酒} ,根据上述性质 , 1 项集 {尿布} , {啤酒} 都是 频繁项集 ;


 

十八、 项集与超集支持度性质

任意一个 项集 的 支持度 , 都 大于等于 其 超集 支持度 ;

超集 就是 包含 该集合的集合 ;

十九、 Apriori 算法过程

原始数据集  D ,

1、1 项集  C1​ ,  2 项集  C2​ ,  ⋯ ,  k 项集 Ck​ , 这些项集都是候选项集 ,

2、根据 原始数据集  D , 创造 1 项集  C1​ , 然后对  C1​ 执行 数据集扫描函数 , 找到其中的 频繁  1 项集  L1​ ,

3、根据 频繁 1 项集  L1​ , 创造 2 项集  C2​ , 然后对  C2​ 执行 数据集扫描函数 , 找到其中的 频繁 2 项集 L2​ ,

4、根据 频繁  k−1 项集  Lk−1​ , 创造  k 项集  Ck​ , 然后对  Ck​ 执行 数据集扫描函数 , 找到其中的 频繁  k 项集  Lk​ ,

二十、 Apriori 算法示例 求 频繁项集

最小支持度阈值为 minsup = 0.6

1、根据 原始数据集  D , 创造 1  项集  C1​ , 然后对 C1​ 执行 数据集扫描函数 , 找到其中的 频繁 1 项集  L1​

C1 1项集

itemsup
{奶粉}0.8
{莴苣}0.8
{尿布}0.8
{啤酒}0.6
{甜菜}0.2
{橙汁}0.4

所以 L1 频繁 1 项集如下:

itemsup
{奶粉}0.8
{莴苣}0.8
{尿布}0.8
{啤酒}0.6

2、根据 频繁  1 项集 L1​ , 创造 2 项集  C2​ , 然后对  C2​ 执行 数据集扫描函数 , 找到其中的 频繁 2 项集  L2​

C2  2 项集

ItemSup
{奶粉,莴苣}0.6
{奶粉,尿布}0.6
{奶粉,啤酒}0.4
{莴苣,尿布}0.6
{莴苣,啤酒}0.4
{尿布,啤酒}0.6

所以 L2 频繁 2 项集

ItemSup
{奶粉,莴苣}0.6
{奶粉,尿布}0.6
{莴苣,尿布}0.6
{尿布,啤酒}0.6

3、根据 频繁 2 项集  L2​ , 创造 3  项集  C3​ , 然后对 C3​ 执行 数据集扫描函数 , 找到其中的 频繁 3  项集  L3​

C3 3 项集

ItemSup
{奶粉,莴苣,尿布}0.4

所以 3 项集中没有频繁项集 ;

二十一、使用 Apriori 算法,求 频繁项集 和 关联规则

如下事物数据库 , 最小支持度  60% , 最小置信度  80%

TIDItem
T1{M,O,N,K,E,Y}
T2{D,O,N,K,E,Y}
T3{M,A,K,E}
T4{M,U,C,K,Y}
T5{C,O,O,K,I,E}

( 1 ) 使用 Apriori 算法找出所有频繁项集 ;

( 2 ) 写出关联规则 ;

( 1 ) 使用 Apriori 算法找出所有频繁项集 ;

1)根据原始数据集 D 创造  1 项集  C1​ , 如下 :

ItemSup
{M}60%
{O}60%
{N}40%
{K}80%
{E}80%
{Y}60%
{D}20%
{A}20%
{U}20%
{C}40%
{I}20%

对 1 项集的C1 进行数据集扫描函数,找到频繁 1 项目集 L1,既是筛选出支持度大于等于60%的1项集,如下

ItemSup
{M}60%
{O}60%
{K}100%
{E}80%
{Y}60%

2)根据频繁 1 项集 L1,创造 2 项集 C2,如下

ItemSup
{M,O}20%
{M,K}60%
{M,E}40%
{M,Y}40%
{O,K}60%
{O,E}60%
{O,Y}40%
{K,E}80%
{K,Y}60%
{E,Y}40%

对 2 项集C2 进行数据集扫描函数,找到频繁 2 项集 L2,既是筛选出支持度大于等于60%的 2 项集,如下

ItemSup
{M,K}60%
{O,K}60%
{O,E}60%
{K,E}80%
{K,Y}60%

3)、根据频繁 2 项集 L2 ,创造出 3 项集 C3,如下

ItemSup
{K,E,Y}40%
{O,K,E}60%

对 3 项集 C3 进行数据集扫描函数,找到频繁 3 项集 L3,既是筛选出支持度大于等于60%的 3 项集,如下

ItemSup
{O,K,E}60%

最终得到频繁项集有:

1)频繁 1 项集:{M},{O},{K},{E},{Y}

2)频繁 2 项集:{M,K},{O,K},{O,E},{K,E},{K,Y}

3)频繁 3 项集:{O,K,E}

(2)写出关联规则

1)基于频繁 2 项集 L2 的关联规则

规则Conf
M=>K100%
k=>M60%
O=>k100%
K=>O60%
O=>E100%
E=>O75%
K=>E80%
E=>K100%
K=>Y60%
Y=>K100%

2)基于 频繁 3 项集 L3 的关联规则

规则Conf
O=>K,E100%
K,E=>O75%
K=>O,E60%
O,E=>K100%
E=>O,K75%
O,K=>E100%

所以,根据置信度大于等于 80% 的关联规则有:

L2 关联规则:M=>k,O=>k,O=>E,K=>E,E=>K,Y=>K

L3 关联规则:O=>K,E、 O,E=>K、O,K=>E

参考文献

https://hanshuliang.blog.csdn.net/article/details/109687195

【数据挖掘】数据挖掘总结 ( 模式挖掘 | Apriori 算法 | 支持度 | 置信度 | 关联规则 ) ★★_模式挖掘 置信

【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Transaction 概念 | 项 Item 概念 | 项集 Item Set | 频繁项集 | 示例解析 )_关联规则数据集

【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则 | 数据项支持度 | 关联规则支持度 )_关联规则支持度计算公式

【数据挖掘】关联规则挖掘 Apriori 算法 ( 频繁项集 | 非频繁项集 | 强关联规则 | 弱关联规则 | 发现关联规则 )_支持度可信度频繁项集非频繁项集

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

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

相关文章

4、PCB设计快捷键与关键步骤

4、PCB设计快捷键与关键步骤 一、简介 1.1 常用快捷键: shiftc清除测量的结果,退出高亮。F2进入Board Insight查看板子的细节,相当于放大镜。q切换英制和米制。g切换移动的最小单位。L设置各层的颜色和显示选中元件,再按L是将元…

C#使用XML和Treeview结合实现复杂数据采集功能

一个项目的数据表暂时没有定下来,但是有了一些确定性:   1、比较复杂,可能变化;   2、大部分是选择项目,因为输入项目都差不多;   3、应用程序是C/S的窗体应用。   对于这样的用户需求,…

C++ 基础知识 面试题(一)

1.变量的声明与定义 声明:int x; //告诉编译器这个变量的类型和名称 定义:int x 0; //告诉编译器这个变量的类型和名称,为该变量分配内存空间,并初始化该变量 主要区别在于是否为变量分配内存空间 2.extern关键字 用法一&…

Apache IoTDB 论文入选数据库领域顶级学术会议 ACM SIGMOD

6 月 18-23 日,ACM SIGMOD 会议在美国西雅图举办。Apache IoTDB 的研究成果论文《Apache IoTDB: A Time Series Database for IoT Applications》在大会做了报告,并进行了 Poster 展示。 01 关于 SIGMOD SIGMOD 数据管理国际会议(Special Int…

嵌入式系统BSP开发(二)

快递拿到R16的开发板后,通过官方拿到SOCHIP的相关资料,压缩包的名称是lichee.tar.gz 一,解压相关的资料 tar xzvf r16_lichee.tar.gz 解压后得到的资料如下: yveyve:/data/home/yve/Linux/lichee$ ls brandy buildroot build…

计算物理专题:傅里叶变换与快速傅里叶变换

计算物理专题:傅里叶变换与快速傅里叶变换 傅里叶变换提供一个全新的角度去观察和描述问题,如在量子力学中,动量与坐标表象之间的变换就是傅里叶变换。傅里叶变换同意可以用在数据处理等领域。1965年,Cooley 和 Tukey 提出了快速傅…

redis之主从复制、哨兵、集群

文章目录 一、redis的高可用1.1 redis高可用的概念1.2 Redis的高可用技术 二、redis 主从复制2.1主从复制的原理2.2搭建Redis 主从复制 三、Redis 哨兵模式3.1搭建Redis 哨兵模式3.2启动哨兵模式3.3查看哨兵信息3.4故障模拟 四、Redis 群集模式4.1搭建Redis 群集模式 一、redis…

数据结构--串的定义和基本操作

数据结构–串的定义和基本操作 注:数据结构三要素――逻辑结构、数据的运算、存储结构(物理结构) 存储结构不同,运算的实现方式不同 \color{pink}存储结构不同,运算的实现方式不同 存储结构不同,运算的实现方式不同 串的定义 串 …

用Java制作简单的记事本

目录 前言 主界面设计 功能实现 打开 另存为 保存 查找 替换 成员变量 其他方法 警告弹窗 不移动光标更新文本框内容 源代码 总结 转载请注明出处,尊重作者劳动成果。 前言 考完试想写敲一下代码就写了一下这个程序,整个也是写了怎么久…

JavaEE语法第二章之多线程(初级一)

一、认识线程 1.1线程的概念 一个线程就是一个 "执行流"。每个线程之间都可以按照顺序执行自己的代码. 多个线程之间 "同时"执行着多份代码。 一家公司要去银行办理业务,既要进行财务转账,又要进行福利发放,还得进行缴…

Docker常见问题集合

一、Docker安装 1、yum 安装 1)更新yum包到最新 yum update2)安装软件需要的软件,yum-util(提供 yum-config-manager 功能),device-mapper-persistent-data、lvm2(devicemapper 驱动依赖&…

mmdetection踩坑记录

1.mmcv-full和mmdetection的版本匹配问题 Readme里应该会给可复现的版本,一定要按照readme里的,这里是一些版本对应关系,像我的mmdet是2.3.0,我就只能装1.0.5的mmcv-full 表格来源:https://blog.csdn.net/qq_55957975/…

高频-测试岗面试题,软件测试面试常问面试题(付答案)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试流程&#xf…

【Zynq】Xilinx SDK设置编码方式

举例:将Xilinx SDK设置为UTF-8编码 工具栏->Window->Preferences

基于Tensorflow和Keras实现卷积神经网络CNN并进行猫狗识别

文章目录 一、环境配置1、安装Anaconda2、配置TensorFlow、Keras 二、猫狗数据集分类建模3.1 猫狗图像预处理3.2 猫狗分类的实例——基准模型3.1 构建神经网络3.2 配置优化器3.3 图片格式转化3.4 训练模型3.5 保存模型3.6 可视化 三、数据增强四、dropout 层五、参考资料 一、环…

Openresty原理概念篇(十五)Lua 规则和 NGINX 配置文件产生冲突怎么办?

一 Lua 规则和 NGINX 配置文件产生冲突怎么办? ① OpenResty 的名字和语言 说明: 了解openresty的发展史 ② 配置文件的规则优先级 1) 如何各司其职2) 都能满足功能,该如何取舍 理解: 1) rewrite ... break 到POST_WRITE阶段2) 而rewrite_by_lua*…

JAVA的DIFF算法

首先看一下我的文件结构 1.EnumType 类 public enum EnumType {ADD("ADD"),MODIFIED("MODIFIED"), DELETED("DELETED");//创建私有变量private String type;EnumType(String type) {this.type type;} }2.OperationType类 public class Operati…

vue封装svg组件来修改svg图片颜色

文章目录 1、引入依赖2、根目录的vue.config.js配置3、在组件文件夹(compontents)中创建svgIcon.vue4、在src目录下创建icons文件5、处理svg格式的图片6、在main.js文件中引入icons文件中的index.js文件7、使用8、效果图1、项目成功运行后的样子2、直接在html上添加样式&#x…

DEBUG系列三:使用 F9 和 watch point

首先是我随便找了个报错。 报销消息号信息: No pricing procedure could be determined Message No. V1212 1)首先可以直接SE91 来追溯这个消息号哪儿报出来的 可以看到下面两个地方可能会报这个消息,可以直接在这两个地方打断点,…