2

JavaのMahoutで機械学習を試みています。MySQL で必要なすべてのデータをダウンロードしました。私が立ち往生しているポイントは、「SparseRowMatrix」型の変数ですべての計算と再配置が行われたときです。適切と思われる2つのメソッドのいずれかを呼び出す方法がわかりません。

1)org.apache.mahout.math.decomposer.lanczos.LanczosSolver

2)org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver

この時点でのアドバイスは役に立ちます!

4

1 に答える 1

3

DistributedLanczosSolverインターフェイスを実装しているToolため、通常の Hadoop ジョブとして実行できます。次に例を示します。

hadoop jar $MAHOUT_HOME/mahout-examples-0.5-job.jar org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver --input /path/to/input --output /path/to/output --numCols 42 --numRows 42 --cleansvd "true" --rank 5

以下を使用して、これを Java から直接呼び出すこともできます。

ToolRunner.run(new DistributedLanczosSolver().job(), args);

または、分散方式で行う必要がない場合は、LanczosSolver.solveメソッドが探しているものであり、マトリックス、固有ベクトル、および固有値を渡す必要があります。Lanczos アルゴリズムを使用してフードの背後で複雑なことを行っていますが、これについては説明できません。

于 2013-05-21T18:15:02.400 に答える