Mesures de performance sur des données Twitter
Vous allez entraîner un modèle de régression logistique pour prédire le sentiment de tweets et évaluer ses performances sur l’ensemble de test à l’aide de différentes mesures.
Une matrice X a été créée pour vous. Elle contient des variables construites avec un BOW à partir de la colonne text.
Les labels sont stockés dans un vecteur y. Le vecteur y vaut 0 pour les tweets négatifs, 1 pour les neutres et 2 pour les positifs.
Notez que même si nous avons 3 classes, il s’agit toujours d’un problème de classification. L’accuracy mesure toujours la proportion d’instances correctement prédites. La matrice de confusion sera désormais de taille 3x3 : chaque ligne donnera le nombre de cas prédits pour les classes 2, 1 et 0, et chaque colonne le nombre réel de cas dans les classes 2, 1 et 0.
Tous les paquets nécessaires ont été importés pour vous.
Cet exercice fait partie du cours
Analyse de sentiments en Python
Instructions
- Effectuez le découpage train/test, en stratifiant par
y. - Entraînez un classifieur de régression logistique.
- Prédisez les performances sur l’ensemble de test.
- Affichez l’accuracy et la matrice de confusion obtenues sur l’ensemble de test.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = ____(X, y, test_size=0.3, random_state=123, ____=y)
# Train a logistic regression
log_reg = ____.____(___, ____)
# Make predictions on the test set
y_predicted = log_reg.____(___)
# Print the performance metrics
print('Accuracy score test set: ', ____(y_test, y_predicted))
print('Confusion matrix test set: \n', ____(y_test, y_predicted)/len(y_test))