Hi Pat,

can you create issues for 1) and 2) ? Then I will try to get this into
trunk asap.

Best,
Sebastian

On 06.11.2013 19:13, Pat Ferrel wrote:
> Trying to integrate the Solr-recoemmender with the latest Mahout snapshot. 
> The project uses a modified RecommenderJob because it needs SequenceFile 
> output and to get the location of the preparePreferenceMatrix directory. If 
> #1 and #2 are addressed I can remove the modified Mahout code from the 
> project and rely on the default implementations in Mahout 0.9. #3 is a longer 
> term issue related to the creation of a CrossRowSimilarityJob. 
> 
> I have dropped the modified code from the Solr-recommender project and have a 
> modified build of the current Mahout 0.9 snapshot. If the following changes 
> are made to Mahout I can test and release a Mahout 0.9 version of the 
> Solr-recommender.
> 
> 1. Option to change RecommenderJob output format
> 
> Can someone add an option to output a SequenceFile. I modified the code to do 
> the following, note the SequenceFileOutputFormat.class as the last parameter 
> but this should really be determined with an option I think.
> 
>       Job aggregateAndRecommend = prepareJob(
>               new Path(aggregateAndRecommendInput), outputPath, 
> SequenceFileInputFormat.class,
>               PartialMultiplyMapper.class, VarLongWritable.class, 
> PrefAndSimilarityColumnWritable.class,
>               AggregateAndRecommendReducer.class, VarLongWritable.class, 
> RecommendedItemsWritable.class,
>               SequenceFileOutputFormat.class);
> 
> 2. Visibility of preparePreferenceMatrix directory location
> 
> The Solr-recommender needs to find where the RecommenderJob is putting it’s 
> output. 
> 
> Mahout 0.8 RecommenderJob code was:
>     public static final String DEFAULT_PREPARE_DIR = 
> "preparePreferenceMatrix”;
> 
> Mahout 0.9 RecommenderJob code just puts “preparePreferenceMatrix” inline in 
> the code:
>     Path prepPath = getTempPath("preparePreferenceMatrix");
> 
> This change to Mahout 0.9 works:
>     public static final String DEFAULT_PREPARE_DIR = 
> "preparePreferenceMatrix”;
> and
>     Path prepPath = getTempPath(DEFAULT_PREPARE_DIR);
> 
> You could also make this a getter method on the RecommenderJob Class instead 
> of using a public constant.
> 
> 3. Downsampling
> 
> The downsampling for maximum prefs per user has been moved from 
> PreparePreferenceMatrixJob to RowSimilarityJob. The XRecommenderJob uses 
> matrix math instead of RSJ so it will no longer support downsampling until 
> there is a hypothetical CrossRowSimilairtyJob with downsampling in it.
> 
> 

Reply via email to