Infoworld | Por Serdar Yegulalp
Después de pasar décadas en las sombras como una disciplina especializada, o un aprendizaje automático, Java se ha convertido en una herramienta de negocios. La parte más difícil, sin embargo, es lo que es útil, sobre todo para los desarrolladores y científicos de datos que se están encargando de las máquinas de prendizaje (Java machine learning). Con este fin, hemos redondeado algunas de las herramientas más comunes y útiles para aprender cómo sacarle ventaja es este lenguaje de código abierto.
Python: Los científicos de datos han asimilado Python como la alternativa más abierta a las lenguas analíticas, como R, y muchos empleadores buscan añadir la pericia de los grandes datos a sus listas Python como una habilidad deseada. Como resultado, muchas de las bibliotecas de aprendizaje automático tienen ahora un software de Python.
Del grupo, la mejor opción es aprender scikit. Ha cargado algoritmos y módulos y es ampliamente apreciado en GitHub, (casi 2.000 usuarios y en ascenso), y tiene una variedad de grandes nombres de testimonios
Otro importante es PyBrain, que está diseñado para ser fácil de trabajar y proporciona acceso a algunas herramientas poderosas. Como su nombre lo indica, se centra en los gustos de las redes neuronales y aprendizaje no supervisado, y proporciona un mecanismo para los algoritmos de entrenamiento y refinación.
Go: idioma del sistema de Google diseñado para que el paralelismo parezca como un ambiente ideal para las bibliotecas de aprendizaje. Una serie de pequeños, bibliotecas donde lo más específico es la figura o el paisaje, pero posee un par de opciones. La más notable, GoLearn, es descrita por sus creadores como un “baterías incluidas” o una “biblioteca de aprendizaje de máquinas”, y tiene herramientas para el filtrado, clasificación y análisis de regresión.
Una biblioteca mucho más pequeña y más básica es mlgo, que implementa sólo un pequeño número de algoritmos en este momento, pero tiene previsto crecer para el futuro.
Java en Hadoop: Mahout (que significa “corredor de elefantes” en hindi). Agrupa varias metodologías de aprendizaje automático común para su uso en el marco de datos, lo que la hace favorita de todos. El paquete está construido alrededor de algoritmos en lugar de metodologías, por lo que para algunos la comprensión de los algoritmos es la que se requiere. Dicho esto, no es difícil ver cómo encajan las piezas en un sistema de recomendación basado en el usuario y que se puede realizar en unas pocas líneas de código .
Otro proyecto de la máquina de aprendizaje basado en Hadoop, Oryx de Cloudera, tiene la intención de construir sobre el trabajo de Mahout, mediante la entrega de resultados de transmisión por secuencias en tiempo real en lugar de trabajar en trabajos por lotes. Por desgracia, está todavía en las primeras etapas; es realmente un proyecto en lugar de un producto, pero que merece una estrecha vigilancia a medida que evoluciona.
Java: Aparte de Mahout, que se centra en Hadoop, que es un número de otras bibliotecas de aprendizaje automático para Java y está en amplio uso, está Weka, que fue creado por la Universidad de Waikato en Nueva Zelanda, y es una aplicación en un entorno de trabajo como la suma visualizaciones y las capacidades de minería de datos a la habitual mezcla de algoritmos.
Para las personas que quieren un front-end para su trabajo y piensan en hacer una buena parte de ella en Java, es ideal.
Weka podría ser el mejor lugar para empezar. Una biblioteca más convencional, el Java-ML, también está disponible, aunque está dirigido a personas que ya conocen o dominan el trabajo con Java y el aprendizaje automático.
JavaScript: La broma acerca de JavaScript, (“Ley de Atwood”), es que cualquier cosa que se puede escribir en JavaScript será eventual. Por lo que es para las bibliotecas de aprendizaje, algo automático. Por supuesto, hay relativamente poco en este campo disponible para JavaScript a partir de este escrito, ya que la mayoría de las opciones consisten de algoritmos individuales en lugar de bibliotecas enteras, pero algunas herramientas útiles que ya han salido a la superficie, como ConvNetJS, que le permite realizar el entrenamiento de la red neuronal de aprendizaje profundo directamente en un navegador, y el apropiado nombre de cerebro proporciona una red neuronal como un módulo-NPM instalable. También digno de mención es la biblioteca Encog, disponible para múltiples plataformas: Java, C #, C / C + + y JavaScript .