首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mahout -朴素贝叶斯

Mahout -朴素贝叶斯
EN

Stack Overflow用户
提问于 2011-11-14 15:46:43
回答 3查看 2.7K关注 0票数 2

我试着用mahout部署了20个新闻组的例子,它似乎工作得很好。出于好奇,我想深入挖掘模型统计数据,

例如: bayes-model目录包含以下子目录,

训练器-tfIdf训练器-thetaNormalizer训练器-重量

其中包含part-0000文件。我想通过阅读文件的内容来更好地理解,cat命令似乎不起作用,它打印了一些垃圾。

任何帮助都是非常感谢的。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-11-15 02:26:17

'part-00000‘文件是由Hadoop创建的,采用Hadoop的SequenceFile格式,其中包含特定于Mahout的值。你不能把它们作为文本文件打开,不能。您可以在Mahout中找到实用程序类SequenceFileDumper,它将尝试将内容作为文本输出到标准输出。

至于这些值最初是什么,它们是Mahout执行的基于Hadoop的多阶段计算的中间结果。您可以阅读代码以更好地了解这些是什么。例如,"tfidf“目录包含与词频相关的中间计算。

票数 5
EN

Stack Overflow用户

发布于 2012-02-08 05:03:01

您可以使用hadoop的filesystem -text选项读取-0000部分文件。只需进入hadoop目录并键入以下内容

代码语言:javascript
复制
`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变量

代码语言:javascript
复制
export HADOOP_CLASSPATH=/src/mahout/trunk/math/target/mahout-math-0.6-SNAPSHOT.jar

这对我很有效;)

票数 3
EN

Stack Overflow用户

发布于 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是输出文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8118645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档