在 Weka 的 Apriori 算法中获取频率
Getting frequencies in Apriori algorithm in Weka
我正在尝试在 Weka 中应用 Apriori 算法。
维基百科有一个简单的例子 (Apriori algorithm):
alpha beta epsilon
alpha beta theta
alpha beta epsilon
alpha beta theta
由此table可以确定以下关联规则:
- 100% 的包含
alpha
的集合还包含 beta
- 50% 的集合
alpha
,测试版也有 epsilon
- 50% 的集合
alpha
,测试版也有 theta
我将这些条目转换为 CSV 并添加了另一个属性行,这样我终于有了这个文件:
prod1,prod2,prod3
alpha,beta,epsilon
alpha,beta,theta
alpha,beta,epsilon
alpha,beta,theta
我将其加载到 Weka 并单击选项卡 "Associate",默认选择算法 "Apriori"。
结果我得到以下信息:
1. prod2=beta 4 ==> prod1=alpha 4 conf:(1)
2. prod1=alpha 4 ==> prod2=beta 4 conf:(1)
3. prod3=epsilon 2 ==> prod1=alpha 2 conf:(1)
4. prod3=theta 2 ==> prod1=alpha 2 conf:(1)
5. prod3=epsilon 2 ==> prod2=beta 2 conf:(1)
6. prod3=theta 2 ==> prod2=beta 2 conf:(1)
7. prod2=beta prod3=epsilon 2 ==> prod1=alpha 2 conf:(1)
8. prod1=alpha prod3=epsilon 2 ==> prod2=beta 2 conf:(1)
9. prod3=epsilon 2 ==> prod1=alpha prod2=beta 2 conf:(1)
10. prod2=beta prod3=theta 2 ==> prod1=alpha 2 conf:(1)
但我也想要维基百科示例中的频率(见上文)。
Weka 给您的信心 (conf:(1)
) 正是您想要的 "frequencies"。
如您所见,您的规则“50% 的集合具有 alpha、beta 也具有 epsilon”不在 Weka 的输出中。这是因为 Weka 列出了按置信度降序排列的规则。因此,要列出您的 50% 规则,您需要增加 Weka 的输出数量。
这可以通过增加 "numRules"(其默认值为 10,请参见下面的屏幕截图)来完成。对于您的特定示例,您还需要将 "minMetric" 从 0.9 降低到 0.5(或更低)。
我正在尝试在 Weka 中应用 Apriori 算法。
维基百科有一个简单的例子 (Apriori algorithm):
alpha beta epsilon
alpha beta theta
alpha beta epsilon
alpha beta theta
由此table可以确定以下关联规则:
- 100% 的包含
alpha
的集合还包含beta
- 50% 的集合
alpha
,测试版也有epsilon
- 50% 的集合
alpha
,测试版也有theta
我将这些条目转换为 CSV 并添加了另一个属性行,这样我终于有了这个文件:
prod1,prod2,prod3
alpha,beta,epsilon
alpha,beta,theta
alpha,beta,epsilon
alpha,beta,theta
我将其加载到 Weka 并单击选项卡 "Associate",默认选择算法 "Apriori"。
结果我得到以下信息:
1. prod2=beta 4 ==> prod1=alpha 4 conf:(1)
2. prod1=alpha 4 ==> prod2=beta 4 conf:(1)
3. prod3=epsilon 2 ==> prod1=alpha 2 conf:(1)
4. prod3=theta 2 ==> prod1=alpha 2 conf:(1)
5. prod3=epsilon 2 ==> prod2=beta 2 conf:(1)
6. prod3=theta 2 ==> prod2=beta 2 conf:(1)
7. prod2=beta prod3=epsilon 2 ==> prod1=alpha 2 conf:(1)
8. prod1=alpha prod3=epsilon 2 ==> prod2=beta 2 conf:(1)
9. prod3=epsilon 2 ==> prod1=alpha prod2=beta 2 conf:(1)
10. prod2=beta prod3=theta 2 ==> prod1=alpha 2 conf:(1)
但我也想要维基百科示例中的频率(见上文)。
Weka 给您的信心 (conf:(1)
) 正是您想要的 "frequencies"。
如您所见,您的规则“50% 的集合具有 alpha、beta 也具有 epsilon”不在 Weka 的输出中。这是因为 Weka 列出了按置信度降序排列的规则。因此,要列出您的 50% 规则,您需要增加 Weka 的输出数量。
这可以通过增加 "numRules"(其默认值为 10,请参见下面的屏幕截图)来完成。对于您的特定示例,您还需要将 "minMetric" 从 0.9 降低到 0.5(或更低)。