In this recipe, we introduce support vector machines, or SVMs. These powerful models can be used for classification and regression. Here, we illustrate how to use linear and nonlinear SVMs on a simple classification task.
In [1]: import numpy as np import pandas as pd import sklearn import sklearn.datasets as ds import sklearn.cross_validation as cv import sklearn.grid_search as gs import sklearn.svm as svm import matplotlib.pyplot as plt %matplotlib inline
We generate 2D points and assign a binary label according to a linear operation on the coordinates:
In [2]: X = np.random.randn(200, 2) y = X[:, 0] + X[:, 1] > 1
We now fit a linear Support Vector Classifier (SVC). This classifier tries to separate the two groups of points with a linear boundary (a line here, but more generally a hyperplane):
In [3]: # We train the classifier...