Vícetřídní problémy

Support Vector Machines v R

Kailash Awati

Instructor

Dataset iris – úvod

  • 150 měření 5 atributů
    • Šířka a délka okvětního lístku – číslo (prediktory)
    • Šířka a délka kališního lístku – číslo (prediktory)
    • Druh – kategorie: setosa, virginica nebo versicolor (predikovaná proměnná)
  • Dataset dostupný z UCI ML repository
Support Vector Machines v R

Vizualizace datasetu iris

  • Vykreslete délku vs. šířku okvětního lístku.
library(ggplot2)

# Plot petal length vs width for dataset, distinguish species by color
p <- ggplot(data = iris,
            aes(x = Petal.Width,
                y = Petal.Length,
                color = Species)) +
     geom_point()

# Display plot
p
Support Vector Machines v R

Kapitola 2.4 – dataset iris: délka vs. šířka okvětního lístku, druhy odlišeny barvou

Support Vector Machines v R

Jak SVM řeší vícetřídní problémy?

  • SVM jsou v podstatě binární klasifikátory.
  • Na vícetřídní problémy lze aplikovat pomocí následující strategie hlasování:
    • Rozdělit data do podmnožin obsahujících vždy dvě třídy.
    • Vyřešit binární klasifikaci pro každou podmnožinu.
    • Přiřadit třídu každému bodu pomocí hlasování většinou.
  • Nazývá se strategie klasifikace one-against-one.
Support Vector Machines v R

Sestavení vícetřídního lineárního SVM

  • Sestavte lineární SVM pro dataset iris
    • Rozdělení 80/20 (seed 10), výchozí cost
library(e1071)

# Build model
svm_model <- svm(Species ~ ., 
                data = trainset, 
                type = "C-classification", 
                kernel = "linear")
  • Výpočet přesnosti
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
Support Vector Machines v R

Čas na procvičení!

Support Vector Machines v R

Preparing Video For Download...