示例#1
0
        knn.fit(X_train, Y_train)
        print("Training time:", (datetime.now() - t0))

        t0 = datetime.now()
        train_score = knn.score(X_train, Y_train)
        train_scores.append(train_score)
        print("Train accuracy:", train_score)
        print("Time to compute train accuracy:", (datetime.now() - t0), "Train size:", len(Y_train))

        t0 = datetime.now()
        test_score = knn.score(X_test, Y_test)
        print("Test accuracy:", test_score)
        test_scores.append(test_score)
        print("Time to compute test accuracy:", (datetime.now() - t0), "Test size:", len(Y_test))
        exec_times.append((datetime.now() - t0).total_seconds())

        # update best accuracy (for comparison purpose later)
        if test_score > best_test_score:
            best_test_score = test_score
            stored_accuracy = [test_score, k]

    fig = plt.figure()
    plt.plot(ks, train_scores, label='train scores')
    plt.plot(ks, test_scores, label='test scores')
    plt.legend()
    plt.show()
    fig.savefig('hw5/results/result-knn-scratch.png', dpi=fig.dpi)
    save_to_csv('exec-knn-scratch.csv', exec_times) # X is an array
    save_to_csv('knn-test-scores-scratch.csv', test_scores)
    save_to_csv('knn-best-acc-scratch.csv', stored_accuracy)
示例#2
0
        train_prob = kde.predict(X_train)
        train_score = kde.eval_acc(train_prob, Y_train)
        train_scores.append(train_score)
        print("Train accuracy:", train_score)
        print("Time to compute train accuracy:", (datetime.now() - t0),
              "Train size:", len(Y_train))

        t0 = datetime.now()
        test_prob = kde.predict(X_test)
        test_score = kde.eval_acc(test_prob, Y_test)
        print("Test accuracy:", test_score)
        test_scores.append(test_score)
        print("Time to compute test accuracy:", (datetime.now() - t0),
              "Test size:", len(Y_test))
        exec_times.append((datetime.now() - t0).total_seconds())

        # update best accuracy (for comparison purpose later)
        if test_score > best_test_score:
            best_test_score = test_score
            stored_accuracy = [test_score, bandwidth]

    fig = plt.figure()
    plt.plot(ks, train_scores, label='train scores')
    plt.plot(ks, test_scores, label='test scores')
    plt.legend()
    plt.show()
    fig.savefig('hw5/results/result-kde.png', dpi=fig.dpi)
    save_to_csv('exec-kde.csv', exec_times)
    save_to_csv('test-scores-kde.csv', test_scores)
    save_to_csv('best-acc-kde.csv', stored_accuracy)
示例#3
0
        train_score = knn.score(X_train, Y_train) / 100
        train_scores.append(train_score)
        print("Train accuracy:", train_score)
        print("Time to compute train accuracy:", (datetime.now() - t0),
              "Train size:", len(Y_train))

        t0 = datetime.now()
        test_score = knn.score(X_test, Y_test) / 100
        print("Test accuracy:", test_score)
        test_scores.append(test_score)
        print("Time to compute test accuracy:", (datetime.now() - t0),
              "Test size:", len(Y_test))
        exec_times.append((datetime.now() - t0).total_seconds())

        # update best accuracy (for comparison purpose later)
        if test_score > best_test_score:
            best_test_score = test_score
            stored_accuracy = [test_score, k]

        # np.savetxt(fname=csv_path + 'exec-knn-theano.csv', X=str("dsd"), delimiter=',', fmt='%d')

    fig = plt.figure()
    plt.plot(ks, train_scores, label='train scores')
    plt.plot(ks, test_scores, label='test scores')
    plt.legend()
    plt.show()
    fig.savefig('hw5/results/result-knn-theano.png', dpi=fig.dpi)
    save_to_csv('exec-knn-theano.csv', exec_times)
    save_to_csv('knn-test-scores-theano.csv', test_scores)
    save_to_csv('knn-best-acc-theano.csv', stored_accuracy)
示例#4
0
        t0 = datetime.now()
        train_prob = kmeans.predict(X_train)
        train_score = kmeans.eval_acc(train_prob, Y_train)
        train_scores.append(train_score)
        print("Train accuracy:", train_score)
        print("Time to compute train accuracy:", (datetime.now() - t0), "Train size:", len(Y_train))

        t0 = datetime.now()
        test_prob = kmeans.predict(X_test)
        test_score = kmeans.eval_acc(test_prob, Y_test)
        print("Test accuracy:", test_score)
        test_scores.append(test_score)
        print("Time to compute test accuracy:", (datetime.now() - t0), "Test size:", len(Y_test))
        exec_times.append((datetime.now() - t0).total_seconds())

        # update best accuracy (for comparison purpose later)
        if test_score > best_test_score:
            best_test_score = test_score
            stored_accuracy = [test_score, ds[i]]

    fig = plt.figure()
    plt.plot(ds, train_scores, label='train scores')
    plt.plot(ds, test_scores, label='test scores')
    plt.legend()
    plt.show()
    fig.savefig('hw6/results/result-kmeans.png', dpi=fig.dpi)
    save_to_csv('exec-kmeans.csv', exec_times, rot_path="..")
    save_to_csv('test-scores-kmeans.csv', test_scores, rot_path="..")
    save_to_csv('best-acc-kmeans.csv', stored_accuracy, rot_path="..")
示例#5
0
    t0 = datetime.now()
    # Start GMM: Sklearn
    highest_acc = 0.0
    for i in range(K):
        gmm.fit(X_train)
        y_gmm = gmm.predict(X_train)
        accuracy = gmm.eval_acc(y_gmm, Y_train)
        acc_scores.append(accuracy)
        highest_acc = accuracy if accuracy > highest_acc else highest_acc

    elapsed_time = datetime.now() - t0

    fig = plt.figure()
    mean_acc = str(round(np.mean(np.array(acc_scores)), 2))
    title = "Highest (Red) = " + str(round(highest_acc,
                                           2)) + "; AVG (Black) = " + mean_acc
    plt.title(title)
    plt.plot(ks, acc_scores, label='accuracy')
    plt.axhline(highest_acc, color='red', linestyle='dashed', linewidth=2)
    plt.axhline(np.mean(np.array(acc_scores)),
                color='k',
                linestyle='dashed',
                linewidth=2)
    plt.legend()
    plt.show()
    fig.savefig('hw6/results/result-gmm-accuracy.png', dpi=fig.dpi)

    save_to_csv('gmm-acc.csv', acc_scores, "hw6")
    save_to_csv('gmm-exec-time.csv', [elapsed_time.total_seconds()], "hw6")