Desde mi punto de vista, esta pregunta es adecuada para una respuesta de dos pasos. La primera parte, llamémoslo preprocesamiento suave , podría tomarse como el uso de diferentes algoritmos de minería de datos para preprocesar datos de tal manera que los haga adecuados para futuros análisis. Tenga en cuenta que este podría ser el análisis en sí mismo, en caso de que el objetivo sea lo suficientemente simple como para ser abordado de una sola vez.
La segunda parte, el preprocesamiento duro , en realidad es anterior a cualquier otro proceso, y se puede tomar como el uso de herramientas simples o scripts para limpiar datos, seleccionando contenidos específicos para procesar. Para este problema, POSIX nos proporciona un maravilloso conjunto de herramientas mágicas, que se pueden utilizar para componer scripts de preprocesamiento concisos y muy potentes.
Por ejemplo, para las personas que manejan datos provenientes de sitios web sociales (twitter, facebook, ...), la recuperación de datos generalmente genera archivos con un formato muy específico, aunque no siempre está bien estructurado, ya que pueden contener campos faltantes, por lo que . Para estos casos, un simple awk
script podría limpiar los datos, produciendo un archivo de entrada válido para su posterior procesamiento. A partir del conjunto de magia, también se puede señalar grep
, sed
, cut
, join
, paste
,sort
, y toda una multitud de otras herramientas.
En caso de que el archivo fuente tenga demasiados detalles, también puede ser necesario producir un paquete de métodos para limpiar los datos. En tales casos, generalmente es mejor usar lenguajes de script (que no sean shell), como Python, Ruby y Perl. Esto permite construir API 's para seleccionar datos específicos de una manera muy sencilla y reutilizable. Dichas API a veces se hacen públicas por sus escritores, como IMDbPY , Stack Exchange API y muchos otros.
Entonces, respondiendo a la pregunta: ¿hay mejores prácticas? Por lo general, depende de tu tarea. Si siempre tratará con el mismo formato de datos, generalmente es mejor escribir un script organizado para preprocesarlo; mientras que si solo necesita una limpieza simple y rápida en algún conjunto de datos, cuente con herramientas POSIX para scripts de shell concisos que harán todo el trabajo mucho más rápido que un script de Python, más o menos. Dado que la limpieza depende tanto del conjunto de datos como de sus propósitos, es difícil tener todo listo. Sin embargo, hay muchas API que lo ubican a la mitad del problema.