机器学习——Apriori算法(基于关联规则的推荐)

本文介绍了关联规则在推荐系统中的应用,包括频繁项集的定义、支持度和置信度的计算,以及Apriori算法的优缺点。提出利用提升度作为更全面的评估指标,以改进推荐效果。
摘要由CSDN通过智能技术生成

概念思想:

关联规则反映一个事物与其他事物之间的相互依存性和关联性。若两个或多个事物之间存在一定 的关联关系,则其中一个事物就能够通过其他事物预测到。

频繁项集就是支持度大于等于最小支持度(Min Support)阈值的项集,所以小于最小值支持度的项目就是非频繁项集,而大于等于最小支持度的的项集就是频繁项集。

支持度(Support)

支持度是个百分比,它指的是某个商品组合出现的次数与总次数之间的比例。

置信度(Confidence)

它指的就是当你购买了商品A,会有多大的概率购买商品B,置信度是个条件概念,就是说在A发生的情况下,B发生的概率是多少

提升度

提升度(A→B)=置信度(A→B)/支持度(B)

这个公式是用来衡量A出现的情况下,是否会对B出现的概率有所提升。所以提升度有三种可能:
提升度(A→B)> 1:代表有提升;
提升度(A→B)= 1:代表有没有提升,也没有下降;
提升度(A→B)< 1:代表有下降。

步骤:

下面是使用关联规则完成推荐系统的详细步骤:

  1. 数据预处理:首先,需要对原始数据进行预处理,包括数据清洗、去重、转换等操作,以确保数据的准确性和一致性。

  2. 构建候选项集:根据预处理后的数据,构建候选项集。候选项集是指可能出现在关联规则中的项的集合。

  3. 计算支持度:对于每个候选项集,计算其在数据集中的支持度。支持度是指某个项集在数据集中出现的频率。

  4. 生成频繁项集:根据设定的最小支持度阈值,筛选出支持度大于等于阈值的项集,这些项集称为频繁项集。

  5. 生成关联规则:对于每个频繁项集,生成其所有可能的关联规则。关联规则的生成可以通过对频繁项集进行拆分和组合来实现。

  6. 计算信任度和提升度:对于每个关联规则,计算其信任度和提升度。信任度是指在先导项出现的情况下,后继项也出现的概率。提升度是指使用关联规则后,后继项出现的概率相对于没有使用关联规则时的提升程度。

  7. 筛选规则:根据设定的最小信任度和最小提升度阈值,筛选出具有实际价值的关联规则。

  8. 推荐商品:根据筛选出的关联规则,推荐与用户购买历史相关的商品。

1、K=1,计算K项集的支持度;
2、筛选掉小于最小支持度的项集;
3、如果项集为空,则对应K-1项集的结果为最终结果。

否则K=K+1,重复1-3步

优缺点:

 Apriori算法利用频繁集的两个特性,过滤了很多无关的集合,效率提高不少

Apriori算法是一个候选消除算法,每一次消除都需要扫描一次所有数据记录,造成整个算法在面临大数据集时显得无能为力。每次生成频繁项集时都要进行全表扫描

改进:

在关联规则中,因为支持度表示在历史中A和B同时购买的概率,置信度表示A推荐B的可信程度。由此可以采用提升度=支持度(Support)*置信度(Confidence )的方式来表示A推荐B而A和B同时购买的概率。这样相比于单纯使用支持度更全面,同时避免了支持度中等或置信度中等的关联规则被淘汰。

参考文献:

推荐系统之基于关联规则推荐

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值