R 中的规则:非常高的提升量度

Arules in R: A very high measure for lift

运行 Apriori 与 Arules 包一起生成具有非常高提升度的规则。

例如:

A -> B support=0.0023 confidence=0.6832 lift=28.02

(min_support=0.002 和 min_conf=0.2)

在某些规则中,升力高达 250!我见过人们讨论大于 1 的提升(其中大多数小于 5),但我想知道如何用非常高的提升值来解释这些规则。

提升量度代表购买项目 X 时购买项目 Y 的可能性,同时控制项目 Y 的受欢迎程度:

支持(X,Y)/(支持(X)*支持(Y))。

一般来说,升力值大于1表示如果购买了商品X则很有可能购买商品Y,而小于1则表示如果购买了商品X则不太可能购买商品Y。如果你有一个巨大的数据集,那会很有趣,但是,有了你的小数据集和支持,这就不算什么了。在这里查看一个很好的说明 answer:

您将最小支持度计数(arules 中的先验报告)设置为

0.002 * 530 transactions = 1.06

这意味着每条规则的项目只偶然一起发生一次,将被视为导致许多具有非常高提升度的虚假规则。例如,如果两个项目 x 和 y,每个项目在数据集中只出现一次但恰好在同一笔交易中,那么您的数据集会得到

的提升

lift(x -> y) = supp(x, y)/(supp(x) * supp(y)) = (1/580 / (1/580 * 1/580)) = 580.

但是,这个规则不是很有用,因为它只是偶然发生了一次。

以下论文详细介绍了这个问题和其他问题以及可能的解决方案:

Michael Hahsler and Kurt Hornik. New probabilistic interest measures for association rules. Intelligent Data Analysis, 11(5):437-455, 2007