# Pour SVM Charger les bibliothèques nécessaires
library(e1071)
# Lire les données
Maintenance_data <- read.csv2("C:/Users/PC/Desktop/Ecole L3/S2/Data science et Big
data/Maintenance_data.csv")
# Convertir les colonnes en facteurs
Maintenance_data$Type <- factor(Maintenance_data$Type)
Maintenance_data$Machine_failure <- factor(Maintenance_data$Machine_failure)
# Diviser les données en ensembles d'entraînement et de test (70% - 30%)
[Link](123) # Pour la reproductibilité
total_rows <- nrow(Maintenance_data)
train_indices <- sample(1:total_rows, size = 0.7 * total_rows)
training_data <- Maintenance_data[train_indices, ]
test_data <- Maintenance_data[-train_indices, ]
# Entraîner le modèle SVM
svm_model <- svm(Machine_failure ~ Type + Air_temperature + Process_temperature +
Rotational_speed + Torque + Tool_wear,
data = training_data,
type = "C-classification",
kernel = "linear") # Vous pouvez essayer d'autres noyaux comme
"polynomial" ou "radial"
# Résumé du modèle SVM
summary(svm_model)
# Faire des prédictions sur l'ensemble de test
prediction_test_svm <- predict(svm_model, newdata = test_data)
# Calculer la matrice de confusion
table_mat_svm <- table(test_data$Machine_failure, prediction_test_svm)
print(table_mat_svm)
# Calculer l'exactitude
accuracy_Test_svm <- sum(diag(table_mat_svm)) / sum(table_mat_svm)
print(accuracy_Test_svm)