镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

feat(svm): implement SVC and SVR with SMO solver - #10

Merged
kundanjan merged 1 commit into
developfrom
feature/svm
Jun 30, 2026
Merged

kundanjan merged 1 commit into
developfrom
feature/svm

Conversation

@kundanjan

Copy link
Copy Markdown
Contributor

Summary

Implements Support Vector Machine classification (SVC) and regression (SVR) with a pure-Java SMO (Sequential Minimal Optimization) solver.

Components

  • Kernel — linear, polynomial, RBF, sigmoid with sklearn-compatible gamma scaling/auto
  • SMOSolver — Platt's SMO for the C-SVC dual QP with second-order working set selection
  • SVC — binary classification + one-vs-one multi-class (6 tests)
  • SVR — epsilon-insensitive regression via SMO-style solver (5 tests)

Key Details

  • Decision function uses sum(αᵢyᵢK(xᵢ,x)) + b convention
  • Multi-class uses sklearn's one-vs-one strategy with voting
  • SVR uses β = α - α* formulation with ε-tube
  • All tests pass with checkstyle clean

- Kernel class: linear, polynomial, RBF, sigmoid
- SMOSolver: Platt's SMO for C-SVC dual QP
- SVC: binary + one-vs-one multi-class classification
- SVR: epsilon-insensitive regression via SMO-style solver
- All classes include Javadoc, JUnit 5 tests, checkstyle compliance
@kundanjan
kundanjan merged commit 2f1b061 into develop Jun 30, 2026
1 check failed
@kundanjan
kundanjan deleted the feature/svm branch June 30, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant