0

多くのオンライン チュートリアルに従って、Mahout にある kmeans の例を実行しようとしました。しかし、意味のある出力を得るにはまだ成功していません。私が直面している主な問題は、テキスト ファイルからシーケンス ファイルへの変換とその逆です。

  1. 「Mahout Wiki」の「合成制御データのクラスタリング」(https://cwiki.apache.org/MAHOUT/clustering-of-synthetic-control-data.html) の手順に従うと、クラスタリング プロセスを実行できました ( $MAHOUT_HOME/bin/mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job) を使用して、読み取り可能なコンソール出力を作成しました。しかし、クラスタリングプロセスから(サイズが大きいため)出力ファイルを取得したいと考えています。Mahout クラスタリングによって生成された出力ファイルはすべてシーケンス ファイルであり、読み取り可能なファイルに変換できません。"clusterdump" ($MAHOUT_HOME/bin/mahout clusterdump --seqFileDir output/clusters-10...) を実行しようとすると、エラーが発生しました。まず、「seqFileDir」オプションが予期しないものであると不平を言い、clusterdump 用の「seqFileDir」がないか、何か不足していると推測します。

  2. 「mahout in action」の方法で Mahout を使用しようとするのは難しいようです。そのコードをコンパイルするために必要なクラス ("import ??") が何かわかりません。

Mahout で kmeans を正常に実行する手順を教えてください。特に、シーケンス ファイルから読み取り可能な出力を取得する方法は?

4

2 に答える 2

1

2番目の質問について-リポジトリから本のソースコードを入手できます。ブランチのコードはmasterMahout0.5用であり、ブランチmahout-0.6&のコードmahout-0.7は対応するMahoutのバージョン用です。

ソースコードは本のサイトにも掲載されているので、そこからダウンロードします(ただし、これはMahout 0.5専用のバージョンです)。

PS現在本を読んでいる場合は、すべてのコードがバージョン0.5でチェックされているため、Mahout 0.5または0.6を使用することをお勧めしますが、他のバージョンでは異なります。これは、Mahout0.7のクラスタリングコードに特に当てはまります。

于 2012-06-23T08:14:59.567 に答える
0

clusterdump の seqFileDir については、--seqFileDir ではなく --input を使用する必要があります。

私はMahout 0.7を使用しています。(たとえば)単純なダンプを取得するために使用する clusterdump への呼び出しは次のとおりです。

mahout clusterdump --input output/clusters-9-final --pointsDir output/clusteredPoints --output <absolute path of dir where you want to output>/clusteranalyze.txt

上記のディレクトリoutput/clusters-9-finalへのパスがシステムにとって正しいことを確認してください。クラスタリング アルゴリズムによっては、このディレクトリが異なる場合があります。出力ディレクトリを調べて、「final」init という単語を含むディレクトリを使用していることを確認してください。

データを CSV または GRAPH_ML としてダンプするには、上記の呼び出しに -of CSV 引数を追加します。例:

mahout clusterdump --input output/clusters-9-final -of CSV --pointsDir output/clusteredPoints --output <absolute path of dir where you want to output>/clusteranalyze.txt

それが役立つことを願っています。

于 2013-02-13T15:39:00.343 に答える