私の環境: mahout:0.7 hadoop:1.0.3
私がやったこと: mahout をインストールし、素朴なベイズの例をテストしました - 20newsgroup で、完璧に動作します。
私が達成したいこと: trainnbとtestnbのジョブがありますが、実際のアプリケーションでは、次のようなインターフェイスが必要です。
入力: [分類するテキスト] [使用するモデル] 出力: クラス ラベル リスト (確率でソート)
私が試したこと: 最初に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章にいくつかのサンプルコードがあります.