Introdução

Support Vector Machines em R

Kailash Awati

Instructor

Preliminares

  • Objetivo: entender como SVMs funcionam; opções do algoritmo e quando funcionam melhor.
  • Pré-requisitos: conhecimento intermediário de R; visualização básica com ggplot().
  • Abordagem: começar com exemplo 1D e avançar para casos mais complexos.
Support Vector Machines em R

Teor de açúcar em refrigerantes

  • Fabricante de refrigerantes tem duas versões da marca principal:
    • Choke - teor de açúcar 11 g/100 ml.
    • Choke-R - teor de açúcar 8 g/100 ml.
  • O teor real de açúcar varia na prática.
  • Dadas 25 amostras aleatórias, defina uma regra de decisão para determinar a marca.
  • Primeiro passo: visualizar os dados!
Support Vector Machines em R

Teor de açúcar em refrigerantes - código de visualização

  • Dados no dataframe drink_samples.
# Especifique o dataframe; defina estética no geom_point (note y = 0)
p <- ggplot(drink_samples) +
  geom_point(aes(sugar_content, 0))

# Rotule cada ponto com o valor de açúcar; ajuste tamanho e posição do texto p <- p + geom_text(aes(sugar_content, 0, label = sugar_content), size = 2.5, vjust = 2, hjust = 0.5) # Exibir o gráfico p
Support Vector Machines em R

Capítulo 1.1 - clusters por teor de açúcar

Support Vector Machines em R

Fronteiras de decisão

  • Vamos escolher dois pontos no intervalo como fronteiras candidatas:
    • 9,1 g/100 ml
    • 9,7 g/100 ml
  • Regras de classificação (decisão):
    • if (y < 9.1) then "Choke-R" else "Choke"
    • if (y < 9.7) then "Choke-R" else "Choke"
  • Vamos visualizá-las no gráfico do slide anterior.
Support Vector Machines em R

Fronteiras de decisão - código de visualização

  • Crie um dataframe contendo as duas fronteiras de decisão.
# Defina o data frame com as fronteiras de decisão
d_bounds <- data.frame(sep = c(9.1, 9.7))
Support Vector Machines em R

Fronteiras de decisão - código de visualização

  • Adicione ao gráfico usando geom_point()
# Adicione as fronteiras de decisão ao gráfico anterior
p <- p + 
  geom_point(data = d_bounds,
             aes(sep, 0),
             color = "red",
             size = 3) +
  geom_text(data = d_bounds,
            aes(sep, 0, label = sep),
            size = 2.5,
            vjust = 2,
            hjust = 0.5,
            color = "red") 
# Exibir o gráfico
p
Support Vector Machines em R

Capítulo 1.1 - clusters por teor de açúcar com fronteiras de decisão de exemplo

Support Vector Machines em R

Separador de margem máxima

  • A melhor fronteira de decisão maximiza a margem: separador de margem máxima
  • O separador de margem máxima fica no meio dos dois clusters.
  • Vamos visualizá-lo.
# Crie o data frame com o separador de margem máxima
mm_sep <- data.frame(sep = c((8.8 + 10) / 2))

# Adicione a fronteira de mm ao gráfico anterior p <- p + geom_point(data = mm_sep, aes(sep, 0), color = "blue", size = 4) # Exibir o gráfico p
Support Vector Machines em R

Capítulo 1.1 - separador de margem máxima

Support Vector Machines em R

Hora de praticar!

Support Vector Machines em R

Preparing Video For Download...