1

我在伪分布式 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   |

关于我做错了什么的任何想法?

4

1 回答 1

1

我最终在 mahout 用户邮件列表上问了这个问题并得到了答案。我会在这里为任何想知道与我相同的人复制它:

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

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

于 2012-09-25T20:02:00.610 回答