使用词频csv文件进行Weka聚类

时间:2012-02-28 19:29:08

标签: java data-mining weka

我有一个这种格式的csv文件:

<userName>, word1=<word1Frequency>, word2=<word2Frequency>, ...

第一个问题是,这个csv文件没有标题,这是WEKA所要求的。标题应该是什么样的?应该只是 username, word1, word2, ...

另外,要导入群集,如果每个用户在公共目录下放置1个文件,是否可以?我对此很新。我之前使用过槌,所以请随意使用槌的参考。

任何帮助都将受到高度赞赏。

谢谢!

2 个答案:

答案 0 :(得分:2)

将您的文件转换为ARFF格式,其标题如下所述:

http://weka.wikispaces.com/ARFF+%28stable+version%29

关于从多个目录中读取文件,我相信这个例子可以提供帮助:

http://weka.wikispaces.com/ARFF+files+from+Text+Collections

HTH

答案 1 :(得分:1)

要将其转换为ARFF格式,您需要为每个唯一字分配一个列ID。 然后将向量转换为ARFF稀疏向量,如下所示:

{<colnr> <value>, <colnr> <value>, ...}

其中colnr是整数属性编号(您为该单词指定的唯一列ID)。我相信,它们必须以递增的方式下令。

或者,您可以尝试ELKI。它似乎比Weka有更多聚类。它有几种格式的解析器API,可能是这些格式中的一种,可以满足您的需求,或者可以更轻松地满足您的需求。

TermFrequencyParser似乎几乎是你所需要的:

  

用于加载术语频率数据的解析器,它基本上是稀疏向量   用文字键。

     

解析包含术语频率的文件。预期的格式是'label term1 term2 ...'。条款不得包含分隔符!

您可以将分隔符模式设置为[, =]+,它会立即读取您的文件。