Aquí hay realmente dos pasos diferentes que probablemente tengan dos respuestas diferentes. Así que vamos a dividir esto en el bit ‘preproceso’ y el bit ‘aprendizaje automático’.
Preproceso : hay dos formas de desollar este gato. 1) Acelere su método actual en su hardware actual y 2) Muévase a un marco distribuido.
- Hazlo más rápido : puedes perfilar tu código actual y descubrir cuál es la restricción actualmente. Podría ser CPU, podría ser disco IO. Si es CPU, entonces puede reescribir el código para que sea paralelo (use múltiples hilos) en su hardware existente. Si está vinculado a IO, puede pasar a una unidad SSD. O simplemente podría lanzar hardware más rápido en forma de una instancia de Amazon EC2 muy eficiente. Las soluciones antes mencionadas no requieren reescribir su código de preprocesamiento existente. Otro enfoque sería reescribir su código de preprocesamiento en un idioma más rápido. Aprender un nuevo idioma conlleva un gran costo fijo, por lo que lo ofreceré como una solución, sabiendo que a menudo esa no es una solución razonable.
- Vaya distribuido : el preprocesamiento de datos es un buen ejemplo de algo que es trivialmente distribuible. Puede cortar su archivo de entrada en mandriles, agréguelos a un grupo de trabajadores y luego recombinar los bits resultantes. Realmente no necesita un marco pesado como Hadoop para hacer esto, pero podría hacerlo. Soy un fanático de los servicios fáciles de usar, por lo que me inclinaría a usar Elastic Map Reduce (EMR) de Amazon para hacer el preprocesamiento. Dependiendo del idioma en el que escribió su código existente, es posible que solo necesite modificaciones menores en el código.
Aprendizaje automático : los principios son los mismos que en el paso de preprocesamiento. Tienes que obtener hardware más rápido, código más rápido o distribuirte. Parece que ha habido algún trabajo para hacer que LDA sea escalable, pero no tengo un conocimiento profundo, personalmente: http://bcmi.sjtu.edu.cn/~zhzhang…
- ¿Qué capacidades debe tener cada equipo de ciencia de datos?
- ¿Cuáles son algunos trabajos de big data en los Estados Unidos?
- ¿Cuál sería un buen problema de recomendación de Kaggle para elegir como un proyecto corto?
- ¿Por qué se usa la regresión logística con tanta frecuencia en la ciencia de datos?
- ¿Cómo debo aprender ciencia de datos y aprendizaje automático?