zoukankan      html  css  js  c++  java
  • Apriori算法(关联规则)

    一、关联规则

      1、是数据中所蕴含的一类重要规律,对关联规则挖掘的目标是在数据项目中找出所有的并发关系,这种搞关系也称为关联。

      eg、奶酪->啤酒[支持度 = 10%,置信度 = 80%]

      2、关联规则的基本概念

      设一个项目集合I = {i1,i2,i3,……,im},一个(数据库)事务集合T = {t1,t2,t3,,,tn},其中每个事务ti是一个项目集合,并且

      一个关联规则是如下形式的蕴涵关系:

      

      3、关联规则强度指标:支持度和置信度

        (1)支持度:规则X->Y的支持度是指,T中包含的事务的百分比。支持度是一个很有用的评价指标,如果他的值过于的小,则表明时间可能只是偶然发生

      

         (2)置信度:决定了规则的可预测度,表示在所有发生了X的事务中同样发生了Y的概率。

       

    二、Apriori算法

      1、Apriori原理:Apriori算法基于演绎Apriori原理(向下封闭属性)

        向下封闭属性(Downward  Closure Property):如果一个项目集满足某个最小支持的度要求,那么这个项集的任何非空子集必需都满足这个最小支持度。

        为了确保频繁项目集成的高效性,Apriori算法假定I中的项目都是排序好的。

       2、描述

        就是对于数据集D,遍历它的每一条记录T,得到T的所有子集,然后计算每一个子集的支持度,最后的结果再与最小支持度比较。且不论这个数据集D中有多少条记录(十万?百万?),就说每一条记录T的子集个数({1,2,3}的子集有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},即如果记录T中含有n项,那么它的子集个数是2^n-1)。计算量非常巨大,自然是不可取的。

        所以Aprior算法提出了一个逐层搜索的方法,如何逐层搜索呢?包含两个步骤:

          1.自连接获取候选集。第一轮的候选集就是数据集D中的项,而其他轮次的候选集则是由前一轮次频繁集自连接得到(频繁集由候选集剪枝得到)。

          2.对于候选集进行剪枝。如何剪枝呢?候选集的每一条记录T,如果它的支持度小于最小支持度,那么就会被剪掉;此外,如果一条记录T,它的子集有不是频繁集的,也会被剪掉。

          算法的终止条件是,如果自连接得到的已经不再是频繁集,那么取最后一次得到的频繁集作为结果。

      

      

  • 相关阅读:
    js的循环遍历
    实现div里的img图片水平垂直居中(五种方法)——转载好文
    layui 的 loading 左偏移
    小茴香windows常用软件清单
    Vue为同一个元素绑定不同的点击事件
    echarts 线图图例去掉圆圈等形状
    No phantomjs found in your PATH. Please install it! pyecharts导出图片报错 windows
    mysql多列一致性约束unique
    笔试题-LRU
    准确率和召回率
  • 原文地址:https://www.cnblogs.com/weiliuyby/p/8569946.html
Copyright © 2011-2022 走看看