%%file util.py
from math import ceil
from matplotlib import pyplot as pl
MODEL_NAME = 'model'
NUM_COLS = 5
PLOT_LEN = 3
FONT_SIZE = 25
CMAP = 'gray_r'
def show_digits_plots(digitos, ini, fim):
num_digits = fim - ini + 1
num_rows = int(ceil((1.*num_digits)/NUM_COLS))
fig, axes = pl.subplots(num_rows, NUM_COLS, figsize=(PLOT_LEN*NUM_COLS, PLOT_LEN*num_rows))
for ax, i in zip(axes.ravel(), xrange(ini, fim+1)):
ax.plot(xrange(len(digitos.data[i])), digitos.data[i])
ax.set_title("%d" % digitos.target[i])
def show_digits(digitos, ini, fim):
num_digits = fim - ini + 1
num_rows = int(ceil((1.*num_digits)/NUM_COLS))
fig, axes = pl.subplots(num_rows, NUM_COLS, figsize=(PLOT_LEN*NUM_COLS, PLOT_LEN*num_rows))
for ax in axes.ravel():
ax.axis('off')
for ax, i in zip(axes.ravel(), xrange(ini, fim+1)):
# no lugar de data[i].reshape((8,8)) pode-se utilizar images[i]
ax.imshow(digitos.data[i].reshape((8, 8)), cmap=CMAP, interpolation='nearest')
ax.set_title('%d' % digitos.target[i], fontsize=FONT_SIZE)
def show_confusion_matrix(cm):
fig = pl.figure(figsize=(5,5))
ax = fig.add_subplot(1,1,1)
im = ax.matshow(cm)
ax.set_xlabel('predito')
ax.set_ylabel('real')
r_10 = range(10)
ax.set_xticks(r_10)
ax.set_xticklabels(r_10)
ax.set_yticklabels(r_10)
ax.set_yticks(r_10)
_ = fig.colorbar(im)