Running LightFM on new data points only
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5.1k
- Forks
- 724
- PR merge metrics
- No merged PRs in 30d
Description
Hi, I have a question which I need to ask the community.
I have built a recommendation engine using LightFM and I am only taking customer's last 20 interactions to keep up with the pace of customer changing preferences.
My model using hyperparameter training takes 10 hours to complete. I have to run the model every day as new data is added each day and hyperparameter tuning takes 10 hours, so each day the algorithm takes 10 hours to complete.
I was wondering if there is a way with which I can run model only for those users who have made interactions each day. My total user database is about 100k, and let's say only 10k login each day on an average, so instead of running the recommender for the whole 100k each day, can I just run it on 10k for which the data changes? How can I reduce the 10 hours and make it more scalable? Kindly advice. Thanks
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no source file, test, or entry point. Start by locating LightFM's model-training and hyperparameter-tuning APIs, then determine whether updating only users with new interactions is supported or would require a scoped design. Done should be a documented, tested approach or a clearly defined feature proposal with measurable scalability expectations.
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