Context: Recommender System Goals: Solutions supporting user in article choice, by providing top 5 recommandations Repository of OpenClassrooms project 9' AI Engineer path
Our role is to participate to the conception and development of the recommender system:
- Item-Based (using article metadata and embeddings)
- Collaborative filtering - Model based
- Deploy solution on Cloud, using serverless platform (Azure function)
The project is using below dataset to train recommender systems: My Content dataset.
Finally, recommender system engine is callable using : Azure function called with user_id 72 - Http trigger
For Setup:
- Python and VSCode with Jupyter extension to read notebooks. For application access:
- Acces to web, through Streamlit-share app.
This repository is part of a 3-repos project :
- Main repo : Notebooks and Scripts : this repo
- Azure Function
- Mobile App
-
Streamlit App : Disabled
-
- Data Analysis: Visualisation, Modification
- Unit Test
-
Train Collaboraive Filtering model - script
- Rating generation (Clicks_hint)
- Creation of Scipy.sparse csr matrix (User/Article/Rating)
- Training of Implicit ALS model (model.fit())
- Joblib save using compression
-
Compute CF Model Results - script
- Metrics generation (Clicks_hint, Precision@k, MeanAverage@k)
- Test_User_id loop to recomend using trained Implicit model, and compare prediction with real
- Measure and store results
-
Compute Item based Results - script
- Metrics generation (Clicks_hint, Precision@k, MeanAverage@k)
- Test_User_id loop to recomend using COSINE SIMILARITY from Embedding, and compare prediction with real
- Measure and store results