我的环境:
驯象师:0.7
hadoop:1.0.3

我做了什么:
安装了 mahout,并测试了朴素贝叶斯示例 - 20newsgroup,它运行完美。

我想要实现的目标:
有 trainnb 和 testnb 作业,但是,在实际应用中,我们需要这样的接口(interface):



我尝试过的:
首先,我尝试做 testnb 工作,但我不知道如何将文本转换为由 StandardNaiveBayesClassifier 或 ComplementaryNaiveBayesClassifier 处理的“VectorWritable”对象。

代码:

SequenceFile.Writer writer = new SequenceFile.Writer
 (fs, getConf(), getOutputPath(), Text.class, VectorWritable.class);
Path inputFile = new Path(getOption("if"));
Reader reader = new Reader(fs, getInputPath(), getConf());
Text key = new Text();
  VectorWritable vw = new VectorWritable();
  while (reader.next(key, vw)) {
    writer.append(
            new Text(SLASH.split(key.toString())[1]),
            new VectorWritable(classifier.classifyFull(vw.get()))
            );
  }

任何帮助将不胜感激!

我想我想通了,在“mahout in action”中,第 16 章有一些示例代码。

最佳答案

你检查过这篇文章吗

http://chimpler.wordpress.com/2013/03/13/using-the-mahout-naive-bayes-classifier-to-automatically-classify-twitter-messages/

我完成了教程并且一切正常

关于mahout - 如何在实际项目中使用 mahout naive bayes 模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11949896/

10-13 08:54