In [ ]:
import matplotlib.pyplot as plt
import numpy as np
In [ ]:
# draw N random points in the [0,1]x[0,1] square
N = 100
x1 = np.random.rand(N)
x2 = np.random.rand(N)
# gráfico à esquerda mostra o conjunto de pontos e uma cosenóide
p = plt.figure()
p1 = p.add_subplot(121)
p1.plot(x1,x2,'rx')
# create a senoidal curve and add to the plot
x = np.arange(0, 1.0, 0.01)
fx = np.cos(2*np.pi*x) / 2 + 0.5
p1.plot(x, fx, lw=2)
# Gráfico à direita discrimina positivos (acima da curva) dos negativos (abaixo da curva)
# Ou seja, seria assim se a fronteira de decisão fosse a curva cosenóide
p2 = p.add_subplot(122)
for i in range(N):
if np.cos(2*np.pi*x1[i])/2 + 0.5 > x2[i]:
p2.plot(x1[i],x2[i],'bo') # o (bolinhas) azuis (blue)
else:
p2.plot(x1[i],x2[i],'ro') # o (bolinhas) vermelhas (red)
p2.plot(x, fx, lw=2)
plt.show()