Esta mejora deberá permitirnos obtener, con formato de lista, los valores de la exactitud del modelo tras cada epoch. Esta información la almacenaremos en forma de atributo privado e incluiremos un método para obtenerla. Comenzamos, por lo tanto, añadiendo el atributo a nuestro constructor:
def __init__(self, sizes, learning_rate = 0.01, batch_size = 16, epochs = 10,
            shuffle = True, validation_split = None, verbose = True):
    """ Constructor de la red neuronal """
    self.num_layers = len(sizes)         # Número total de capas de la red
    self.sizes = sizes                   # Lista conteniendo el número de neuronas por capa
    self.learning_rate = learning_rate   # Tasa de aprendizaje
    ...
    self.validation_split = validation_split   # Porcentaje de muestras para validación
    self.verbose = verbose               # Controla si se muestra info del entrenamiento
    self.__history = []                  # Exactitud del modelo tras cada epoch
Esta lista deberá inicializarse al comienzo de cada entrenamiento:
def fit(self, X: pd.core.frame.DataFrame, y: pd.core.series.Series):
    """ Entrenamiento de la red neuronal"""
    self.__history = []
...e irá recibiendo los valores accuracy calculados tras cada epoch:
for epoch in range(self.epochs):
    if self.shuffle:
        np.random.shuffle(training_data)
    mini_batches = [training_data[start:start + self.batch_size]
                    for start in range(0, n, self.batch_size)]
    for mini_batch in mini_batches:
        self.__update_parameters(mini_batch)
    if self.validation_split:
        prediction = self.predict(x_test)
        accuracy = sum(int(p == y) for (p, y) in zip(prediction, y_test)) / len(x_test)
        self.__history.append(accuracy)
        if self.verbose:
            print("Epoch {} complete. Accuracy: {:.4f}".format(epoch, accuracy))
    else:
        if self.verbose:
            print("Epoch {} complete".format(epoch))
Por último, creamos un método, get_history, que nos devuelva esta lista:
def get_history(self):
    return self.__history