Problemas multiclasse

Support Vector Machines em R

Kailash Awati

Instructor

O conjunto iris — introdução

  • 150 medições de 5 atributos
    • Largura e comprimento da pétala — número (variáveis preditoras)
    • Largura e comprimento da sépala — número (variáveis preditoras)
    • Espécie — categoria: setosa, virginica ou versicolor (variável prevista)
  • Conjunto disponível no repositório UCI ML
Support Vector Machines em R

Visualizando o conjunto iris

  • Plote comprimento vs. largura da pétala.
library(ggplot2)

# Plote comprimento vs. largura da pétala; diferencie espécies por cor
p <- ggplot(data = iris,
            aes(x = Petal.Width,
                y = Petal.Length,
                color = Species)) +
     geom_point()

# Mostrar gráfico
p
Support Vector Machines em R

Capítulo 2.4 - conjunto iris: comprimento vs. largura da pétala, espécies diferenciadas por cor

Support Vector Machines em R

Como o algoritmo SVM lida com problemas multiclasse?

  • SVMs são essencialmente classificadores binários.
  • Podem ser aplicadas a problemas multiclasse com a seguinte estratégia de votação:
    • Particione os dados em subconjuntos com duas classes cada.
    • Resolva a classificação binária para cada subconjunto.
    • Use voto majoritário para atribuir uma classe a cada ponto.
  • Chamada de estratégia um-contra-um.
Support Vector Machines em R

Construindo uma SVM linear multiclasse

  • Construa uma SVM linear para o conjunto iris
    • Divisão 80/20 treino/teste (semente 10), custo padrão
library(e1071)

# Construir modelo
svm_model <- svm(Species ~ ., 
                data = trainset, 
                type = "C-classification", 
                kernel = "linear")
  • Calcule a acurácia
pred_train <- predict(svm_model, trainset)
mean(pred_train == trainset$Species)
0.9756098
pred_test <- predict(svm_model, testset)
mean(pred_test == testset$Species)
0.962963
Support Vector Machines em R

Vamos praticar!

Support Vector Machines em R

Preparing Video For Download...