Apriori算法详解之【一、相关概念和核心步骤】
来源:互联网 发布:广西广电网络多少钱 编辑:程序博客网 时间:2024/06/07 14:56
一、Apriori算法简介: Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。 Apriori(先验的,推测的)算法应用广泛,可用于消费市场价格分析,猜测顾客的消费习惯;网络安全领域中的入侵检测技术;可用在用于高校管理中,根据挖掘规则可以有效地辅助学校管理部门有针对性的开展贫困助学工作;也可用在移动通信领域中,指导运营商的业务运营和辅助业务提供商的决策制定。
二、挖掘步骤:
1.依据支持度找出所有频繁项集(频度)
2.依据置信度产生关联规则(强度)
三、基本概念
对于A->B
①支持度:P(A ∩ B),既有A又有B的概率
②置信度:
P(B|A),在A发生的事件中同时发生B的概率 p(AB)/P(A) 例如购物篮分析:牛奶 ⇒ 面包
例子:[支持度:3%,置信度:40%]
支持度3%:意味着3%顾客同时购买牛奶和面包
置信度40%:意味着购买牛奶的顾客40%也购买面包
③如果事件A中包含k个元素,那么称这个事件A为k项集事件A满足最小支持度阈值的事件称为频繁k项集。
④同时满足最小支持度阈值和最小置信度阈值的规则称为强规则
四、实现步骤
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法Apriori使用一种称作逐层搜索的迭代方法,“K-1项集”用于搜索“K项集”。
首先,找出频繁“1项集”的集合,该集合记作L1。L1用于找频繁“2项集”的集合L2,而L2用于找L3。如此下去,直到不能找到“K项集”。找每个Lk都需要一次数据库扫描。
核心思想是:连接步和剪枝步。连接步是自连接,原则是保证前k-2项相同,并按照字典顺序连接。剪枝步,是使任一频繁项集的所有非空子集也必须是频繁的。反之,如果某
个候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从CK中删除。
简单的讲,1、发现频繁项集,过程为(1)扫描(2)计数(3)比较(4)产生频繁项集(5)连接、剪枝,产生候选项集 重复步骤(1)~(5)直到不能发现更大的频集
2、产生关联规则,过程为:根据前面提到的置信度的定义,关联规则的产生如下:
(1)对于每个频繁项集L,产生L的所有非空子集;
(2)对于L的每个非空子集S,如果
P(L)/P(S)≧min_conf
则输出规则“SàL-S”
注:L-S表示在项集L中除去S子集的项集
在下一篇文章中将有伪代码实现和例子(Apriori算法详解之【二、伪代码和例子】http://blog.csdn.net/lizhengnanhua/article/details/9061887)
- Apriori算法详解之【一、相关概念和核心步骤】
- Apriori算法详解之【一、相关概念和核心步骤】
- Apriori算法详解之【一、相关概念和核心步骤】
- Apriori算法详解之【一、相关概念和核心步骤】
- Apriori算法详解之【一、相关概念和核心步骤】
- Apriori算法详解之【一、相关概念和核心步骤】
- Apriori算法详解之【一、相关概念和核心步骤】
- Apriori算法(基础及核心概念)
- Apriori算法详解之【二、伪代码和例子】
- Apriori算法详解之【二、伪代码和例子】
- Apriori算法详解之【二、伪代码和例子】
- Apriori算法详解之【二、伪代码和例子】
- 挖掘关联规则之Apriori算法详解
- 数据挖掘之Apriori算法详解
- APRIORI算法详解和python代码
- Apriori算法详解
- Apriori算法详解
- Apriori算法详解
- (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)
- ZOJ3488-Conic Section
- Ubuntu下adb 显示insufficient permissions for device,或Eclipse中DDMS设备显示?????
- iOS应用架构谈 网络层设计方案(转)
- JavaScript界面演示 交换排序
- Apriori算法详解之【一、相关概念和核心步骤】
- Android Studio使用新的Gradle构建工具配置NDK环境
- 获取Java Exception异常详细信息,以便保存
- poj 2253 Frogger
- 分布式服务框架Dubbo入门案例和项目源码
- (网路层)路由协议
- IOS 原生打电话,发短信,发邮件的方法
- 1.1一次友好的对话
- 动态更新的学习