2013-01-09 15 views
2

我有一个CSV数据集,它是一组键值对,数据集很大,数值是整数和短字符串的混合(即不是冗长的文本,而是关键词),我想用Mahout的聚类算法来处理它。将关键值数据集表示为Mahout向量

问题在于将此CSV转换为可由Mahout使用的向量。我一直在阅读“Mahout In Action”,并且似乎有两种矢量化方法,使用Mahout的DenseVector,RandomAccessSparseVector和SequentialAccessSparseVector实现使用数字值,或者使用矢量空间模型矢量化文本文档。

我想要对它进行矢量化的数据不是真正的文本文档,但是由于它是一个包含许多不同键和值的庞大数据集,因此很难将其映射到数值。矢量化这种数据以用于Mahout的最佳方式是什么?

任何指针,将不胜感激。

谢谢

回答

0

你很可能需要一个RandomAccessSparseVector。

  • 不是DenseVector,因为大多数可能的键不会被表示。你有一个整数和字符串作为键的组合,因此它是一个很大的键空间。
  • 不是SequentialAccessSparseVector,因为在您的密钥空间中似乎没有 自然排序,这将使访问的特定顺序 更有效地在Mahout中运行您的算法。

你可以很容易地尝试不同的矢量表示,看看哪个给你最好的表现。

相关问题