Multiklassningsproblem

Support Vector Machines i R

Kailash Awati

Instructor

Iris-datamängden – en introduktion

  • 150 mätningar av 5 attribut
    • Kronbladets bredd och längd – numerisk (prediktorvariabler)
    • Foderbladets bredd och längd – numerisk (prediktorvariabler)
    • Art – kategori: setosa, virginica eller versicolor (predikterad variabel)
  • Datamängden finns på UCI ML repository
Support Vector Machines i R

Visualisering av iris-datamängden

  • Plotta kronbladslängd mot kronbladsbredd.
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 i R

Kapitel 2.4 – iris-datamängden: kronbladslängd mot kronbladsbredd, arter färgkodade

Support Vector Machines i R

Hur hanterar SVM-algoritmen multiklassningsproblem?

  • SVM är i grunden en binär klassificerare.
  • Den kan tillämpas på multiklassningsproblem med följande röstningsstrategi:
    • Dela upp datan i delgrupper med två klasser vardera.
    • Lös det binära klassificeringsproblemet för varje delgrupp.
    • Tilldela varje datapunkt en klass med majoritetsröstning.
  • Kallas en-mot-en-klassificeringsstrategi.
Support Vector Machines i R

Bygg en linjär SVM för multiklassning

  • Bygg en linjär SVM för iris-datamängden
    • 80/20 tränings-/testuppdelning (seed 10), standardkostnad
library(e1071)

# Build model
svm_model <- svm(Species ~ ., 
                data = trainset, 
                type = "C-classification", 
                kernel = "linear")
  • Beräkna träffsäkerheten
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 i R

Nu kör vi en övning!

Support Vector Machines i R

Preparing Video For Download...