Багатокласові задачі

Support Vector Machines в R

Kailash Awati

Instructor

Набір даних iris — вступ

  • 150 вимірювань 5 атрибутів
    • Ширина й довжина пелюстки — число (прогнозувальні змінні)
    • Ширина й довжина чашолистка — число (прогнозувальні змінні)
    • Вид — категорія: setosa, virginica або versicolor (цільова змінна)
  • Набір даних доступний у UCI ML repository
Support Vector Machines в R

Візуалізація набору iris

  • Побудуйте графік: довжина пелюстки проти ширини пелюстки.
library(ggplot2)

# Побудуйте довжину пелюстки vs ширину для набору; розрізняйте види кольором
p <- ggplot(data = iris,
            aes(x = Petal.Width,
                y = Petal.Length,
                color = Species)) +
     geom_point()

# Показати графік
p
Support Vector Machines в R

Розділ 2.4 — набір iris: довжина пелюстки проти ширини, види позначені кольором

Support Vector Machines в R

Як алгоритм SVM працює з багатокласовими задачами?

  • SVM — по суті бінарні класифікатори.
  • Їх можна застосувати до багатокласових задач зі стратегією голосування:
    • Розбийте дані на підмножини з двома класами.
    • Розв'яжіть бінарну класифікацію для кожної підмножини.
    • Використайте більшість голосів, щоб призначити клас кожній точці.
  • Це називається стратегією one-against-one.
Support Vector Machines в R

Побудова багатокласового лінійного SVM

  • Побудуйте лінійний SVM для набору iris
    • Розбиття 80/20 на тренування/тест (seed 10), вартість за замовчуванням
library(e1071)

# Побудова моделі
svm_model <- svm(Species ~ ., 
                data = trainset, 
                type = "C-classification", 
                kernel = "linear")
  • Обчисліть точність
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 в R

Час практики!

Support Vector Machines в R

Preparing Video For Download...