4

私の環境: mahout:0.7 hadoop:1.0.3

私がやったこと: mahout をインストールし、素朴なベイズの例をテストしました - 20newsgroup で、完璧に動作します。

私が達成したいこと: trainnbtestnbのジョブがありますが、実際のアプリケーションでは、次のようなインターフェイスが必要です。

入力: [分類するテキスト] [使用するモデル] 出力: クラス ラベル リスト (確率でソート)

私が試したこと: 最初に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章にいくつかのサンプルコードがあります.

4

1 に答える 1

2

この記事をチェックしましたか

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

チュートリアルを実行しましたが、すべて正常に動作しました

于 2014-01-27T10:12:43.160 に答える