I am new to support vector machines.
The svm
function from the e1071
package in R offers various options:
- C-classification
- nu-classification
- one-classification (for novelty detection)
- eps-regression
- nu-regression
What are the intuitive differences between the five types? Which one should be applied in which situation?
Best Answer
Short answer
You can select what to used based on your goal and what kind of data you have.
If you have a classification problem, i.e., discrete label to predict, you can use
C-classification
andnu-classification
.If you have a regression problem, i.e., continuous number to predict, you can use
eps-regression
andnu-regression
.If you only have one class of the data, i.e., normal behavior, and want to detect outliers.
one-classification
.Details
C-classification and nu-classification is for binary classification usage. Say if you want to build a model to classify cat vs. dog based on features for animals, i.e., prediction target is a discrete variable/label.
For details about difference between C-classification and nu-classification. You can find in the FAQ from LIBSVM
One-classification is for "outlier detection", where you only have one classes data. For example, you want to detect "unusual" behaviors of one user's account. But you do not have "unusual behavior" to train the model. But only the normal behavior.
eps-regression and nu-regression are used for regression problems, where you want to predict a continuous number say housing price. Detailed difference can be found here: Difference between ep-SVR and nu-SVR (and least squares SVR)