0% ont trouvé ce document utile (0 vote)
26 vues4 pages

Metrics Lab

Ce lab consiste à évaluer des modèles de classification binaire sur un dataset de critiques de films en utilisant des métriques telles que l'accuracy, la précision, le rappel, le F1 Score, la matrice de confusion, et la courbe ROC avec AUC. Les participants apprendront à utiliser TF-IDF pour vectoriser le texte et à entraîner un modèle de régression logistique pour évaluer ses performances. Le lab nécessite Python 3.x et des bibliothèques comme scikit-learn, pandas, matplotlib et seaborn.

Transféré par

safaekarkach28
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues4 pages

Metrics Lab

Ce lab consiste à évaluer des modèles de classification binaire sur un dataset de critiques de films en utilisant des métriques telles que l'accuracy, la précision, le rappel, le F1 Score, la matrice de confusion, et la courbe ROC avec AUC. Les participants apprendront à utiliser TF-IDF pour vectoriser le texte et à entraîner un modèle de régression logistique pour évaluer ses performances. Le lab nécessite Python 3.x et des bibliothèques comme scikit-learn, pandas, matplotlib et seaborn.

Transféré par

safaekarkach28
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Lab : Évaluation des modèles ML & utilisation de TF-IDF

Objectif :
Appliquer les métriques suivantes sur un jeu de données textuel (classification
binaire) :
 Accuracy
 Precision, Recall, F1 Score
 Matrice de confusion
 Courbe ROC & AUC
 TF-IDF
Comprendre également quand utiliser chacune de ces métriques.

Contexte du Lab
Vous allez travailler sur un dataset de critiques de films (IMDB Dataset ) avec deux
classes : positive ou négative. Vous utiliserez TF-IDF pour vectoriser le texte,
entraîner un modèle simple (comme Logistic Regression), puis évaluer ses
performances à l’aide des différentes métriques.

Environnement requis :
 Python 3.x
 Bibliothèques : scikit-learn , pandas , matplotlib , seaborn

 Jupyter Notebook ou Google Colab

Étapes du Lab
1. Chargement du dataset
import pandas as pd

# Charger le dataset (exemple)


df = pd.read_csv("IMDB_Dataset.csv")

# Afficher les premières lignes


print([Link]())
2. Prétraitement du texte
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer

# Encoder les labels (sentiment)


df['sentiment'] = df['sentiment'].map({'positive': 1,
'negative': 0})

# Division en X et y
X = df['review']
y = df['sentiment']

# Vectorisation avec TF-IDF


vectorizer = TfidfVectorizer(stop_words='english',
max_features=5000)
X_tfidf = vectorizer.fit_transform(X)

# Division en ensemble d'entraînement et de test


X_train, X_test, y_train, y_test = train_test_split(X_tfidf, y,
test_size=0.2, random_state=42)

✅ Explication de TF-IDF :
Permet
de ………………………………………………………………………………………………………………
………………………………………………………………………………………………………………….

3. Entraînement d’un modèle (régression logistique)


from sklearn.linear_model import LogisticRegression

# Entraîner le modèle
model = LogisticRegression()
[Link](X_train, y_train)

# Prédiction
y_pred = [Link](X_test)
y_proba = model.predict_proba(X_test)[:, 1]

4. Calcul des métriques


a) Accuracy
3
from [Link] import accuracy_score
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy: {acc:.4f}")
❓ Quand l’utiliser ?
………………………………………………………………………………………………………….

b) Precision, Recall, F1 Score


python
from [Link] import precision_score, recall_score,
f1_score

precision = precision_score(y_test, y_pred)


recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)

print(f"Precision: {precision:.4f}")
print(f"Recall: {recall:.4f}")
print(f"F1 Score: {f1:.4f}")
💡 Utilité :

 Precision : Quand on veut ………………………………………………………………….


 Recall : Quand …………………………………………………………………….. …………
 F1 Score : Bon compromis quand le dataset est ………………………………………….

c) Matrice de confusion
python
from [Link] import confusion_matrix
import seaborn as sns
import [Link] as plt

cm = confusion_matrix(y_test, y_pred)
[Link](cm, annot=True, fmt="d", cmap="Blues")
[Link]('Prédictions')
[Link]('Vérités')
[Link]("Matrice de confusion")
[Link]()
📌 Interprétation :
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………..
.

d) Courbe ROC et AUC


from [Link] import roc_curve, auc

fpr, tpr, thresholds = roc_curve(y_test, y_proba)


roc_auc = auc(fpr, tpr)
[Link](fpr, tpr, label=f'ROC Curve (AUC = {roc_auc:.2f})')
[Link]([0, 1], [0, 1], 'k--') # ligne diagonale
[Link]('False Positive Rate')
[Link]('True Positive Rate')
[Link]('ROC Curve')
[Link]()
[Link]()
[Link]()
🎯 Utilité :

 ROC montre………………………………………………………………………………….
 AUC donne une mesure globale de ………………………………………………………
 Utile quand …………………………………………………………………………………..

Questions de compréhension
1. Pourquoi l’accuracy peut être trompeuse sur un dataset déséquilibré ?

2. Dans quel cas privilégiez-vous le recall plutôt que la precision ?

3. À quoi sert la matrice de confusion ?

4. Quelle est la différence entre Bag-of-Words et TF-IDF ?

5. Qu’est-ce que l’AUC et pourquoi est-elle importante ?

Conclusion du TP
Ce TP permet de :
 …………………………………………………. ;;
 ……………………………………………………
 …………………………………………………..
 ……………………………………………………..

Vous aimerez peut-être aussi