如何根据过去的观察对数据进行聚类和排序?

时间:2014-05-22 19:09:38

标签: algorithm language-agnostic sequence analytics cluster-analysis

让我们假设我们定期收到一组数字。这些数字是固定的间隔,比如一到一千。如果我在一段时间内收集这些数字,我该如何

  • 找到大多数一起出现的数字
  • 找出这些数字主要出现在哪个序列。

例如,{790, 111, 432}{123, 121}{770, 123}会导致

  1. 群组:{790, 111, 432}{123, 770, 123}
  2. 序列:{790, 111, 432, 770, 123, 121}
    (或,{770, 123, 121, 790, 111, 432}
  3. {790, 111, 432}{123, 121}{770, 123}{770, 439, 98}{111, 432, 190}会导致

    1. 群组:{790, 111, 432, 190}{123, 770, 123, 439, 98}
    2. 序列:{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} ...)
    3. 第一个可能很容易。我试图创建一个距离矩阵,并从距离矩阵中绘制信息。我尝试的另一个想法是加载到HDFS,并运行Mahout谱聚类,但成效有限。我觉得必须使用一些聚类算法。任何帮助都会很棒。

      第二个是一个更复杂的问题,我认为简单的改组数字不会起作用,因为存在概率因素。

      用于解决这两个问题的正确工具/算法是什么?

1 个答案:

答案 0 :(得分:2)

将其翻译成图论。制作有向加权图,其中顶点是数字,每个顶点连接到每个其他顶点,A - > B边上的权重是B在集合中跟随A的次数。现在的问题是在这个图中找到最高加权哈密顿路径,它基本上是一个非对称Travelling salesman problem。请注意,在TSP中,通常会找到最短路径而不是最长路径,但您可以通过否定所有权重来克服此问题,但我不确定负权重是否适用于所有算法。

我建议使用针对增量数据优化的ant colony optimization算法,但我不是图论专家。