3

Apriori 算法的最小置信度和最小支持值的合适值是多少?你怎么能调整它们?它们是固定值,还是在算法运行期间发生变化?如果你以前用过这个算法,你用了什么值?

4

2 回答 2

9

我建议从支持值 0.05 和信心值 0.80 开始。但我同意您应该了解它们究竟代表什么,以便能够适当地定义它们。对于规则 A => B(其中 A、B 非空集)

Support (A ⇒ B): s = P(A, B)
Confidence (A ⇒ B): c = P(B | A)
Lift (A ⇒ B): L = c/P(B)

提升对于评估规则的趣味性很重要(因为您通常会想出数百条规则)。已经提出了超过 20 种趣味性度量。这些包括 Ф 系数、kappa、互信息、J 度量和基尼指数。我个人根据 J 度量来订购我的规则。

J.measure (A ⇒B): J = s/c * (c*log(L) + (1-c)*log((L-c)/L))
于 2010-01-07T13:56:41.730 回答
2

您必须在运行算法之前设置 minsup 和 minconf 值,并且它们在挖掘过程中不会改变。

选择 minsup 参数取决于您的数据。

对于某些数据,我使用 80%。对于其他一些数据,我使用 0.05 % 。这一切都取决于数据集。通常,我从一个高值开始,然后我减小这些值,直到找到一个可以生成足够模式的值。

对于信心,它更容易一些,因为它代表了您对规则的信心。所以通常,我使用 60% 之类的东西。但这也取决于数据。

此外,如果您不想使用 minsup 参数,您可以使用 top-k 挖掘算法。在这种情况下,您将指定 k=1000,例如算法将发现 1000 条规则,而不是使用 minsup。我为关联规则挖掘设计了一种这样的算法。它被称为 TopKRules,您可以下载源代码。描述它的论文将很快发表。它只使用两个参数:k 和 minconf。

于 2012-03-27T02:35:31.387 回答