Skip to content
Extraits de code Groupes Projets
Valider 531f2736 rédigé par Adrien Payen's avatar Adrien Payen
Parcourir les fichiers

update readme

parent 04228535
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -27,6 +27,43 @@ pip install lightgbm
## Project Structure
## Project Structure
The project is organized into the following key components:
### Configuration and Constants
1. ***configs.py***
- Defines an `EvalConfig` class for storing configurations for evaluating multiple recommendation models.
- Specifies a list of models, each with its name, class, and parameters.
- Defines metrics to evaluate model performance under different scenarios: split evaluation, Leave-One-Out, and on the entire dataset.
- Other parameters include test set size and the number of recommendations to consider.
2. ***constants.py***
- This code defines a Constant class that stores paths to datasets and column names for content and evidence data. Paths to content, evidence, and evaluation directories are defined based on the data directory path. File names and column names for article and rating data are specified, along with the rating scale.
### Data Loaders
3. ***loaders.py***
- Loads rating and item data from specified CSV files in the Constant class of the constants module.
- The `load_ratings` function loads rating data.
- The `load_items` function loads item data.
- The `export_evaluation_report` function merges rating and item data, then exports the evaluation report to a CSV file.
- The data is loaded into pandas DataFrames, with an option available to load rating data in the format expected by the Surprise library if needed.
### Recommender Models
4. ***models.py***
- Defines several basic recommendation algorithms for the Surprise library.
- The `get_top n` function takes a list of predictions and returns the top recommendations for each user.
- Recommendation algorithms are defined as classes inheriting from Surprise's `AlgoBase` class, each implementing an `estimate` method to predict user ratings for items.
### Features and Models
1. ***Feature Extraction Methods***
......@@ -53,7 +90,6 @@ The system supports the following regression models for predicting user ratings:
- `lightgbm`
### Dataset
Organized under the data/test/ directory, which contains three subdirectories:
- content: Contains movies.csv & tags.csv files.
......@@ -61,3 +97,33 @@ Organized under the data/test/ directory, which contains three subdirectories:
- evaluations: Directory reserved for evaluation results
## Contact
For questions or collaboration requests, please contact:
- Audrey Ghilain: audrey.ghilain@student.uclouvain.be
- Nathanaël Kindidi: nathanael.kindidi@student.uclouvain.be
- Charles Addae: charles.addae@student.uclouvain.be
- Adrien Payen: adrien.payen@student.uclouvain.be
## Acknowledgements
We thank Professor Vande Kerckhove Corentin for his guidance on recommender systems, which was crucial in adapting and improving our project.
## Authors
- Audrey Ghilain
- Nathanaël Kindidi
- Charles Addae
- Adrien Payen
## References
- [Surprise Documentation](https://surprise.readthedocs.io/en/stable/)
- [Pandas Documentation](https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html)
- [Numpy Documentation](https://numpy.org/doc/stable/user/quickstart.html)
- [MLSMM2156 Course Materials](https://forge.uclouvain.be/cvandekerckh/mlsmm2156)
- [Extra Reference 1](https://bit.ly/3qnwKXa)
- [Extra Reference 2](https://bit.ly/4cBLxDM)
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter