DEPARTEMENT GENIE ELECTRIQUE
FILIERE : GESET
TD/TP (Classification)
Initiation à l’Intelligence Artificielle
Réalisé par :
❖ Talkhoukht Mohamed
❖ Keouiss Yasser
❖ Tanghort Youssef
Année universitaire: 2025/2026
Page | 1
Importation des libraries
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from [Link] import SVC
from [Link] import accuracy_score, confusion_matrix,
classification_report
Chargement des données
data = pd.read_csv('[Link]')
Vérifier les valeurs manquantes
print("Valeurs manquantes par colonne :")
print([Link]().sum())
Remplacer les valeurs manquantes par la Moyenne
data = [Link]([Link]())
Division en variables (X, y)
X = [Link]('Outcome', axis=1)
y = data['Outcome']
Page | 2
Division en jeu d'entraînement et de test
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
PARTIE 1 : Régression Logistique
log_model = LogisticRegression(max_iter=1000)
log_model.fit(X_train, y_train)
Coefficients
print("\n--- Coefficients de la régression logistique ---")
print("b0 (intercept) :", log_model.intercept_)
for i, col in enumerate([Link]):
print(f"b{i+1} ({col}) : {log_model.coef_[0][i]}")
Évaluation
y_pred_log = log_model.predict(X_test)
print("\n--- Évaluation du modèle Régression Logistique ---")
print("Accuracy :", accuracy_score(y_test, y_pred_log))
print("Matrice de confusion :\n", confusion_matrix(y_test, y_pred_log))
print("Rapport de classification :\n", classification_report(y_test,
y_pred_log))
Prédiction d'une nouvelle entrée
nouvelle_entree = [Link]([[0,175,112,27,230,0,42.4,0.732,55]])[:,1:]
y_new_log = log_model.predict(nouvelle_entree)
print("\nPrédiction Régression Logistique pour
[175,112,27,230,42.4,0.732,55] :", y_new_log[0])
Page | 3
PARTIE 2 : SVM
svm_model = SVC(kernel='linear')
svm_model.fit(X_train, y_train)
Évaluation
y_pred_svm = svm_model.predict(X_test)
print("\n--- Évaluation du modèle SVM ---")
print("Accuracy :", accuracy_score(y_test, y_pred_svm))
print("Matrice de confusion :\n", confusion_matrix(y_test, y_pred_svm))
print("Rapport de classification :\n", classification_report(y_test,
y_pred_svm))
Prédiction de la nouvelle entrée
y_new_svm = svm_model.predict(nouvelle_entree)
print("\nPrédiction SVM pour [175,112,27,230,42.4,0.732,55] :",
y_new_svm[0])
Page | 4