# Adaptive Boosting
[Link]("ada")
library(caret)
[Link]("rpart")
library(rpart)
library(ada)
Maintenance_data <- read.csv2('C:/Users/louis/Documents/CSV/Maintenance_data.csv')
Maintenance_data$Type <- factor(Maintenance_data$Type)
Maintenance_data$Machine_failure <- factor(Maintenance_data$Machine_failure)
total_rows <- nrow(Maintenance_data)
train_indices <- sample(1:total_rows, size = 0.8 * total_rows)
training_data <- Maintenance_data[train_indices, ]
test_data <- Maintenance_data[-train_indices, ]
ada_model <- ada(Machine_failure ~ Type + Air_temperature + Process_temperature +
Rotational_speed + Torque + Tool_wear,data = training_data, iter = 50) # Vous
pouvez ajuster le nombre d'itérations
prediction_test_ada <- predict(ada_model, newdata = test_data)
table_mat_ada <- table(test_data$Machine_failure, prediction_test_ada)
print(table_mat_ada)
accuracy_Test_ada <- sum(diag(table_mat_ada)) / sum(table_mat_ada)
print(accuracy_Test_ab)
#ANN
#Pour ANN Charger les bibliothèques nécessaires
library(nnet)
# Lire les données
Maintenance_data<-read.csv2('C:/Users/louis/Documents/CSV/Maintenance_data.csv')
# Convertir les colonnes en facteurs
Maintenance_data$Type <- factor(Maintenance_data$Type)
Maintenance_data$Machine_failure <- factor(Maintenance_data$Machine_failure)
# Normaliser les variables numériques (sauf les facteurs)
Maintenance_data_scaled <- [Link](scale(Maintenance_data[,
c("Air_temperature", "Process_temperature", "Rotational_speed", "Torque",
"Tool_wear")]))
# Ajouter les colonnes de type et de machine_failure
Maintenance_data_scaled$Type <- Maintenance_data$Type
Maintenance_data_scaled$Machine_failure <- Maintenance_data$Machine_failure
# Diviser les données en ensembles d'entraînement et de test
# Pour la reproductibilité
total_rows <- nrow(Maintenance_data_scaled)
train_indices <- sample(1:total_rows, size = 0.8 * total_rows)
training_data <- Maintenance_data_scaled[train_indices, ]
test_data <- Maintenance_data_scaled[-train_indices, ]
# Entraîner le modèle ANN
ann_model <- nnet(Machine_failure ~ Type + Air_temperature + Process_temperature +
Rotational_speed + Torque + Tool_wear,
data = training_data,
size = 5, # Nombre de neurones dans la couche cachée
maxit = 100) # Nombre maximal d'itérations
# Faire des prédictions sur l'ensemble de test
prediction_test_ann <- predict(ann_model, newdata = test_data, type = "class")
# Calculer la matrice de confusion
table_mat_ann <- table(test_data$Machine_failure, prediction_test_ann)
print(table_mat_ann)
# Calculer l'exactitude
accuracy_Test_ann <- sum(diag(table_mat_ann)) / sum(table_mat_ann)
print(accuracy_Test_ann)