Support Vector Machines in R
Kailash Awati
Instructor
ggplot().# Visualizza i dati di training, distingui le classi con il colore
p <- ggplot(data = trainset, aes(x = x1, y = x2, color = y)) +
geom_point() +
scale_color_manual(values = c("red", "blue"))
# Mostra il grafico
p
index da svm_model.# Identifica i support vector
df_sv <- trainset[svm_model$index, ]
# Evidenzia i support vector nel grafico
p <- p + geom_point(data = df_sv,
aes(x = x1, y = x2),
color = "purple",
size = 4, alpha = 0.5)
# Mostra il grafico
p

Trova pendenza e intercetta della boundary:
w da coefs e SV di svm_model.# Costruisci il vettore dei pesi
w <- t(svm_model$coefs) %*% svm_model$SV
-w[1] / w[2]# Calcola la pendenza e salvala in una variabile
slope_1 <- -w[1] / w[2]
svm_model$rho / w[2]# Calcola l'intercetta e salvala in una variabile
intercept_1 <- svm_model$rho / w[2]
geom_abline() per aggiungere la decision boundary al grafico.# Traccia la decision boundary in base a pendenza e intercetta calcolate
p <- p + geom_abline(slope = slope_1,
intercept = intercept_1)
1 / w[2] su entrambi i lati.# Aggiungi i margini al grafico
p <- p +
geom_abline(slope = slope_1,
intercept = intercept_1 - 1 / w[2],
linetype = "dashed") +
geom_abline(slope = slope_1,
intercept = intercept_1 + 1 / w[2],
linetype = "dashed")
# Mostra il grafico
p

plot() di e1071 offre un modo semplice per tracciare la decision boundary.# Visualizza la decision boundary con la funzione plot integrata
plot(x = svm_model,
data = trainset)

Support Vector Machines in R