Dimensión de los datos antes y después de realizar PCA.

Estoy intentandoConcurso de reconocimiento de dígitos de kaggle.com utilizando Python y scikit-learn.

Después de eliminar las etiquetas de los datos de entrenamiento, agrego cada fila en CSV en una lista como esta:

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

Hago lo mismo para los datos de prueba.

Preproceso estos datos con PCA para realizar una reducción de dimensión (¿y extracción de características?):

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)

Luego creo un clasificador kNN y lo encajo con elX_train datos y hacer predicciones utilizando elX_test datos.

Usando este método puedo obtener alrededor del 97% de precisión.

Mi pregunta es sobre la dimensionalidad de los datos antes y después de realizar la PCA

¿Cuáles son las dimensiones detrain_data yX_train?

¿Cómo influye el número de componentes en la dimensionalidad de la salida? ¿Son la misma cosa?

Respuestas a la pregunta(1)

Su respuesta a la pregunta