Вступ

Support Vector Machines в R

Kailash Awati

Instructor

Підготовка

  • Мета: зрозуміти, як працюють SVM; які є параметри алгоритму та коли він найкращий.
  • Вимоги: середній рівень R; базова візуалізація за допомогою ggplot().
  • Підхід: почнемо з 1-вимірного прикладу й поступово перейдемо до складніших.
Support Vector Machines в R

Вміст цукру в безалкогольних напоях

  • Виробник безалкогольних напоїв має дві версії флагманського бренду:
    • Choke — вміст цукру 11 г/100 мл.
    • Choke-R — вміст цукру 8 г/100 мл.
  • Фактичний вміст цукру на практиці відрізняється.
  • Маючи 25 випадкових зразків, знайдіть правило, щоб визначити бренд.
  • Перший крок: візуалізуйте дані!
Support Vector Machines в R

Вміст цукру — код візуалізації

  • Дані в датафреймі drink_samples.
# Specify dataframe, set plot aesthetics in geom_point (note y = 0)
p <- ggplot(drink_samples) +
  geom_point(aes(sugar_content, 0))

# Label each point with sugar content value, adjust text size and location p <- p + geom_text(aes(sugar_content, 0, label = sugar_content), size = 2.5, vjust = 2, hjust = 0.5) # Display plot p
Support Vector Machines в R

Розділ 1.1 — кластери за вмістом цукру

Support Vector Machines в R

Межі рішення

  • Виберемо дві точки в інтервалі як кандидатні межі:
    • 9.1 г/100 мл
    • 9.7 г/100 мл
  • Правила класифікації (рішення):
    • if (y < 9.1) then "Choke-R" else "Choke"
    • if (y < 9.7) then "Choke-R" else "Choke"
  • Візуалізуймо їх на графіку з попереднього слайда.
Support Vector Machines в R

Межі рішення — код візуалізації

  • Створіть датафрейм із двома межами рішення.
# Define data frame containing decision boundaries
d_bounds <- data.frame(sep = c(9.1, 9.7))
Support Vector Machines в R

Межі рішення — код візуалізації

  • Додайте на графік за допомогою geom_point()
# Add decision boundaries to previous plot
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") 
# Display plot
p
Support Vector Machines в R

Розділ 1.1 — кластери з прикладними межами рішення

Support Vector Machines в R

Роздільник із максимальним відступом

  • Найкраща межа рішення — та, що максимізує відступ: роздільник із максимальним відступом.
  • Він лежить посередині між двома кластерами.
  • Візуалізуймо цей роздільник.
# Create data frame with maximal margin separator
mm_sep <- data.frame(sep = c((8.8 + 10) / 2))

# Add mm boundary to previous plot p <- p + geom_point(data = mm_sep, aes(sep, 0), color = "blue", size = 4) # Display plot p
Support Vector Machines в R

Розділ 1.1 — роздільник із максимальним відступом

Support Vector Machines в R

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

Support Vector Machines в R

Preparing Video For Download...