apriori算法找频繁项集,和强关联规则

    科技2025-09-11  59

    apriori算法找频繁项集,和强关联规则

    一、找频繁项集

    假设数据集如下

    TIDtransactionsa{1,3,4}b{2,3,5}c{1,2,3,5}d{2,5}

    假设可信度:70%,支持度:50%

    求频繁1项集

    {1,2,3,4,5}的1项集:{1}、{2}、{3}、{4}、{5}。比如{1}在数据集TIDa、c中都有出现,则出现的次数为2,依次类推2,3,4,5.我们可以得到以下表格

    l1(数据元)C1(出现的次数)1223334153

    已知最小支持度:【4(4为TID个数)×50%(支持度)=2】。

    删除不满足最小支持度的项集,则频繁1项集为

    l1(数据元)C1(出现的次数)12233353

    再求频繁2项集(不满足最小支持度的去除)

    {1,2,3,4,5}的2项集:{1,2}、{1,3}、{1,4}、{1,5}、{2,3}、{2,4}、{2,5}…

    比如{1,2}只在数据集TIDc中出现,那么出现次数为1,不满足最小支持度,则去除。其他项集依次类推,得到频繁2项集如下

    l2C2{1,3}2{2,3}2{2,5}3{3,5}2

    再求频繁3项集(不满足最小支持度的去除)

    {1,2,3,4,5}的3项集:{1,2,3}、{1,2,4}、{1,2,5}、{1,3,4}、{1,3,5}、{1,4,5}、{2,3,4}…

    比如{1,2,3}只在数据集TIDc中出现,那么出现次数为1,不满足最小支持度,则去除。其他项集依次类推,得到频繁3项集如下

    l3C3{2,3,5}2

    二、强关联规则

    可信度或置信度(confidence)是针对一条诸如{尿布} ➞ {啤酒}的关联规则来定义的。这条规则的可信度被定义为“支持度({尿布, 啤酒})/支持度({尿布})”

    先在频繁3项集中查找:

    由{2,3,5}可知:

    ​ 2∧3=>5(2和3可以推出5为频繁项集);

    ​ 可信度=支持度{2,3,5}/支持度{2,3}=C3/C2=2/2=1=100%>70%,则为强关联规则

    ​ 3∧2=>5;**可信度=**支持度{2,3,5}/支持度{3,2}=2/2=1=100%>70%,强关联规则

    ​ 2∧5=>3; **可信度=**支持度{2,3,5}/支持度{2,5}=2/3=0.67=67%<70%

    ​ 5∧2=>3; **可信度=**0.67=67%<70%

    ​ 3∧5=>2; **可信度=**支持度{2,3,5}/支持度{3,5}=2/2=1=100%>70%,强关联规则

    5∧3=>2;可信度= 100%>70%,强关联规则

    再从频繁2项集中查找

    由{1,3}可知:

    ​ 1=>3;可信度=支持度{1,3}/支持度{1}=C2/C1=2/2=1=100%>70%,则为强关联规则

    ​ 3=>1;**可信度=**支持度{1,3}/支持度{3}=C2/C1=2/3=0.67=67%<70%

    由{2,3}可知:

    ​ 2=>3;**可信度=**支持度{2,3}/支持度{2}=C2/C1=2/3=0.67=67%<70%

    ​ 3=>2;**可信度=**支持度{2,3}/支持度{3}=C2/C1=2/3=0.67=67%<70%

    {2,5}{3,5}依次类推找强关联规则。

    Processed: 0.014, SQL: 8