The project is organized into the following key components:
### Configuration and Constants
1.**configs.py**
- This code defines an EvalConfig class that stores configurations for evaluating multiple recommendation models. It specifies a list of models, each with its name, class, and parameters. Metrics are defined to evaluate model performance under different scenarios: split evaluation, Leave-One-Out, and on the entire dataset. Other parameters include test set size and number of recommendations to consider.
2.**constants.py**
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**
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.
...
...
@@ -42,7 +49,7 @@ The project is organized into the following key components:
- 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**
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.
...
...
@@ -70,39 +77,30 @@ The project is organized into the following key components:
- Exports the evaluation report to a CSV file.
7.**analytics_tiny.ipynb**
7.***analytics_tiny.ipynb***
Analyzes a smaller version of the dataset for debugging purposes.
Similar analyses to analytics_ui.ipynb, but on a smaller scale to speed up computation time.
analytics_test.ipynb
- Analyzes a smaller version of the dataset for debugging purposes.
Analyzes a test dataset to understand algorithm behaviors during development.
Similar analyses to analytics_ui.ipynb, but on a smaller test dataset to better understand how algorithms work.
## Datasets
- Similar analyses to analytics_ui.ipynb, but on a smaller scale to speed up computation time.
<<<<<<< HEAD
1.**small**
- The small dataset contains traditional MovieLens data and is the one we should use when evaluating models and building our recommendation system.
8.***analytics_test.ipynb***
2.**test**
- The test dataset is an even smaller version (6 users and 10 items) and contains the example used in conference slides. We use this dataset to better understand how algorithms work during model development.
- Analyzes a test dataset to understand algorithm behaviors during development.
3.**tiny**
- The tiny dataset is a smaller version of the small dataset and is used for debugging our code. This is useful when some models take a long time to run and we want to speed up computation time.
=======
### Small
<<<<<<< HEAD
- Similar analyses to analytics_ui.ipynb, but on a smaller test dataset to better understand how algorithms work.
Le **small dataset** de données contient les données traditionnelles de **MovieLens** et est celui que nous devons utiliser lors de l'**évaluation** des modèles et de la construction de notre **système de recommandation**.
### Test
### Datasets
Le **test dataset** est une version encore plus petite **(6 utilisateurs et 10 articles)** et contient l'exemple utilisé dans les diapositives de la conférence. Nous utilisons ce dataset afin de **mieux comprendre** le fonctionnement des algorithmes lors du développement de nos modèles.
1.***small***
- Contains traditional MovieLens data and is used for evaluating models and building our recommendation system.
### Tiny
2.***test***
- A smaller dataset (6 users and 10 items) used for understanding algorithm workings during model development.and how algorithms work during model development.
3.***tiny***
- A reduced version of the small dataset for debugging purposes.
Le **tiny dataset** est une version plus petite du small dataset et est utilisé pour **déboguer** notre code. Cela est utile lorsque certains modèles prennent beaucoup de temps à s'exécuter et que nous voulons **accélérer** le temps de calcul.