数据挖掘和频繁数据集

时间:2013-01-04 20:56:05

标签: data-mining

几天后我一直为考试做一些工作,我正在阅读一些过去的论文,但不幸的是没有相应的答案。我已经回答了这个问题,我想知道是否有人可以告诉我我是否正确。

我的问题是

  

(c)交易数据集T如下:

     

t1:牛奶,鸡肉,啤酒

     

t2:鸡肉,奶酪

     

t3:奶酪,靴子

     

t4:奶酪,鸡肉,啤酒,

     

t5:鸡肉,啤酒,衣服,奶酪,牛奶

     

t6:衣服,啤酒,牛奶

     

t7:啤酒,牛奶,衣服

     

假设最小支持为0.5(minsup = 0.5)。

     

(i)查找所有频繁项目集。

以下是我如何解决这个问题:

  

项目:金额

     

牛奶:4

     

鸡肉:4

     啤酒:5

     

奶酪:4

     

靴子:1

     衣服:3

现在因为minsup是0.5,你会消除靴子和衣服,并对剩下的给予进行组合:

  

{items}:金额

     

{牛奶,鸡肉}:2

     

{牛奶,啤酒}:4

     

{Milk,Cheese}:1

     

{鸡肉,啤酒}:3

     

{Chicken,Cheese}:3

     

{啤酒,奶酪}:2

将牛奶和啤酒作为唯一的常用物品,因为它是唯一一个在混合物上方的物品?

3 个答案:

答案 0 :(得分:2)

我同意你应该选择Apriori算法。

Apriori算法基于这样的想法:对于一对频繁的项目,每个单独的项目也应该是频繁的。 如果汉堡包 - 番茄酱对频繁,那么汉堡包本身也必须经常出现在篮子里。番茄酱也是如此。

因此,对于算法,建立一个“阈值X”来定义什么是或不是频繁的。如果某个项目出现的次数超过X次,则会被视为频繁。

算法的第一步是传递每个篮子中的每个项目,并计算它们的频率(计算它出现的时间)。 这可以使用大小为N的散列来完成,其中散列的位置y指的是Y的频率。

如果项目y的频率大于X,则说它频繁。

在算法的第二步中,我们再次遍历项目,计算篮子中对的频率。问题是这样的 我们只计算单独频繁的项目。因此,如果项目y和项目z经常出现, 然后我们计算该对的频率。这种情况大大减少了要计算的对和占用的内存量。

一旦计算出来,大于阈值的频率就是频繁项目集。

http://girlincomputerscience.blogspot.com.br/2013/01/frequent-itemset-problem-for-mapreduce.html

答案 1 :(得分:1)

有两种方法可以解决问题:

  1. 使用Apriori算法
  2. 使用FP计数
  3. 假设你使用的是Apriori,你得到的答案是正确的。

    算法很简单:
    首先,您会计算频繁的1项设置,并将项目集排除在最低支持之下 然后通过组合来自先前迭代的频繁项目来计算频繁的2项目集合,并将项目集排除在支持阈值之下  算法可以继续,直到没有项集大于阈值。
    在给你的问题中,你只能得到1组2项大于阈值的东西,所以你不能再进一步移动。
    在维基百科here上有一个已解决的进一步步骤的例子。

    您可以参考Han和Kamber的“数据挖掘概念和技术”以获取更多示例。

答案 2 :(得分:0)

好的开始,你必须首先理解,数据挖掘(有时称为数据或知识发现)是从不同角度分析数据并将其总结为有用信息的过程 - 可用于增加收入,削减成本的信息,或两者。数据挖掘软件是用于分析数据的众多分析工具之一。它允许用户分析来自许多不同维度或角度的数据,对其进行分类,并总结所识别的关系。从技术上讲,数据挖掘是在大型关系数据库中的数十个字段之间找到相关性或模式的过程。

现在,存储在公司数据库中的原始数据量正在爆炸式增长。从数万亿的销售点交易和信用卡购买到逐个像素的星系图像,数据库现在以千兆字节和太字节为单位进行测量。 (一兆兆字节=一万亿字节。一个太字节相当于大约200万本书!)例如,每天,沃尔玛向A& T大规模并行系统上传2000万个销售点交易,其中483个处理器运行集中数据库。然而,原始数据本身并不能提供太多信息。在当今激烈竞争的商业环境中,企业需要迅速将这些TB级的原始数据转化为对客户和市场的重要洞察,以指导其营销,投资和管理策略。

现在您必须了解关联规则挖掘是数据挖掘中的一个重要模型。其挖掘算法发现数据中满足用户指定的最小支持(minsup)和最小置信度(minconf)约束的所有项关联(或规则)。 Minsup控制规则必须涵盖的最小数据案例数。 Minconf控制规则的预测强度。由于只有一个minsup用于整个数据库,因此该模型隐含地假设数据中的所有项具有相同的性质和/或在数据中具有相似的频率。然而,在现实生活中很少使用这种情况。在许多应用程序中,某些项目在数据中非常频繁出现,而其他项目很少出现。如果minsup设置得太高,则无法找到涉及稀有项目的规则。要查找涉及频繁和稀有项目的规则,必须将minsup设置得非常低。这可能导致组合爆炸,因为那些频繁的物品将以所有可能的方式彼此相关联。这种困境被称为罕见项目问题。本文提出了一种解决这一问题的新技术。该技术允许用户指定多个最小支持以反映项目的性质及其在数据库中的变化频率。在规则挖掘中,根据规则中的项目,不同的规则可能需要满足不同的最小支持。

给定一组事务T(数据库),挖掘关联规则的问题是发现所有关联规则的支持和置信度大于用户指定的最小支持(称为minsup)和最小置信度(称为minconf)

我希望一旦你理解了数据挖掘的基础知识,这个问题的答案就会变得明显。