Problèmes multiclasse

Machines à vecteurs de support en R

Kailash Awati

Instructor

L'ensemble de données iris : introduction

  • 150 mesures de 5 attributs
    • Largeur et longueur des pétales - nombre (variables prédictives)
    • Largeur et longueur des sépales - nombre (variables prédictives)
    • Espèce - catégorie : setosa, virginica ou versicolor (variable à prédire)
  • Ensemble de données disponible dans le UCI ML repository
Machines à vecteurs de support en R

Visualiser l'ensemble de données iris

  • Tracer la longueur des pétales selon leur largeur.
library(ggplot2)

# Tracer longueur vs largeur des pétales; couleur selon l'espèce
p <- ggplot(data = iris,
            aes(x = Petal.Width,
                y = Petal.Length,
                color = Species)) +
     geom_point()

# Afficher le graphique
p
Machines à vecteurs de support en R

Chapitre 2.4 - ensemble iris : longueur vs largeur des pétales, espèces distinguées par couleur

Machines à vecteurs de support en R

Comment l'algorithme SVM gère-t-il les problèmes multiclasse ?

  • Les SVM sont essentiellement des classificateurs binaires.
  • Pour les problèmes multiclasse, on utilise la stratégie de vote suivante :
    • Diviser les données en sous-ensembles de deux classes.
    • Résoudre la classification binaire pour chaque sous-ensemble.
    • Attribuer une classe par vote majoritaire à chaque point.
  • Appelé stratégie un-contre-un.
Machines à vecteurs de support en R

Construire un SVM linéaire multiclasse

  • Construire un SVM linéaire pour l'ensemble iris
    • Répartition entraînement/test 80/20 (graine 10), coût par défaut
library(e1071)

# Construire le modèle
svm_model <- svm(Species ~ ., 
                data = trainset, 
                type = "C-classification", 
                kernel = "linear")
  • Calculer la justesse
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
Machines à vecteurs de support en R

Passons à la pratique !

Machines à vecteurs de support en R

Preparing Video For Download...