Apriori算法 (先验算法)
来源:互联网 发布:nodejs 写入json文件 编辑:程序博客网 时间:2024/05/29 05:10
关联分析,即从一个数据集中发现项之间的隐藏关系。 Apriori算法主要是基于频繁集的关联分析。
令项集I={i1,i2,...in}
且有一个数据集合D,它其中的每一条记录T,都是I的子集
那么关联规则都是形如A->B的表达式,A、B均为I的子集,且A与B的交集为空
这条关联规则的支持度:support = P(A并B)
这条关联规则的置信度:confidence = support(A并B)/suport(A)= P(B|A)
如果存在一条关联规则,它的支持度和置信度都大于预先定义好的最小支持度与最小置信度,我们就称它为强关联规则。
强关联规则就可以用来了解项之间的隐藏关系。所以关联分析的主要目的就是为了寻找强关联规则,而Apriori算法则主要用来帮助寻找强关联规则。
所有支持度大于最小支持度的项集称为频繁项集,简称频集。
如何得到数据集合D中的所有频繁集?
逐层搜索的方法:
1.自连接获取候选集。第一轮的候选集就是数据集D中的项,而其他轮次的候选集则是由前一轮次频繁集自连接得到(频繁集由候选集剪枝得到)。
2.对于候选集进行剪枝。如何剪枝呢?候选集的每一条记录T,如果它的支持度小于最小支持度,那么就会被剪掉;此外,如果一条记录T,它的子集有不是频繁集的,也会被剪掉。
算法的终止条件是,如果自连接得到的已经不再是频繁集,那么取最后一次得到的频繁集作为结果。
Apriori算法是一种挖掘关联规则的频繁项集算法。
挖掘步骤:
1.依据支持度找出所有频繁项集(频度)
2.依据置信度产生关联规则(强度)
简单的讲,
1、发现频繁项集,逐层搜索 ,过程为(1)数据库扫描(2)计数支持度(3)比较最小支持度(4)产生频繁项集(5)连接、剪枝,产生候选项集 重复步骤(1)~(5)直到不能发现更大的频集
2、产生关联规则,过程为:根据前面提到的置信度的定义,关联规则的产生如下:
(1)对于每个频繁项集L,产生L的所有非空子集;
(2)对于L的每个非空子集S,如果
P(L)/P(S)≧min_conf
则输出规则“SàL-S”
该算法的基本思想是:
1 首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。
2 然后由频集产生强关联规则,这些规则必须满足最小支持度和最小置信度。
可能产生大量的候选集,以及可能需要重复扫描数据库,非常耗时,是Apriori算法的两大缺点。
阅读全文
0 0
- Apriori算法 (先验算法)
- 数据挖掘:Apriori(先验)算法
- Apriori算法(矩阵)
- Apriori算法(关联算法)
- Apriori算法
- Apriori算法
- Apriori算法
- apriori 算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Android 6.0新权限系统权限管理
- python pandas将值转换为属性/特征
- 立即执行函数,声明式函数
- ubuntu14.04下安装boost.python 遇到问题
- JSRender之渲染模板
- Apriori算法 (先验算法)
- 独立Android开发者开发app如何盈利
- Semtech的LoRa技术携手Chipsafer将牧场连接至云端
- python模块的打包
- git 常用命令
- 阿里云服务器搭建tomcat环境
- NB-IoT、LoRa来袭:二者将互为补充 长期共存
- Android studio apk直接发送到手机无法使用的问题及扩展/apk签名/SHA1的获取
- kindeditor获取内容,清空,设置kindeditor输入提示信息