Objetivo: familiarizar-se com a representação dos dados e plot
Note que, diferentemente do caso de regressão, aqui $y$ representa o rótulo de uma classe e portanto no plot ele aparece como uma cor.
In [ ]:
import matplotlib.pyplot as plt
import numpy as np
# Criar um array com N números.
# Cada um desses números é um exemplo x
# Em seguida, estender os exemplos: x ---> (1,x)
N = 14
x = np.array([0.2, 0.5, 1, 1.1, 1.2, 1.8, 2, 4.3, 4.4, 5.7, 6.9, 7.5, 8, 8.2])
X = np.vstack(zip(np.ones(N), x))
print X.shape
# Supor que os exemplos na primeira metade são negativos e o restante são
# positivos
y = np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1])
print y.shape
# show elements in distinct colors to discriminate negative from positive ones
for i in range(N):
if y[i]==1:
plt.plot(X[i,1], 0, 'bo') # o (bolinhas) azuis (blue)
else:
plt.plot(X[i,1], 0, 'ro') # o (bolinhas) vermelhas (red)
plt.ylim(-1,1)
plt.title('Exemplos de duas classes')
plt.xlabel('x')
ax1 = plt.axes()
ax1.axes.get_yaxis().set_visible(False)
plt.show()
Qual seria uma fronteira de decisão ?