Support Vector Machines em R
Kailash Awati
Instructor
ggplot().# Visualize os dados de treino, distinguindo classes pela cor
p <- ggplot(data = trainset, aes(x = x1, y = x2, color = y)) +
geom_point() +
scale_color_manual(values = c("red", "blue"))
# Renderize o gráfico
p
index de svm_model.# Identifique os vetores de suporte
df_sv <- trainset[svm_model$index, ]
# Marque os vetores de suporte no gráfico
p <- p + geom_point(data = df_sv,
aes(x = x1, y = x2),
color = "purple",
size = 4, alpha = 0.5)
# Mostre o gráfico
p

Encontre a inclinação e o intercepto da fronteira:
w a partir de coefs e SV de svm_model.# Construa o vetor de pesos
w <- t(svm_model$coefs) %*% svm_model$SV
-w[1] / w[2]# Calcule a inclinação e salve em uma variável
slope_1 <- -w[1] / w[2]
svm_model$rho / w[2]# Calcule o intercepto e salve em uma variável
intercept_1 <- svm_model$rho / w[2]
geom_abline() para adicionar a fronteira ao gráfico.# Trace a fronteira de decisão com base na inclinação e no intercepto calculados
p <- p + geom_abline(slope = slope_1,
intercept = intercept_1)
1 / w[2] de cada lado.# Adicione as margens ao gráfico
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")
# Mostre o gráfico
p

plot() de e1071 oferece uma forma simples de traçar a fronteira de decisão.# Visualize a fronteira de decisão usando a função plot embutida
plot(x = svm_model,
data = trainset)

Support Vector Machines em R