zoukankan      html  css  js  c++  java
  • 使用Apriori算法进行关联分析

    关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项集或者关联规则。频繁项集是指经常出现在一块的物品的集合,关联规则暗示两种物品之间可能存在很强的关系。一个项集的支持度被定义为数据集中包含该项集的记录所占的比例。可信度或置信度是针对一条诸如{尿布}->{葡萄酒}的关联规则来定义的。这条规则的可信度被定义为"支持度({尿布->啤酒})/支持度({尿布})"

    尽管大部分关联规则分析的实例来自零售业,但该技术同样可以用于其他行业,比如网站流量分析以及医药行业。

    Apriori原理

    --如果某个项集是频繁的,那么它的所有子集也是频繁的。反过来看,也就是说,如果一个项集是非频繁集,那么它的所有超集也是非频繁的。

    Apriori算法

    --Apriori算法的两个输入参数分别是最小支持度和数据集。该算法首先会生成所有单个项的项集列表。接着扫描交易记录来查看哪些项集满足最小支持度的要求,那些不满足最小支持度的项集会被去掉。然后,对剩下来的集合进行组合以生成包含两个元素的项集。接下来,再重新扫描交易记录,去掉不满足最小支持度的项集。该过程重复进行直到所有项集都被去掉。

    伪代码如下:

    当集合中项的个数大于0时

        构建一个k个项组成的候选项集的列表

        检查数据以确认每个项集都是频繁的

        保留频繁项集并构建k+1项组成的候选项集的列表

    从频繁项集中挖掘关联规则

    关联规则的量化指标称为可信度。一条规则P -> H的可信度定义为support(P|H)/support(P)。

    类似于频繁项集的产生,我们可以为每个频繁项集产生许多关联规则。如果能够减少规则数目来确保问题的可解性,那么计算起来就会好很多。可以观察到,如果每条规则并不满足最小可信度要求,那么该规则的所有子集也不会满足最小可信度要求。

  • 相关阅读:
    Oracle使用正则表达式拆分字段里多行分布式值
    Oracle--创建TRIGGER实现跟踪用户登录信息
    Oracle传输数据到Sqlserver
    Oracle---智斗ORA01427
    区别集合之间的不同
    maven
    集合与数组的区别
    调用系统命令实现删除文件的操作
    JAVA列出某文件夹下的所有文件
    JVM加载类的原理机制
  • 原文地址:https://www.cnblogs.com/ryuham/p/4444743.html
Copyright © 2011-2022 走看看