如何从java中的支持计算置信度

如何从java中的支持计算置信度,java,data-mining,apriori,Java,Data Mining,Apriori,现在,我正在开发一个程序,该程序将列出对电影进行评级的用户列表,并计算对所有电影的支持度。我给我的程序一个我想要计算的最大电影数量,一个最小支持度,和一个最小置信度 目前,我的程序计算所有单个电影的支持度,并将满足最低支持度的电影打印到具有支持度值的文件中 然后,它继续从满足最低支持的单个电影开始,计算也满足最低支持的电影对,并将这些统计数据打印到新文件中 这将一直持续到不再有满足最低支持的电影对/集或达到最大电影数为止 电影的最大数量是一个简单的整数。例如,如果我将其设置为3,它将只计算对单个

现在,我正在开发一个程序,该程序将列出对电影进行评级的用户列表,并计算对所有电影的支持度。我给我的程序一个我想要计算的最大电影数量,一个最小支持度,和一个最小置信度

目前,我的程序计算所有单个电影的支持度,并将满足最低支持度的电影打印到具有支持度值的文件中

然后,它继续从满足最低支持的单个电影开始,计算也满足最低支持的电影对,并将这些统计数据打印到新文件中

这将一直持续到不再有满足最低支持的电影对/集或达到最大电影数为止

电影的最大数量是一个简单的整数。例如,如果我将其设置为3,它将只计算对单个电影、2对电影和3组电影的支持,并将所有具有各自支持的单曲、对和集打印回每个文件

我的一个输出文件的示例如下所示

    99 195 347,0.21314952279957583
    99 343 347,0.24284199363732767
    99 343 361,0.23329798515376457
    99 347 361,0.23223753976670203
    343 347 361,0.20254506892895016
这是三部电影的集合,空格分隔,后跟“,”和支持值。单个电影和电影对文件看起来完全相同,但逗号前只有1(或2)个电影ID

注意:我有一个电影ID(编号)到电影名称的映射,以便以后打印


我的问题。。。根据我所掌握的信息,是否有办法计算所有可能规则的置信度,并打印/保存满足最低置信度%的规则?

嗯,您尝试过什么?

互联网上到处都有APRIORI伪代码,还有数百种实现。大多数人未能有效实施的部分是将候选人数保持在最小的规则——你不想尝试所有3号或更大的组合。它花费的时间太长,而且做所有的组合都是毫无价值的

Apriori的关键是生成和修剪下一轮的候选对象

另一方面,信心的定义非常简单

计算一个规则,然后仅通过支持完整项目集和头部来计算置信度。显然,您已经获得了支持,因此计算置信度应该是对支持值DB的两次查找