Introduzione

Support Vector Machines in R

Kailash Awati

Instructor

Preliminari

  • Obiettivo: capire come funzionano le SVM; opzioni dell'algoritmo e quando rendono meglio.
  • Prerequisiti: conoscenza intermedia di R; visualizzazione di base con ggplot().
  • Approccio: parti da un esempio 1D e passa gradualmente a casi più complessi.
Support Vector Machines in R

Zuccheri nei soft drink

  • Un produttore di soft drink ha due versioni del brand di punta:
    • Choke - zuccheri 11 g/100 ml.
    • Choke-R - zuccheri 8 g/100 ml.
  • Il contenuto reale di zuccheri varia in pratica.
  • Con 25 campioni scelti a caso, trova una regola decisionale per determinare il brand.
  • Primo passo: visualizza i dati!
Support Vector Machines in R

Zuccheri nei soft drink - codice di visualizzazione

  • Dati nel dataframe drink_samples.
# Specifica il dataframe, imposta l'estetica del grafico in geom_point (nota y = 0)
p <- ggplot(drink_samples) +
  geom_point(aes(sugar_content, 0))

# Etichetta ogni punto con il valore di zuccheri, regola dimensione e posizione del testo p <- p + geom_text(aes(sugar_content, 0, label = sugar_content), size = 2.5, vjust = 2, hjust = 0.5) # Mostra il grafico p
Support Vector Machines in R

Capitolo 1.1 - cluster per contenuto di zuccheri

Support Vector Machines in R

Confini di decisione

  • Scegliamo due punti nell'intervallo come confini candidati:
    • 9.1 g/100 ml
    • 9.7 g/100 ml
  • Regole di classificazione (decisione):
    • if (y < 9.1) then "Choke-R" else "Choke"
    • if (y < 9.7) then "Choke-R" else "Choke"
  • Visualizziamoli sul grafico della slide precedente.
Support Vector Machines in R

Confini di decisione - codice di visualizzazione

  • Crea un dataframe con i due confini di decisione.
# Definisci il data frame con i confini di decisione
d_bounds <- data.frame(sep = c(9.1, 9.7))
Support Vector Machines in R

Confini di decisione - codice di visualizzazione

  • Aggiungili al grafico con geom_point()
# Aggiungi i confini di decisione al grafico precedente
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") 
# Mostra il grafico
p
Support Vector Machines in R

Capitolo 1.1 - cluster di zuccheri con confini di decisione di esempio

Support Vector Machines in R

Maximum margin separator

  • Il miglior confine di decisione massimizza il margine: maximal margin separator
  • Il maximal margin separator si trova a metà tra i due cluster.
  • Visualizziamo il maximal margin separator.
# Crea il data frame con il maximal margin separator
mm_sep <- data.frame(sep = c((8.8 + 10) / 2))

# Aggiungi il confine mm al grafico precedente p <- p + geom_point(data = mm_sep, aes(sep, 0), color = "blue", size = 4) # Mostra il grafico p
Support Vector Machines in R

Capitolo 1.1 - maximal margin separator

Support Vector Machines in R

Esercitiamoci!

Support Vector Machines in R

Preparing Video For Download...