Support Vector Machines in R
Kailash Awati
Instructor
x1 e x2 uniformi in (0,1).# Preliminari... # Numero di punti da generare n <- 200 # Imposta il seed per la riproducibilità set.seed(42)# Genera un dataframe con due predittori x1 e x2 in (0,1) df <- data.frame(x1 = runif(n), x2 = runif(n))
x1 = x2y = -1 per i punti sotto la retta e y = 1 per quelli sopra# Classifica i punti come -1 o +1
df$y <- factor(ifelse(df$x1 - df$x2 > 0, -1, 1),
levels = c(-1, 1))
x1 = x2: passa per (0, 0) e ha pendenza = 1library(ggplot2)
# Costruisci il grafico
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)
# Mostra il grafico
p

# Crea un margine di 0.05 nel dataset delta <- 0.05 # Tieni solo i punti fuori dal margine df1 <- df[abs(df$x1 - df$x2) > delta, ] # Verifica i punti rimanenti nrow(df1)# Ritraccia il dataset con margine (codice identico a prima) 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) # Mostra il grafico p

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

Support Vector Machines in R