Class: UserBasedRecommendation
- Inherits:
-
Object
- Object
- UserBasedRecommendation
- Includes:
- Similars
- Defined in:
- lib/user_based_recommendation.rb
Instance Method Summary collapse
-
#get_all_similar_users_menu_items(order_details, user_id, menus) ⇒ Object
Returns an array containing all menu items ordered by similar users.
-
#get_similars_menus(similar_users, order_details) ⇒ Object
Returns all similars menu items.
-
#recommendation(context) ⇒ Object
Get recommendation user => current logged in user data => item purchase count matrix based on users.
Methods included from Similars
calculate_dot_product, calculate_vector_magnitude, fix_missing_values, get_similars, similarity_index
Instance Method Details
#get_all_similar_users_menu_items(order_details, user_id, menus) ⇒ Object
Returns an array containing all menu items ordered by similar users
41 42 43 44 45 46 47 48 |
# File 'lib/user_based_recommendation.rb', line 41 def (order_details,user_id,) order_details[user_id].each do || if !.include? .push() end end return end |
#get_similars_menus(similar_users, order_details) ⇒ Object
Returns all similars menu items
32 33 34 35 36 37 38 |
# File 'lib/user_based_recommendation.rb', line 32 def (similar_users,order_details) = Array.new similar_users.each do |user_id, sim_index| (order_details,user_id,) end return end |
#recommendation(context) ⇒ Object
Get recommendation user => current logged in user data => item purchase count matrix based on users
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/user_based_recommendation.rb', line 9 def recommendation(context) user = context.item data = context.data order_details = context.order_details similar_users = Similars.get_similars(user,data) result = Hash.new if similar_users.length > 0 = Array.new = order_details[user.id] = (similar_users,order_details) recommend = Array.new .each do |s| if !.include? s recommend.push(s) end end result[:user] = result[:recommendation] = recommend end return result end |