lyst / lyst/lightfm

How to recommend more items with high rating

Open
#578 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
5.1k
Forks
724
PR merge metrics
No merged PRs in 30d

Description

First of all thank you for this great framework. I am working on a Restaurant/Food recommendation system with yelp dataset.
I have **item_features** like the category of the business, the number of reviews etc. I also included the average rating of each business. I have categorize rating : ["very_low, "low", "average","high"]. When i use the **dataset.build_item_features** function i use this form:
(item id, {feature: feature weight}) provided at documentation. As weight i use the actual value of rating (1,1.5,2,...5). For the other features i use weight: 1. So my question is how can i manage the weights so that businesses with low review value to have also lower score? One other idea is to pre-filter or post filter the items using in predict function and exclude those with rating under a specific threshold, but i would prefer to make a more "clever" recommender instead doing that.
About the **user_features** I am using the categories which user already have reviewed, with weight value to be (total reviews user did for that category)/(user's total reviews).
Apart from that i would also like to know if there is a way to give some more input in the predict function. For example if there are features such as Pizza, and Italian at item_features can i get predictions based on that or the only way is the post filtering?
Thanks in advance

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the documentation and API behavior for dataset.build_item_features and predict, focusing on how item and user feature weights are interpreted. Clarify whether rating thresholds, review-count weighting, and feature-based prediction inputs are supported requirements; done should be a concrete, documented scope or a narrowly defined feature request.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.