from sklearn.svm import SVC
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
def draw_contour(clf, X):
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
plot_step = 1000
xx, yy = np.meshgrid(np.linspace(x_min, x_max, plot_step),
np.linspace(y_min, y_max, plot_step))
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
# print(Z)
Z = Z.reshape(xx.shape)
cs = plt.contourf(xx, yy, Z, cmap=plt.cm.RdYlBu, alpha=0.3)
data = pd.read_csv('banknotes.csv')
data
X = data.loc[:, ['Right', 'Left']]
y = data.iloc[:,0]
plt.scatter(data.loc[:,['Right']], data.loc[:,['Left']], c = y)
svm = SVC(kernel='linear', C=0.0001)
svm.fit(X, y)
svm.score(X, y)
draw_contour(svm, X.values)
plt.scatter(data.loc[:,['Right']], data.loc[:,['Left']], c = y)
svm = SVC(kernel='rbf', C=100)
svm.fit(X, y)
print(svm.score(X, y))
draw_contour(svm, X.values)
plt.scatter(data.loc[:,['Right']], data.loc[:,['Left']], c = y)