Actualmente me estoy embarcando en un proyecto que implica rastrear y procesar grandes cantidades de datos (cientos de gig), y también extraerlos para extraer datos estructurados, reconocimiento de entidad nombrada, deduplicación, clasificación, etc.Aprendizaje automático a gran escala: ¿Python o Java?
Estoy familiarizado con las herramientas de ML de Java y el mundo de Python: Lingpipe, Mahout, NLTK, etc. Sin embargo, cuando se trata de elegir una plataforma para un problema de tan gran escala, no tengo suficiente experiencia para decidir entre Java o Python.
Sé que esto suena como una pregunta vaga, pero estoy buscando consejos generales sobre cómo elegir Java o Python. La JVM ofrece un mejor rendimiento (?) Sobre Python, pero ¿son compatibles las bibliotecas como Lingpipe, etc. con el ecosistema de Python? Si fuera este Python, ¿qué tan fácil sería escalarlo y administrarlo en varias máquinas, etc.
¿Con cuál debo ir y por qué?
[Jython] (http://www.jython.org/) :-) –
Los algoritmos utilizados son tan importantes (o más) que el lenguaje en tareas ML a gran escala; por ejemplo, las técnicas basadas en vectores propios pueden ser inviables cuando se trata de una gran cantidad de datos. Entonces, si bien vale la pena pensar en las herramientas disponibles de cada idioma para problemas a gran escala, los algoritmos de ML utilizados pueden dominar el rendimiento. – Junier
Su pregunta es muy interesante, pero también muy amplia, ni siquiera sé qué podría poner en una respuesta. Un consejo sería usar Mahout (proyecto de Hadoop) que aborda directamente su problema. Intenta hacer que tu pregunta sea mucho más explícita y detallada, o probablemente se cerrará incluso si tiene potencial. –