SVM linear em dados radialmente separáveis

Support Vector Machines em R

Kailash Awati

Instructor

SVM linear, cost = 1

  • Particione o conjunto radialmente separável em treino/teste (seed = 10)
# Treine um SVM linear com custo padrão no conjunto de treino

svm_model <- svm(y ~ ., data = trainset, type = "C-classification", kernel = "linear", cost = 1) svm_model
Number of Support Vectors:  126
# Calcule a acurácia no conjunto de teste

pred_test <- predict(svm_model, testset) mean(pred_test == testset$y)
0.6129032
plot(svm_model, trainset)
Support Vector Machines em R

Capítulo 3.2 - conjunto radialmente separável, kernel linear com custo padrão, gráfico com svm.plot

Support Vector Machines em R

SVM linear, cost = 100

svm_model <- svm(y ~ ., data = trainset, type = "C-classification", kernel = "linear", cost = 100)
svm_model
Number of Support Vectors:  136
# Acurácia
pred_test <- predict(svm_model, testset)
mean(pred_test == testset$y)
0.6129032
plot(svm_model, trainset)
Support Vector Machines em R

Capítulo 3.2 - conjunto radialmente separável, kernel linear com custo=100, gráfico com svm.plot

Support Vector Machines em R

Uma estimativa melhor de acurácia

  • Calcule a acurácia média em vários divisões independentes de treino/teste.
  • Verifique o desvio padrão para avaliar a variabilidade.
Support Vector Machines em R

Acurácia média para SVM com custo padrão

accuracy <- rep(NA, 100)
set.seed(10)
for (i in 1:100) {
  sample_size <- floor(0.8 * nrow(df))
  train <- sample(seq_len(nrow(df)), size = sample_size)
  trainset <- df[train, ]
  testset <- df[-train, ]
  svm_model<- svm(y ~ ., data = trainset, type = "C-classification", cost = 1, kernel = "linear")
  pred_test <- predict(svm_model, testset)
  accuracy[i] <- mean(pred_test == testset$y)}
mean(accuracy)
sd(accuracy)
0.544
0.04273184
Support Vector Machines em R

Quão bem um SVM linear se sai?

  • Um pouco melhor que cara ou coroa!
  • Podemos usar nosso conhecimento da fronteira para ir bem melhor.
Support Vector Machines em R

Vamos praticar!

Support Vector Machines em R

Preparing Video For Download...