# New Technology

Trending Technology Machine Learning, Artificial Intelligent, Block Chain, IoT, DevOps, Data Science

## Search This Blog

In this blog we are creating our own dataset.

## Import required libraries

``````
# For mathematical calculation
import numpy as np

# For plotting graphs
import matplotlib.pyplot as plt

# Import the sklearn for SVM
from sklearn import svm

# For creating datasets
from sklearn.datasets import make_circles
``````

## Create dataset

``````
df, value = make_circles(n_samples=500,
noise=.05,factor=.5)
``````

## Plot dataset

``````
# Plot the dataset
plt.scatter(df[:,0],df[:,1],c=value)
plt.show()``````
`` ``

## Train and test the model.

``````
# Calculate the higher dimension value
x = df[:,0]
y = df[:,1]
z = x**2 + y**2

kernals = ['linear','poly','rbf']
training_set = np.c_[x,y]

# Train and predict for each kernal
for kernal in kernals:
clf=svm.SVC(kernel=kernal,gamma=2)

# Train the model
clf.fit(training_set,value)

# Test the model
prediction = clf.predict([[-0.4,-0.4]])

print prediction
'''
Output:
[0] - linear kernal
[1] - polynomial kernal
[1] - rbf kernal

'''

.
.
.
``````

## Plot various kernals

``````

.
.

.

# plot the line, the points,
# and the nearest vectors to the plane
X = training_set
y = value
X0 = X[np.where(y == 0)]
X1 = X[np.where(y == 1)]
plt.figure()

x_min = X[:, 0].min()
x_max = X[:, 0].max()
y_min = X[:, 1].min()
y_max = X[:, 1].max()

XX, YY = np.mgrid[x_min:x_max:200j
, y_min:y_max:200j]

Z = clf.decision_function(np.c_[XX.ravel()
, YY.ravel()])

# Put the result into a color plot
Z = Z.reshape(XX.shape)

plt.pcolormesh(XX, YY, Z > 0
, cmap=plt.cm.Paired)

plt.contour(XX, YY, Z, colors=['k', 'k', 'k'],
linestyles=['--', '-', '--'],
levels=[-.5, 0, .5])

plt.scatter(X0[:, 0], X0[:, 1], c='r',s=50)
plt.scatter(X1[:, 0], X1[:, 1], c='b',s=50)

title = ('SVC with {} kernal').format(kernal)
plt.title(title)
plt.show()
``````

(See how rbf kernal clearly classifies the dataset)