2011-11-14 17 views
2

私はmahoutを使って20-ニュースグループの例を展開しようとしましたが、正常に動作しているようです。 、ベイズモデルのディレクトリ以下のサブディレクトリが含まれMahout - Naive Bayes

が含まれてい

トレーナー-TFIDFトレーナー-thetaNormalizerトレーナー-重み:好奇心から、私は

例えば

は、モデル統計に深く掘るしたいと思いますパート0000ファイル。私はファイルの内容を理解しやすくするために、catコマンドのdoesntが動作するように見えるようにするために、いくつかのゴミを出力します。

何か助けていただければ幸いです。

おかげ

答えて

5

'部分-00000' ファイルはMahoutのに特定の値を含む、Hadoopのが作成した、とのHadoopのSequenceFile形式になっています。テキストファイルとして開くことはできません。 MahoutにユーティリティークラスSequenceFileDumperがあります。このユーティリティーは、コンテンツをテキストとしてstdoutに出力しようとします。

これらの値は、Mahoutによって実行された多段階Hadoopベースの計算の中間結果です。コードを読んで、これらが何であるかをよりよく理解することができます。例えば、 "tfidf"ディレクトリは、用語頻度に関する中間計算を含む。

3

hadoopのfilesystem -textオプションを使用してpart-0000ファイルを読み取ることができます。 hadoopディレクトリに入り、次のように入力してください。

`bin/hadoop dfs -text /Path-to-part-file/part-m-00000` 
part-m-00000がSTDOUTに出力されます。

エラーが発生した場合は、パスにHADOOP_CLASSPATH変数を追加する必要があります。たとえば、実行した後、それはあなたの

テキストを与える場合:にjava.io.IOException:WritableNameがクラスをロードすることはできません。org.apache.mahout.math.VectorWritable

は、対応するクラスを追加します私のために働いたHADOOP_CLASSPATH変数

export HADOOP_CLASSPATH=/src/mahout/trunk/math/target/mahout-math-0.6-SNAPSHOT.jar 

へ;)

0

あなたが "seqdumper" UTIを使用する必要がある部分-00000(シーケンスファイル)を読み込むためには不安。ここで私は私の実験のために使用例を示します。

MAHOUT_HOME $:ビン/象使いのseqdumperは 〜/クラスタリング/実験-V1/T14/TFIDFベクトル/パート-R-00000 -o〜/ベクトルを-s -v2-1010

-sは-o出力ファイル

ある

あなたはプレーンテキストに変換したいシーケンスファイルです