Mesures de performance sur des données Twitter
Vous allez entraîner un modèle de régression logistique qui prédit le sentiment de tweets et évaluer sa performance sur l'ensemble de test à l'aide de différentes mesures.
Une matrice X a été créée pour vous. Elle contient des caractéristiques générées avec un sac de mots (BOW) à partir de la colonne text.
Les étiquettes sont stockées dans un vecteur appelé 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'exactitude mesure toujours la proportion d'instances correctement prédites. La matrice de confusion sera maintenant de taille 3x3 : chaque rangée donnera le nombre de cas prédits pour les classes 2, 1 et 0, et chaque colonne donnera le nombre réel de cas dans les classes 2, 1 et 0.
Tous les modules requis ont été importés pour vous.
Cette activité fait partie du cours
Analyse de sentiment en Python
Instructions de l’exercice
- Effectuez la division train/test et stratifiez selon
y. - Entraînez un classifieur de régression logistique.
- Prédisez la performance sur l'ensemble de test.
- Affichez la mesure d'exactitude et la matrice de confusion obtenues sur l'ensemble de test.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))