seq2sparse似乎忽略了我的“-x”参数的值

时间:2012-09-21 19:35:51

标签: mahout

我在伪分布式hadoop安装上使用mahout 0.7进行测试。

我正在做的很多事情都是由Mahout in Action引导的,我知道处理0.5,但据我所知,seq2sparse没有任何重大变化。

我遇到了seq2sparse生成的tfidf向量问题。无论我将“-x”(最大文档频率百分比)设置为什么,我最终都会在字典中使用相同数量的术语,以及相同大小的矢量。

我找到了一篇关于mahout 0.6的帖子,其中-x被解析为绝对文档数而不是文档的百分比。应该已经修复了0.7,但我也尝试过以这种方式使用它,看它是否会有所帮助。我得到的条款数量没有变化。以下是我尝试过的值,以及我最终使用的术语数量。我的数据集是4850维基百科文章:http://dumps.wikimedia.org/enwiki/20110803/

确切的文件是:pages-articles1.xml.bz2

将xml文件转换为seqfile:

mahout seqwiki -all -i <path to xml file> -o <path to output directory>

我对seq2sparse的调用如下所示:

mahout seq2sparse -i <seq directory> -o <out dir> -ow -wt tfidf -x 4800 -nv

我的结果:

|-x value| #of terms |
|4800    |  256623   |
|4600    |  256623   |
|2500    |  256623   |
|99      |  256623   |
|90      |  256623   |
|25      |  256623   |
|5       |  256623   |

关于我做错的任何想法?

1 个答案:

答案 0 :(得分:1)

我最后在mahout用户邮件列表上询问了这个问题并得到了答案。我会在这里为任何想知道我的事情的人重现它:

Dave Byrne - “maxDFPercent实际上不会从字典中删除这些术语,或者减小tfidf向量的大小。它只是将该向量的值设置为0。

换句话说,字典大小和向量长度将保持不变,非零项更少。“