您的位置:首页 > 其它

Collection <GenericItemSimilarity.ItemItemSimilarity> correlations = ...;

2014-03-19 21:01 489 查看
粘自:http://stackoverflow.com/questions/8283439/mahout-recommender

The
Apache Mahout Recommender Documentation mentions the following:

// Construct the list of pre-computed correlations
Collection <GenericItemSimilarity.ItemItemSimilarity>  correlations = ...;

I'm not sure how the actual construction is done in the above line. Can someone provide an example?

ItemSimilarity itemSimilarity  =  new GenericItemSimilarity(correlations);


java

mahout
share|improve
this question
edited
Nov 27 '11 at 3:37





Kevin
20.2k62251

asked
Nov 27 '11 at 3:28




user1067549
161

 
 
add comment

2 Answers

active

oldest
votes

up vote 2
down vote
This example refers to the case where you have the similarities already computed, by the Hadoop job for example, and stored on the filesystem or database . As the constructor documentation reads:

A "generic" {@link ItemSimilarity} which takes a static list of precomputed item similarities and bases its responses on that alone. The values may have been precomputed offline by another process, stored in a file, and then read and fed into an instance
of this class.


If you have tens of millions of recommendations or less, you can simply compute similarities on the fly and use the other
GenericItemSimilarity
constructor -
GenericItemSimilarity(ItemSimilarity otherSimilarity, DataModel dataModel)


For example:

DataModel dataModel = new FileDataModel(new File("path://to/file.csv"));
ItemSimilarity itemSimilarity = new LogLikelihoodSimilarity(dataModel);
ItemSimilarity itemSimilarity = new GenericItemSimilarity(itemSimilarity, dataModel);


share|improve
this answer
edited
Nov 28 '11 at 14:26

answered
Nov 27 '11 at 11:45




Daniel Zohar
310213

 
 
add comment





No problem. We won't show you that ad again. Why didn't you like it?
Uninteresting
Misleading
Offensive
Repetitive
Oops! I didn't mean to do this.

up vote 1
down vote
There's no magic here, it's just suggesting you create a bunch of those ItemItemSimilarity objects, one for each item-item similarity that you know about.

Collection<GenericItemSimilarity.ItemItemSimilarity> correlations =
new ArrayList<GenericItemSimilarity.ItemItemSimilarity>();
correlations.add(new GenericItemSimilarity.ItemItemSimilarity(1, 2, 0.5));
...

You can make it this way or any other way you want.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mahout recommender
相关文章推荐