Implementing a non-linear SVM
For this recipe, we will apply a non-linear kernel to split a dataset.
Getting ready
In this section, we will implement the preceding Gaussian kernel SVM on real data. We will load the iris dataset and create a classifier for I. setosa (versus Non-setosa). We will see the effect of various gamma values on the classification.
How to do it...
We proceed with the recipe as follows:
- We first load the necessary libraries, which includes the
scikit-learn
datasets so that we can load the iris data. Then, we will start a graph session. Use the following code:
import matplotlib.pyplot as plt import numpy as np import tensorflow as tf from sklearn import datasets sess = tf.Session()
- Next, we will load the iris data, extract the sepal length and petal width, and separate the x and y values for each class (for plotting purposes later), as follows:
iris = datasets.load_iris() x_vals = np.array([[x[0], x[3]] for x in iris.data]) y_vals = np.array([1 if y==0 else -1 for y...