Пример #1
0
def var_vs_comp(X, start, stop, step):
    print("Making variance v/s components plot. . . ")
    components = []
    variances = []
    d = X.shape[1]
    i_cols = np.arange(start, stop, step)
    for k in i_cols:
        pca = Preprocessing.PCA(X, k=k, whiten=False)
        components.append(k)
        variances.append(pca.var_retained)

    plt.plot(components, variances)
    plt.ylabel('variance retained')
    plt.xlabel('number of components')
    plt.show()
Пример #2
0
def performPCA(inputDataClass, reduced_columns):
    ############################################## PCA Visualisation #############################################
    # #variance v/s n_components : Fashion MNIST
    # start = 10
    # stop = 500
    # step = 15
    # Visualization.var_vs_comp(inputDataClass.Train[:,:-1], start, stop, step)
    ########################################################### PCA #############################################

    ##### Our PCA ####
    pca = Preprocessing.PCA(inputDataClass.Train[:, :-1],
                            k=reduced_columns,
                            whiten=False)  ##### Hyperparameter ####
    reduced_train = pca.reduce(inputDataClass.Train[:, :-1], True)
    inputDataClass.Train = np.hstack(
        (reduced_train, inputDataClass.Train[:, -1].reshape(-1, 1)))
    print("train_data reduced. YAYAYAYA")
    print("Train data reduced to columns = " + str(reduced_train.shape[1]))
    reduced_test = pca.reduce(inputDataClass.Test[:, :-1], False)
    inputDataClass.Test = np.hstack(
        (reduced_test, inputDataClass.Test[:, -1].reshape(-1, 1)))
    print("test_data reduced. YAYAYAYA")
    print("Test data reduced to columns = " + str(reduced_test.shape[1]))