Support Vector Regression (SVR)
Support Vector Regression (SVR) finds the flattest function that fits the training data within a specified error margin \u03b5, ignoring errors smaller than that threshold entirely.
The SVR Objective
SVR aims to fit a tube of width \u00b1\u03b5 around the data and penalises only points that fall outside the tube. This makes SVR robust to small noise and outliers within the margin.
Key Hyperparameters
C controls the trade-off between margin width and training error — higher C allows fewer margin violations. epsilon defines the width of the insensitive tube. kernel maps data into a higher-dimensional space; 'rbf' is the common default.
Fitting SVR in scikit-learn
Strengths and Limitations
SVR excels on small-to-medium datasets with complex patterns but does not scale well to very large datasets due to its quadratic training complexity.
When to Use SVR
SVR is a strong choice when: your dataset has fewer than ~10,000 samples, features have been scaled, and you suspect a non-linear relationship. For large datasets, gradient-boosted trees or deep learning are usually faster and more scalable alternatives.