Introduction

Machines à vecteurs de support en R

Kailash Awati

Instructor

Préliminaires

  • Objectif : comprendre le fonctionnement des SVM, les options de l'algorithme et quand ils fonctionnent le mieux.
  • Prérequis : connaissances intermédiaires en R ; notions de base de visualisation avec ggplot().
  • Démarche : commencer par un exemple 1D, puis passer graduellement à des cas plus complexes.
Machines à vecteurs de support en R

Teneur en sucre des boissons gazeuses

  • Un fabricant de boissons gazeuses a deux versions de sa marque phare :
    • Choke : teneur en sucre 11 g/100 ml.
    • Choke-R : teneur en sucre 8 g/100 ml.
  • En pratique, la teneur réelle en sucre varie.
  • Avec 25 échantillons choisis au hasard, trouver une règle de décision pour déterminer la marque.
  • Première étape : visualiser les données !
Machines à vecteurs de support en R

Teneur en sucre des boissons gazeuses – code de visualisation

  • Données dans le tableau drink_samples.
# Préciser le tableau, définir l'esthétique dans geom_point (notez y = 0)
p <- ggplot(drink_samples) +
  geom_point(aes(sugar_content, 0))

# Étiqueter chaque point avec la valeur de sucre, ajuster taille et position du texte p <- p + geom_text(aes(sugar_content, 0, label = sugar_content), size = 2.5, vjust = 2, hjust = 0.5) # Afficher le graphique p
Machines à vecteurs de support en R

Chapitre 1.1 - regroupements par teneur en sucre

Machines à vecteurs de support en R

Frontières de décision

  • Choisissons deux points de l'intervalle comme frontières candidates :
    • 9,1 g/100 ml
    • 9,7 g/100 ml
  • Règles de classification (décision) :
    • si (y < 9,1) alors « Choke-R » sinon « Choke »
    • si (y < 9,7) alors « Choke-R » sinon « Choke »
  • Visualisons-les sur le graphique de la diapositive précédente.
Machines à vecteurs de support en R

Frontières de décision – code de visualisation

  • Créer un tableau de données contenant les deux frontières de décision.
# Définir le tableau avec les frontières de décision
d_bounds <- data.frame(sep = c(9.1, 9.7))
Machines à vecteurs de support en R

Frontières de décision – code de visualisation

  • Les ajouter au graphique avec geom_point()
# Ajouter les frontières de décision au graphique précédent
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") 
# Afficher le graphique
p
Machines à vecteurs de support en R

Chapitre 1.1 - regroupements par teneur en sucre avec exemples de frontières

Machines à vecteurs de support en R

Séparateur à marge maximale

  • La meilleure frontière maximise la marge : séparateur à marge maximale.
  • Ce séparateur se situe à mi-chemin entre les deux regroupements.
  • Visualisons le séparateur à marge maximale.
# Créer un tableau avec le séparateur à marge maximale
mm_sep <- data.frame(sep = c((8.8 + 10) / 2))

# Ajouter cette frontière au graphique précédent p <- p + geom_point(data = mm_sep, aes(sep, 0), color = "blue", size = 4) # Afficher le graphique p
Machines à vecteurs de support en R

Chapitre 1.1 - séparateur à marge maximale

Machines à vecteurs de support en R

Passons à la pratique !

Machines à vecteurs de support en R

Preparing Video For Download...