hadoop - 在Mahout中根据文本创建矢量的问题

标签 hadoop mapreduce mahout hortonworks-data-platform

我正在使用Mahout 0.9(安装在HDP 2.2上)进行主题发现(潜在Drichlet分配算法)。我的文本文件存储在目录中inputraw并按顺序执行以下命令

命令1:

mahout seqdirectory -i inputraw -o output-directory -c UTF-8

命令2:
mahout seq2sparse -i output-directory -o output-vector-str -wt tf -ng 3 --maxDFPercent 40 -ow -nv

命令3:
mahout rowid -i output-vector-str/tf-vectors/ -o output-vector-int

命令4:
mahout cvb -i output-vector-int/matrix -o output-topics -k 1 -mt output-tmp -x 10 -dict output-vector-str/dictionary.file-0

执行完第二条命令后,按照预期,它会在目录下创建一堆子文件夹和文件。output-vector-str(命名为df-countdictionary.file-0frequency.file-0tf-vectorstokenized-documentswordcount)。考虑到我的输入文件的大小,这些文件的大小看起来都不错,但是``tf-vectors''下的文件的大小非常小,实际上只有118个字节)。

显然作为
`tf-vectors` is the input to the 3rd command, the third command also generates a file of small size. Does anyone know:
  • 下文件的原因是什么
    `tf-vectors` folder to be that small? There must be something wrong.
    
  • 从第一个命令开始,所有生成的文件都具有奇怪的编码,并且也不可读。这是预期的吗?
  • 最佳答案

    您的答案如下:

  • tf-vectors文件夹下的文件这么小的原因是什么?

  • 考虑到您给定的maxdf百分比仅为40%, vector 很小,这意味着仅考虑文档频率(整个文档中出现的术语的百分比频率)小于40%的术语。换句话说,在生成 vector 时,仅考虑出现在40%或更少的文档中的术语。
  • tf-vectors文件夹下的文件这么小的原因是什么?

  • mahout中有一个称为mahout seqdumper的命令,可以将“顺序”格式的文件转储为“人类”可读格式的文件。
    祝好运!!

    关于hadoop - 在Mahout中根据文本创建矢量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28331161/

    相关文章:

    hadoop - 如何在 Ubuntu 14.04 上挂载 HDFS

    c++ - MapReduce - 直接插入 map 中 vector<int> 的第一个位置

    scala - 如何使用 Scala IDE 和 Maven 构建 spark 应用程序?

    java - Maven 找不到符号,但独立构建有效

    scala - 无法使用 Maven 项目从 Eclipse 通过 HiveContext 访问配置单元表

    hadoop - 如何将图像( Blob )加载到Hbase

    java - Hadoop、MapReduce - 多输入/输出路径

    hadoop - 可以同时运行多少个 Mapreduce 作业

    java - 类路径编译正确,但不会运行。我错过了什么

    maven - 如何在Ubuntu-14.04中彻底清理Maven