【发布时间】:2014-07-11 23:46:01
【问题描述】:
假设我们定期收到一组数字。这些数字是固定的,比如一到一千。如果我在一段时间内收集这些数字,我该如何
- 找出最常一起出现的数字
- 找出这些数字最常出现的顺序。
例如,{790, 111, 432}、{123, 121}、{770, 123} 会导致
- 群组:
{790, 111, 432}和{123, 770, 123} - 序列:
{790, 111, 432, 770, 123, 121}
(或者,{770, 123, 121, 790, 111, 432})
而且,{790, 111, 432}、{123, 121}、{770, 123}、{770, 439, 98}、{111, 432, 190} 会导致
- 群组:
{790, 111, 432, 190}和{123, 770, 123, 439, 98} - 序列:
{790, 111, 432, 190, 770, 439, 98, 123, 121}
(或者,{790, 111, 432, 190, 770, 123, 121, 439, 98}{123, 770, 123, 439, 98, 790, 111, 432, 190}...)
第一个可能很容易。我试图创建一个距离矩阵,并从距离矩阵中提取信息。我尝试的另一个想法是加载到 HDFS 中,并运行 Mahout 谱聚类,但成功有限。我觉得必须使用一些聚类算法。任何帮助都会很棒。
第二个是一个更复杂的问题,我认为简单的随机数字是行不通的,因为有概率的元素。
解决这两个问题的正确工具/算法是什么?
【问题讨论】:
-
对我来说听起来像 frequent itemset mining 或 sequential pattern mining。
-
正如所写,这个问题对于 Stack Overflow 来说太宽泛了。我会投票关闭过于广泛,但无法关闭开放赏金的问题。正如@larsmans 指出的那样,这是一个data mining 问题,其解决方案比此处合理大小的答案所能解释的要复杂得多。去阅读数据挖掘技术,尝试一些事情,如果你的实现有问题,回来问具体的问题。
-
@JimMischel,感谢您的意见,但您期望的特异性是什么?我确实尝试过图论(基于自定义距离矩阵的算法)和数据挖掘(通过 Mahout 进行聚类算法)。照原样,您的评论并不能帮助我理解您的担忧。如果你能像 larsmans 一样,让我知道你指的是数据挖掘的哪一部分,那将有很大帮助。
-
@larsmans,愿意回答吗?
-
@CMR,这不是一个正确的答案。这只是一个寻找文献的建议。
标签: algorithm language-agnostic sequence analytics cluster-analysis