""" ================= Non-linear SVM ================= """ import numpy as np import pylab as pl from scikits.learn import svm xx, yy = np.meshgrid(np.linspace(-5, 5, 500), np.linspace(-5, 5, 500)) np.random.seed(0) X = np.random.randn(300, 2) Y = np.logical_xor(X[:,0]>0, X[:,1]>0) # fit the model clf = svm.NuSVC() clf.fit(X, Y) # plot the line, the points, and the nearest vectors to the plane Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) Z = Z.reshape(xx.shape) pl.set_cmap(pl.cm.Paired) pl.pcolormesh(xx, yy, Z) pl.scatter(X[:,0], X[:,1], c=Y) pl.axis('tight') pl.show()