Aprior算法--菜单支持度与置信度

本文介绍了使用Apriori算法计算菜单中的支持度与置信度,以此来发现菜品之间的关联规则。文章详细阐述了算法的实现过程,包括寻找最大k项频繁集和计算置信度,并提供了Python代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Aprior算法–菜单支持度与置信度

刚开始学习数据挖掘,有很多不明白的地方,还希望各位大佬指点迷津。最近我们学到了挖掘建模里的关联规则,老师布置了一个题目用Apriori算法计算菜单的支持度与置信度,从而推出各个菜品之间的关联规则。

Apriori算法实现过程

菜单的简洁数据如下:
这是菜单的简洁数据
过程一:找最大k项频繁集
1)算法简单的扫描所有的事务,事务中的每一项都是候选1项集的集合C1的成员,计算每一项的支持度。
2)对C1中各项集的支持度与预先设定的最小支持度阈值进行比较(这里我设置的是support=0.2),保留大于或者等于该阈值的项,得1项频繁集L1.
3)扫描所有事务,由L1连接得到候选集C2,然后计算两项之间的支持度,根据最小支持度选出频繁项集L2。
4)扫描所有事务,由L1和L2连接得到候选集C3,计算三项之间的支持度,根据最小支持度选出频繁项集L3。
5)由L3与L1连接得候选集C4为空集,则可以得到最大3项频繁集是{a,b,c},{a,c,e}。
由此过程得到的L1和L2都是频繁集,L3是最大频繁集。
A.C1候选项集每个事务计算后的支持度

项集 support
{a} 0.7
{b} 0.8
{c} 0.7
{d} 0.2
{e} 0.3

B.根据最小支持度选出的1项频繁项集L1

项集 support
{a} 0.7
{b} 0.8
{c} 0.7
{d} 0.2
{e} 0.3

C.由L1得到的候选项集C2并计算支持度

项集 support
{a,b} 0.5
{a,c} 0.5
{a,d} 0.1
{a,e} 0.3
{b,c} 0.5
{b,d} 0.2
{b,e} 0.1
{c,d} 0.1
{c,e} 0.3
{d,e} 0

根据最小支持度选出的频繁项集L2

项集 support
{a,b} 0.5
{a,c} 0.5
{a,e} 0.3
{b,c} 0.5
{b,d} 0.2
{c,e} 0.3

由L1与L2连接得到候选集C3

项集 support
{a,b,c} 0.3
{a,c,e} 0.3

根据最小支持度得出的频繁项集L3

项集 support
{a,b,c} 0.3
{a,c,e} 0.3

过程二:有频繁集产生关联规则
置信度的计算公式就是概率论里的知道A事件已发生的前提下求B发生的概率
在这里插入图片描述
下面是我在PyCharm里面运行的结果
在这里插入图片描述

Apriori.py

apriori.py是需要自己编的算法实现代码,然后通过包引入到同类文件下的实现代码cal_apriori.py

# -*- coding: utf-8 -*-
from __future__ import print_function
#引入pandas包
import pandas as pd
# 自定义连接函数,用于实现L_{k-1}到C_k的连接
def connect_string(x, ms):
    #进行排序后的ms和x放到一个列表里赋值给x
    x = list(map(lambda i: sorted(i.split(ms)), x))
    #把x列表的第一个元素长度赋值给l
    l = len(x
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值