Skip to content
/ svm Public

Реализация метода опорных векторов для классификации данных

Notifications You must be signed in to change notification settings

ziyadovea/svm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVM - Support Vector Machine

В данном репозитории представлена реализация метода опорных векторов (далее SVM - Support Vector Machine) для классификации данных. Также были реализованы основные метрики задачи классификации и кросс-валидация.

SVM

Реализовано:

  1. Бинарный SVM классификатор (на основе решения задачи квадратичного программирования (QP) методом SMO)

    Используется упрощенный вариант SMO в том смысле, что для выбора оптимальных параметров ai и aj используется упрощенная эвристика - индекс j выбирается случайным образом. Такой вариант сокращает время обучения алгоритма, однако пара ai и aj может получаться не всегда самой оптимальной - поэтому от запуска к запуску качество классификации может немного отличаться.

  2. Многоклассовый SVM классификатор (на основе бинарного с применением метода один против всех (OVA - Ove-vs-All или OVR - One-vs-Rest))

    Каждый классификатор обучается в отдельной горутине (пояснение: горутина - легковесный поток - объект языка Go), что сокращает время обучения и оптимизирует использование ресурсов компьютера.

Метрики

Реализовано:

  1. Бинарные метрики
  • Accuracy
  • Precision
  • Recall
  • F-score
  • F-beta
  1. Многоклассовые метрики метрики

    Бинарные метрики представлены с возможностью следующих усреднений:

  • Микроусреднение
  • Макроусреднение
  • Взвешенное усреднение

Кросс-валидация

Реализовано:

  • K-fold кросс-валидация
    Для каждого фолда обучение и тестирование алгоритма происходит независимо - в отдельной горутине. Это сокращает время и оптимизирует использование ресурсов компьютера.

About

Реализация метода опорных векторов для классификации данных

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages