基于Apriori算法的频繁项集与基于项的推荐

Frequent item set based on Apriori Algorithm and item based recommendation

我正在使用 Apriori 算法,当我使用 min support= 2 时得到以下项目集作为频繁项目集。(项目集:支持) 我对这个实现的 objective 是根据客户确定的频繁项目集和他已经添加到购物车的内容向客户提出建议

-+- L -+-
[5] : 3
[1] : 3
[2] : 3
[3] : 4

-+- L -+-
[1, 2] : 2
[1, 5] : 2
[3, 5] : 3
[1, 3] : 3
[2, 5] : 3
[2, 3] : 3

-+- L -+-
[1, 2, 5] : 2
[1, 2, 3] : 2
[2, 3, 5] : 3
[1, 3, 5] : 2

-+- L -+-
[1, 2, 3, 5] : 2

我的第一个问题是:我只用了支持规则来识别上面的集合。在什么时候我应该使用置信度和提升规则?是在识别频繁项集时还是在根据识别出的频繁项集添加推荐时?

我的第二个问题是:我在添加推荐时使用了置信度规则,我应该如何检查置信度规则? 例如,如果用户将商品 2,5 添加到他的购物清单中,我会建议购买商品 3,因为 well.based on [2,3,5] set.To 推荐商品 3 规则应该如何?即 [2,5] 的频率应该更接近 [2,3,5] 的频率或 [3] 的频率应该更接近 [2] 的频率,3,5]?

在建议第 3 项之前我必须检查哪个条件?

我的第三个问题是提升规则在哪些情况下很重要?根据上面的项目集,似乎可以建议任何项目,即使我考虑了所有支持、信心和提升规则。如果我错了请指正?

谢谢

您只完成了第一步,频繁项集

常用项集如下所示:1, 2, 3, 4, 5 并且具有 支持

现在需要进行第二步,关联规则

您想要这样的规则:

1, 2, 3 -> 4, 5  (confidence: 60%, lift: 1.2)

意思是“如果用户的购物篮中有 1、2 和 3,则推荐 4 和 5。您然后计算置信度和提升度,以决定保留和使用哪些规则.

致一二:

关联规则如下:

{3} -> {2, 5}

这意味着,例如,如果客户购买了 3 个,他也有一定的概率购买 2 个和 5 个。同样,概率由支持度和置信度决定。例如:

> dataset 
1: {1, 2, 3} 
2: {1, 2, 4}
3: {1, 2, 5} 

Support level = 0.6
Confidence level = 0.6
Number of cases = 3

// Get frequency of each item
Total number of 1's bought = 3
Total number of 2's bought = 3
Total number of 3's bought = 1
Total number of 4's bought = 1
Total number of 5's bought = 1

// Check support of each item against support level
Support of 1 = 3 / 3 = 1 >= 0.6 = support level
Support of 2 = 3 / 3 = 1 >= 0.6 = support level
Support of 3 = 1 / 3 = 0.33 <= 0.6 = support level
Support of 4 = 1 / 3 = 0.33 <= 0.6 = support level
Support of 5 = 1 / 3 = 0.33 <= 0.6 = support level
-> Frequent itemsets = {(1), (2), (1, 2)}
-> Association rules = {1 -> 2}

// Check confidence of each association rule against confidence level
Confidence of 1 -> 2 = 3 / 3 = 1 >= 0.6 = confidence level
-> Strong association rules = {1 -> 2}
-> For a customer who buys 1, the recommandation is article 2

致三:

提供的数据是频繁项集,没有关联规则。因此,从那些原始的频繁项集中,不可能将建议关联起来,比如如果顾客买了 1 个,他也会以一定的概率购买 2 个。它们需要被处理成关联规则。而提升值只是表示对于一个关联规则,在这种关系中关联规则的置信度值与期望值保持一致。也就是说这个关联规则的意义。

希望这有帮助。