Class: JrubyMahout::Recommender
- Inherits:
-
Object
- Object
- JrubyMahout::Recommender
- Defined in:
- lib/jruby_mahout/recommender.rb
Instance Attribute Summary collapse
-
#data_model ⇒ Object
Returns the value of attribute data_model.
-
#is_weighted ⇒ Object
Returns the value of attribute is_weighted.
-
#neighborhood_size ⇒ Object
Returns the value of attribute neighborhood_size.
-
#recommender_name ⇒ Object
Returns the value of attribute recommender_name.
-
#similarity_name ⇒ Object
Returns the value of attribute similarity_name.
Instance Method Summary collapse
- #estimate_preference(user_id, item_id) ⇒ Object
- #evaluate(training_percentage, evaluation_percentage) ⇒ Object
-
#initialize(similarity_name, neighborhood_size, recommender_name, is_weighted) ⇒ Recommender
constructor
A new instance of Recommender.
- #recommend(user_id, number_of_items, rescorer) ⇒ Object
- #recommended_because(user_id, item_id, number_of_items) ⇒ Object
- #similar_items(item_id, number_of_items, rescorer) ⇒ Object
- #similar_users(user_id, number_of_users, rescorer) ⇒ Object
Constructor Details
#initialize(similarity_name, neighborhood_size, recommender_name, is_weighted) ⇒ Recommender
Returns a new instance of Recommender.
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/jruby_mahout/recommender.rb', line 5 def initialize(similarity_name, neighborhood_size, recommender_name, is_weighted) @is_weighted = is_weighted @neighborhood_size = neighborhood_size @similarity_name = similarity_name @recommender_name = recommender_name @recommender_builder = RecommenderBuilder.new(@similarity_name, @neighborhood_size, @recommender_name, @is_weighted) @data_model = nil @recommender = nil end |
Instance Attribute Details
#data_model ⇒ Object
Returns the value of attribute data_model.
3 4 5 |
# File 'lib/jruby_mahout/recommender.rb', line 3 def data_model @data_model end |
#is_weighted ⇒ Object
Returns the value of attribute is_weighted.
3 4 5 |
# File 'lib/jruby_mahout/recommender.rb', line 3 def is_weighted @is_weighted end |
#neighborhood_size ⇒ Object
Returns the value of attribute neighborhood_size.
3 4 5 |
# File 'lib/jruby_mahout/recommender.rb', line 3 def neighborhood_size @neighborhood_size end |
#recommender_name ⇒ Object
Returns the value of attribute recommender_name.
3 4 5 |
# File 'lib/jruby_mahout/recommender.rb', line 3 def recommender_name @recommender_name end |
#similarity_name ⇒ Object
Returns the value of attribute similarity_name.
3 4 5 |
# File 'lib/jruby_mahout/recommender.rb', line 3 def similarity_name @similarity_name end |
Instance Method Details
#estimate_preference(user_id, item_id) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/jruby_mahout/recommender.rb', line 52 def estimate_preference(user_id, item_id) if @recommender.nil? nil else @recommender.estimatePreference(user_id, item_id) end end |
#evaluate(training_percentage, evaluation_percentage) ⇒ Object
31 32 33 34 |
# File 'lib/jruby_mahout/recommender.rb', line 31 def evaluate(training_percentage, evaluation_percentage) evaluator = Evaluator.new(@data_model, @recommender_builder) evaluator.evaluate(training_percentage, evaluation_percentage) end |
#recommend(user_id, number_of_items, rescorer) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/jruby_mahout/recommender.rb', line 23 def recommend(user_id, number_of_items, rescorer) if @recommender.nil? nil else recommendations_to_array(@recommender.recommend(user_id, number_of_items, rescorer)) end end |
#recommended_because(user_id, item_id, number_of_items) ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/jruby_mahout/recommender.rb', line 60 def recommended_because(user_id, item_id, number_of_items) if @recommender.nil? or @recommender_name == "GenericUserBasedRecommender" nil else to_array(@recommender.recommendedBecause(user_id, item_id, number_of_items)) end end |
#similar_items(item_id, number_of_items, rescorer) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/jruby_mahout/recommender.rb', line 36 def similar_items(item_id, number_of_items, rescorer) if @recommender.nil? or @recommender_name == "GenericUserBasedRecommender" nil else to_array(@recommender.mostSimilarItems(item_id, number_of_items, rescorer)) end end |
#similar_users(user_id, number_of_users, rescorer) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/jruby_mahout/recommender.rb', line 44 def similar_users(user_id, number_of_users, rescorer) if @recommender.nil? or @recommender_name == "GenericItemBasedRecommender" nil else to_array(@recommender.mostSimilarUserIDs(user_id, number_of_users, rescorer)) end end |