Introduction

Machines à vecteurs de support en R

Kailash Awati

Instructor

Préliminaires

  • Objectif : comprendre le fonctionnement des SVM, les options de l'algorithme et les cas d'usage idéaux.
  • Prérequis : niveau intermédiaire en R ; bases de la visualisation avec ggplot().
  • Approche : partir d'un exemple 1D puis passer à des exemples plus complexes.
Machines à vecteurs de support en R

Teneur en sucre des sodas

  • Un fabricant de sodas a deux versions de sa marque phare :
    • Choke – teneur en sucre : 11 g/100 ml.
    • Choke-R – teneur en sucre : 8 g/100 ml.
  • La teneur réelle varie en pratique.
  • Avec 25 échantillons aléatoires, définir une règle de décision pour identifier la marque.
  • Première étape : visualiser les données !
Machines à vecteurs de support en R

Teneur en sucre des sodas – code de visualisation

  • Données dans le dataframe drink_samples.
# Spécifier le dataframe, définir l'esthétique du tracé 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 - amas par teneur en sucre

Machines à vecteurs de support en R

Frontières de décision

  • Choisissons deux points de l'intervalle comme limites 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 dataframe contenant les deux frontières de décision.
# Définir le data frame contenant 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

  • 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 - amas 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
  • Il se situe à mi-chemin entre les deux amas.
  • Visualisons ce séparateur.
# Créer un data frame 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...