我试着用mahout部署了20个新闻组的例子,它似乎工作得很好。出于好奇,我想深入挖掘模型统计数据,
例如: bayes-model目录包含以下子目录,
训练器-tfIdf训练器-thetaNormalizer训练器-重量
其中包含part-0000文件。我想通过阅读文件的内容来更好地理解,cat命令似乎不起作用,它打印了一些垃圾。
任何帮助都是非常感谢的。
谢谢
发布于 2011-11-15 02:26:17
'part-00000‘文件是由Hadoop创建的,采用Hadoop的SequenceFile格式,其中包含特定于Mahout的值。你不能把它们作为文本文件打开,不能。您可以在Mahout中找到实用程序类SequenceFileDumper,它将尝试将内容作为文本输出到标准输出。
至于这些值最初是什么,它们是Mahout执行的基于Hadoop的多阶段计算的中间结果。您可以阅读代码以更好地了解这些是什么。例如,"tfidf“目录包含与词频相关的中间计算。
发布于 2012-02-08 05:03:01
您可以使用hadoop的filesystem -text选项读取-0000部分文件。只需进入hadoop目录并键入以下内容
`bin/hadoop dfs -text /Path-to-part-file/part-m-00000`部件-m-00000将打印到STDOUT。
如果出现错误,则可能需要将HADOOP_CLASSPATH变量添加到路径中。例如,如果在运行后它给出了
文本: java.io.IOException: WritableName无法加载类: org.apache.mahout.math.VectorWritable
然后将相应的类添加到HADOOP_CLASSPATH变量
export HADOOP_CLASSPATH=/src/mahout/trunk/math/target/mahout-math-0.6-SNAPSHOT.jar这对我很有效;)
发布于 2012-03-24 05:40:56
为了读取part-00000 (序列文件),您需要使用"seqdumper“实用程序。下面是我在实验中使用的一个例子:
矢量: bin/mahout seqdumper ~/clustering/experiments-v1/t14/tfidf-vectors/part-r-00000
MAHOUT_HOME$~/ -s -o -v2-1010
-s是要转换为纯文本的序列文件
-o是输出文件
https://stackoverflow.com/questions/8118645
复制相似问题