示例#1
0
    train_y_file = "./data/train_label.csv"
    train_y = np.genfromtxt(train_y_file, delimiter=',')
    print(train_y.shape)

    test_x_file = "./data/test_data.csv"
    test_x = np.genfromtxt(test_x_file, delimiter=',')
    print(test_x.shape)

    test_y_file = "./data/test_label.csv"
    test_y = np.genfromtxt(test_y_file)
    print(test_y.shape)

    #addition PCA here
    pca = PCA(166, 50)
    train_x = pca.getPC(train_x)
    test_x = pca.projectData(
        test_x)  # standardization will be performed inside the function
    print(train_x.shape)
    print(test_x.shape)
    knn = Knn()
    print type(train_x)
    new_train_x, new_train_y = knn.shuffle(train_x, train_y)
    new_train_x = np.array(new_train_x)
    new_train_y = np.array(new_train_y)
    k_values = [2 * l + 1 for l in range(0, 9)]
    k_value_acc = {i: 0.0 for i in k_values}
    for k in k_values:
        sum_accuracy = 0
        folds = 5
        for i in range(1, folds + 1):
            train_x1, train_y1, test_x1, test_y1 = knn.get_kth_fold(
                new_train_x, new_train_y, folds, i)
示例#2
0
p1 = mu
p2 = mu + 1.5 * S[0] * U[:, 0].T
data = np.r_[p1, p2].reshape([-1, 2])
ax.plot(data[:, 0], data[:, 1], '-k', linewidth=2)
p2 = mu + 1.5 * S[1] * U[:, 1].T
data = np.r_[p1, p2].reshape([-1, 2])
ax.plot(data[:, 0], data[:, 1], '-k', linewidth=2)

# =================== Dimension Reduction ===================
ax = fig.add_subplot(1, 2, 2)
ax.plot(X_norm[:, 0], X_norm[:, 1], 'bo')

K = 1

Z = pca.projectData(X_norm, U, K)

X_rec = pca.recoverData(Z, U, K)

ax.plot(X_rec[:, 0], X_rec[:, 1], 'ro')

for i in range(m):
    data = np.r_[X_norm[i, :], X_rec[i, :]].reshape([-1, 2])
    ax.plot(data[:, 0], data[:, 1], '--k', linewidth=2)


# =============== Loading and Visualizing Face Data =============
def displayData(X):
    m, n = X.shape
    example_width = np.int(np.sqrt(n))
    example_height = np.int(n / example_width)