Exemplo n.º 1
0
            best_val_score = val_score
            copy_the_model(model, saved_model)

        if val_score < prev_val_score:
            early_stop_count -= 1
            print("Early stopping count reduced to " + str(early_stop_count))
        else:
            early_stop_count = MAX_EARLY_STOP_COUNT

        prev_val_score = val_score

    h_test = []
    for i in range(x_test.shape[0] // saved_model.batch_size + 1):
        h_test.append(
            saved_model.encoder(x_test[i * saved_model.batch_size:(i + 1) *
                                       saved_model.batch_size].transpose(
                                           1, 0,
                                           2).astype(theano.config.floatX)))
    h_test = np.concatenate(h_test)
    print("Accuracy on test: %0.4f" % clf.get_accuracy(h_test, Y_test))

    y_test = clf.predict(h_test)
    df = pd.DataFrame(y_test)
    df['traj'] = test_traj
    groupby = df.groupby('traj').sum()
    trip_preds = groupby.idxmax(1)
    trip_accuracy = float(
        sum([traj_to_driver[k] == v
             for (k, v) in trip_preds.iteritems()])) / trip_preds.shape[0]
    print("Trip level prediction accuracy = {:.2f}".format(trip_accuracy))