如何在真实项目中使用mahout朴素贝叶斯模型

时间:2012-08-14 09:59:01

标签: mahout

我的环境: 象夫:0.7 hadoop的:1.0.3

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

我想要实现的目标: 有 trainnb testnb 作业,但是,在实际应用中,我们需要这样的界面:

  

输入:[要分类的文本] [要使用的模型]输出:类标签   列表(按概率排序)

我尝试过的: 首先我尝试做 testnb 工作,但我不知道如何将文本转换为由VectorNaiveBayesClassifier或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()))
            );
  }

任何帮助将不胜感激!

我想我已经明白了,在“行动中的蠢货”中,第16章有一些示例代码。

1 个答案:

答案 0 :(得分:1)