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?