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

update readme

parent a7cf577d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -25,31 +25,31 @@ pip install tabulate
Ces codes se trouveront dans la section de chacun des rendus : "1_Analytics_UI", "2_Evaluator_Block", "3_User_Based", "4e Rendu".
Ceux-ci se trouvent dans le même dossier que chacun des jupyter notebook (.ipynb).
### 1. **configs.py**
1. **configs.py**
- Ce code définit une classe EvalConfig qui stocke les configurations pour évaluer plusieurs modèles de recommandation. Il spécifie une liste de modèles, chacun avec son nom, sa classe et ses paramètres. Les métriques sont définies pour évaluer les performances des modèles dans différents scénarios : évaluation par fractionnement, Leave-One-Out et sur l'ensemble du jeu de données. D'autres paramètres incluent la taille de l'ensemble de test et le nombre de recommandations à considérer.
### 2. **constants.py**
2. **constants.py**
- Ce code définit une classe Constant qui stocke les chemins vers les datasets et les noms de colonnes pour les données de contenu et de preuve. Les chemins vers les répertoires de contenu, de preuve et d'évaluation sont définis en fonction du chemin vers le répertoire de données. Les noms de fichiers et de colonnes pour les données d'articles et de notes sont spécifiés, ainsi que l'échelle de notation.
### 3. **loaders.py**
3. **loaders.py**
- Ce code charge les données de notes et d'articles à partir de fichiers CSV spécifiés dans la classe Constant du module constants. La fonction load_ratings charge les données de notes, et la fonction load_items charge les données d'articles. Une autre fonction, export_evaluation_report, fusionne les données de notes et d'articles, puis exporte le rapport d'évaluation vers un fichier CSV. Les données sont chargées dans des DataFrames pandas, et une option est disponible pour charger les données de notes au format attendu par la bibliothèque Surprise si nécessaire.
### 4. **models.py**
4. **models.py**
- Ce code définit plusieurs algorithmes de base de recommandation pour la bibliothèque Surprise. La fonction get_top_n prend une liste de prédictions et retourne les meilleures recommandations pour chaque utilisateur. Les algorithmes de recommandation sont définis comme des classes héritant de la classe AlgoBase de Surprise, chacun implémentant une méthode estimate pour prédire les évaluations des utilisateurs pour les articles.
## Datasets
### 1. **small**
1. **small**
- 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.
### 2. **test**
2. **test**
- 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.
### 3. **tiny**
3. **tiny**
- 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.
## Rendus
### 1. **Analytics_UI**
1. **Analytics_UI**
Lors de ce rendu, différentes analyses ont pu être effectuées sur les datasets disponibles afin de mieux comprendre les différentes données auxquelles nous allons faire face tout au long du projet. Une description détaillée des différentes analyses, menées dans les jupyter notebook, est décrite ci-dessous. Les jupyter notebook peuvent être lancés (run) indépendamment de tout autre fichier (.py) ou (.ipynb).
......@@ -84,7 +84,7 @@ Ceux-ci se trouvent dans le même dossier que chacun des jupyter notebook (.ipyn
En complément des analyses mentionnées, une distribution des 'ratings' par films a été effectuée. Cette distribution offre un aperçu détaillé de la manière dont les différentes notes sont réparties entre les films, mettant en lumière les tendances de notation et les variations de popularité parmi les films. De plus, une matrice de sparsité a été calculée pour évaluer la densité des données. Cette matrice montre la proportion de cases vides ou non renseignées dans la matrice des notes, ce qui est crucial pour comprendre la disponibilité des données et leur potentiel pour l'analyse et la modélisation.
### 2. **Evaluator_block**
2. **Evaluator_block**
- evaluator.ipynb
......@@ -121,9 +121,9 @@ Ceux-ci se trouvent dans le même dossier que chacun des jupyter notebook (.ipyn
Exportation du Rapport d'Évaluation :
Une fonction export_evaluation_report() a été mise en œuvre pour exporter le rapport d'évaluation vers un fichier CSV dans un répertoire spécifié.
### 3. **User_based** (à compléter)
3. **User_based** (à compléter)
### 4. **Recommender_UI** (à compléter)
4. **Recommender_UI** (à compléter)
## Contact
......@@ -150,7 +150,7 @@ Nous tenons à exprimer notre gratitude envers plusieurs parties qui ont jouées
## Références
### 1. **Analytics_UI**
1. **Analytics_UI**
- https://forge.uclouvain.be/cvandekerckh/mlsmm2156
- https://bit.ly/3qnwKXa
- https://bit.ly/4cBLxDM
......@@ -159,7 +159,7 @@ Nous tenons à exprimer notre gratitude envers plusieurs parties qui ont jouées
- https://pandas.pydata.org/docs/reference/frame.html
- https://www.jillcates.com/pydata-workshop/html/tutorial.html
### 2. **Evaluator_block**
2. **Evaluator_block**
- https://forge.uclouvain.be/cvandekerckh/mlsmm2156
- https://bit.ly/3qnwKXa
......@@ -170,8 +170,8 @@ Nous tenons à exprimer notre gratitude envers plusieurs parties qui ont jouées
- https://surprise.readthedocs.io/en/stable/
### 3. **User_based** (à compléter)
3. **User_based** (à compléter)
### 4. **Recommender_UI** (à compléter)
4. **Recommender_UI** (à compléter)
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