# Importer les bibliothèques nécessaires
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from [Link] import SVC
from [Link] import confusion_matrix, accuracy_score
# Lire les données
Maintenance_data = pd.read_csv("C:/Users/louis/Documents/CSV/Maintenance_data.csv",
sep=";")
# Convertir les colonnes en catégories (facteurs en R)
Maintenance_data['Type'] = Maintenance_data['Type'].astype('category')
Maintenance_data['Machine_failure'] =
Maintenance_data['Machine_failure'].astype('category')
# Séparer les features (X) et la cible (y)
X = Maintenance_data[['Type', 'Air_temperature', 'Process_temperature',
'Rotational_speed', 'Torque', 'Tool_wear']]
y = Maintenance_data['Machine_failure']
# Encodage des variables catégorielles
X = pd.get_dummies(X, drop_first=True)
# Diviser les données en ensembles d'entraînement (70%) et de test (30%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30,
random_state=123)
# Entraîner le modèle SVM
svm_model = SVC(kernel="linear", random_state=123)
svm_model.fit(X_train, y_train)
# Faire des prédictions sur l'ensemble de test
prediction_test_svm = svm_model.predict(X_test)
# Calculer la matrice de confusion
table_mat_svm = confusion_matrix(y_test, prediction_test_svm)
print("Matrice de confusion :\n", table_mat_svm)
# Calculer l'exactitude
accuracy_Test_svm = accuracy_score(y_test, prediction_test_svm)
print("Exactitude du modèle SVM :", accuracy_Test_svm)