1

独自の非分散型レコメンダーを作成する方法に関するチュートリアルをいくつか見つけましたが、独自の分散型レコメンダージョブを作成する方法はありません(リンクを知っている場合は、どのリンクでも構いません)。

「MahoutinAction」という本には、Mahoutのオブジェクトを使用してマッパー/リデューサーを作成する方法の例がいくつかありますが、これらのジョブを組み合わせる方法を示していないようです。

ただし、mahout-coreにはitem / RecommenderJobがあり、これを実行する方法がわかります。私の実際の目的は、最初のマッパーを置き換えて、mahoutの外部でデータを準備する必要がないようにすることです(行は「userid、itemid1、itemid2、itemid3 ...」のようになり、item.RecommenderJobを使用します。明らかに「 itemid1、itemid2 "、" itemid1、itemid3 "、...)。

ここで、RecommenderJobクラスをコピーして、必要なものを変更することをお勧めしますか?試しましたが、このクラスはパッケージスコープ内の変数(UserVectorSplitterMapper.USERS_FILEなど)を使用しているため、これらを置き換える必要があります。これは気分が悪いです。

AbstractJobを拡張する新しいクラスを作成し、RecommenderJobから必要なものを選択する必要がありますか?それでは、RecommenderJobで本当に必要な要素は何ですか?

4

1 に答える 1

2

あなたの代替案は、あなたの入力を仕事が望む形に変換するあなた自身の仕事で仕事の前に置くこと、あるいは実際に単に仕事を修正することです。ある種の構成パラメーターとしてサポートされていない(そしてサポートされても意味がない)重要な変更が必要な場合は、ジョブをコピーして変更およびカスタマイズすることは大したことではないと思います。

于 2012-11-20T16:27:28.850 に答える