IA – Machine Learning
Machine Learning
Atelier 6 : Manipulation du texte (1)
Objectif :
L'objectif de ce TP est de tester plusieurs modèles de classification sur du texte. Pour cela, on
considère le dataset [Link] (récupéré à partir du github partagé) contenant 1413
messages ayant chacun un label indiquant s'il s'agit d'un bullying (1) ou non (0).
Travail à faire :
1. Utiliser pandas pour charger le dataset dans un DataFrame
2. Afficher les colonnes du DataFrame
3. Afficher la structure du dataframe pour avoir une idée sur le nombre de messages
4. Afficher les 3 premiers messages
5. Afficher le nombre de messages de chaque classe
6. Dans une variable corpus récupérer les messages nettoyés
(colonne transformed_Message)
7. Dans une variable labels récupérer les labels des messages
8. Créer les matrices TF et TF-IDF. Fixer le nombre maximum de features à 100, les
tokens à considérer sont les mots.
9. Utiliser KNN et SVM avec les hyperparamètres par défaut pour faire l'entraînement et
l'évaluation
10. Calculer le score chaque modèle (Vous pouvez consulter [Link]
[Link]/stable/modules/model_evaluation.html#scoring-parameter pour la liste des
métriques d'évaluation)
11. Faire le fine tuning des algorithmes précédents en utilisant GridSearchCV, et
comparer les nouveaux scores avec les scores précédents.
A. Pour SVM, considérer les paramètres suivants : 'C': [0.1,1, 10, 100], 'gamma':
[1,0.1,0.01,0.001],'kernel': ['rbf', 'poly', 'sigmoid']
B. Pour KNN, considérer les paramètres suivants : 'n_neighbors': (1,10, 2),
'leaf_size': (20,40,1), 'p': (1,2), 'weights': ('uniform', 'distance'), 'metric':
('minkowski', 'chebyshev')
12. Refaire les question 8. à 9. pour les bigram et trigram
13. Résumer dans le tableau ci-dessous, la comparaison des différents résultats trouvés.
Unigram Bigram Trigram
KNN ? ? ?
SVM ? ? ?
madani.a@[Link]