Wymiar danych przed i po wykonaniu PCA

PróbujęKonkurs na rozpoznawanie cyfr kaggle.com przy użyciu Pythona i scikit-learn.

Po usunięciu etykiet z danych treningowych dodaję każdy wiersz w CSV do listy w następujący sposób:

for row in csv:
    train_data.append(np.array(np.int64(row)))

Robię to samo dla danych testowych.

Wstępnie przetwarzam te dane za pomocą PCA w celu przeprowadzenia redukcji wymiarów (i ekstrakcji funkcji?):

def preprocess(train_data, test_data, pca_components=100):
    # convert to matrix
    train_data = np.mat(train_data)

    # reduce both train and test data
    pca = decomposition.PCA(n_components=pca_components).fit(train_data)
    X_train = pca.transform(train_data)
    X_test = pca.transform(test_data)

    return (X_train, X_test)

Następnie tworzę klasyfikator kNN i dopasowuję go doX_train dane i przewidywania za pomocąX_test dane.

Dzięki tej metodzie mogę uzyskać około 97% dokładności.

Moje pytanie dotyczy wymiarów danych przed i po przeprowadzeniu PCA

Jakie są wymiarytrain_data iX_train?

Jak liczba elementów wpływa na wymiarowość wyniku? Czy są tym samym?

questionAnswers(1)

yourAnswerToTheQuestion