Machines à vecteurs de support en R
Kailash Awati
Instructor
x1 et x2 distribuées uniformément dans (0,1).# Préliminaires... # Nombre de points requis n <- 200 # Graine pour assurer la reproductibilité set.seed(42)# Générer un tableau de données avec deux prédicteurs x1 et x2 dans (0,1) df <- data.frame(x1 = runif(n), x2 = runif(n))
x1 = x2y = -1 pour les points sous la droite et y = 1 pour les points au-dessus# Classer les points en -1 ou +1
df$y <- factor(ifelse(df$x1 - df$x2 > 0, -1, 1),
levels = c(-1, 1))
x1 = x2 : passe par (0, 0) et a une pente = 1library(ggplot2)
# Construire le graphique
p <- ggplot(data = df, aes(x = x1, y = x2, color = y)) +
geom_point() +
scale_color_manual(values = c("-1" = "red", "1" = "blue")) +
geom_abline(slope = 1, intercept = 0)
# Afficher
p

x1 et x2 diffèrent de moins qu'une valeur donnée# Créer une marge de 0,05 dans l'ensemble delta <- 0.05 # Conserver seulement les points à l'extérieur de la marge df1 <- df[abs(df$x1 - df$x2) > delta, ] # Vérifier le nombre de points restants nrow(df1)# Représenter à nouveau l'ensemble avec la marge (même code qu'avant) p <- ggplot(data = df1, aes(x = x1, y = x2, color = y)) + geom_point() + scale_color_manual(values = c("red", "blue")) + geom_abline(slope = 1, intercept = 0) # Afficher le graphique p

p <- p +
geom_abline(slope = 1, intercept = delta, linetype = "dashed") +
geom_abline(slope = 1, intercept = -delta, linetype = "dashed")
p

Machines à vecteurs de support en R