¿Cuál es el mejor lenguaje para el aprendizaje automático?

Al seleccionar un lenguaje de programación para el aprendizaje automático. No existe el “mejor lenguaje para aprender el aprendizaje automático” y todo depende de lo que quieras construir, de dónde vienes y por qué te involucraste en el aprendizaje automático. En la mayoría de los casos, los desarrolladores transfieren el lenguaje que ya estaban usando al aprendizaje automático, especialmente si lo van a usar en proyectos adyacentes a su trabajo anterior, como proyectos de ingeniería para desarrolladores de C / C ++ o visualizaciones web para desarrolladores de JavaScript.

Si su primer contacto con la programación es a través del aprendizaje automático, sus pares en nuestra encuesta señalan a Python como la mejor opción, dada su gran cantidad de bibliotecas y su facilidad de uso. Si, por otro lado, sueña con un trabajo en un entorno empresarial, prepárese para usar Java . Cualquiera sea el caso, estos son tiempos emocionantes para el aprendizaje automático y se garantiza que el viaje será alucinante, independientemente del idioma que elija. ¡Disfruta el viaje!

Por lo general, encuentro que el aprendizaje se optimiza cuando aprendes un paso a la vez.
Por lo tanto, puede aprender un idioma y usarlo cuando se sienta cómodo o comenzar a aprender ML usando el idioma que sea mejor.

Contestaré dos casos:

  1. está comenzando el aprendizaje automático para aprenderlo (es decir, en la escuela o por curiosidad), entonces definitivamente recomendaría ir al idioma con el que está más familiarizado, para centrarse en la capacidad de aprendizaje más que en el rendimiento de implementación. Si desea / necesita aprender un nuevo idioma para la ocasión, le recomiendo pasar tiempo aprendiendo el idioma en sí mismo y aplicarlo a sus “estudios de alto nivel” cuando esté listo
  2. Su punto es responder a una necesidad (bajo restricciones). En este caso, puede tener un objetivo bastante preciso (p. Ej., “Reconocimiento de imagen usando RNN”), así como un contexto (p. Ej., “Antecedentes en matemáticas aplicadas”), luego puede comparar con precisión, primero, las principales bibliotecas y qué idioma admite, y en segundo lugar, las diferencias clave en el lenguaje en términos de sintaxis / filosofía que mejor se adapte a la suya.

Tenga en cuenta que, como se mencionó anteriormente, lo más importante es centrarse en la biblioteca que utilizará. ¿Qué tan compatible es (en términos de tecnología y comunidades)? ¿Quién lo usa? ¿Por qué? etc.
Que yo sepa, el lenguaje de programación tiende a tener poca influencia en el rendimiento, ya que esas bibliotecas generalmente están optimizadas (por ejemplo, las bibliotecas de Python no están escritas en python, están envueltas en C / C ++).

Nota final: para mí, Python es un muy buen candidato porque: simplemente puedes comenzar a usarlo sin realmente aprenderlo (es decir, es súper simple / intuitivo), es realmente genial para codificar pequeños scripts, probar cosas, etc. (es posible que quieras considera a Jupyter como tu amigo)
y viene con todo lo que puedas necesitar (numpy, pyplot (matplotlib), scikit-learn).
También usé Matlab mientras estudiaba ML, que me encantó. Está más cerca de las matemáticas y, por lo tanto, es algo a considerar si aprendes teoría. Me descubrieron de Python, pero tuve que reconocer que Matlab es genial cuando quieres implementar tu trabajo de matemáticas. Descargo de responsabilidad: (es una pena) No sé R lo suficiente como para dar consejos, el consenso obviamente dirá que vale la pena aprender 😉)

pltrdy

Python es una buena opción, porque es fácil de trabajar y tiene acceso a muchas bibliotecas de alta calidad. Sería ir demasiado lejos llamarlo el estándar de facto, o algo así, pero cada vez es uno de los principales idiomas en los que se realiza el trabajo del mundo real.

C y C ++ no son malas opciones para obtener el mejor rendimiento posible cuando sea importante, pero usted sabe lo que dicen sobre la optimización prematura. Hay buenas bibliotecas para usar, aunque quizás no en el mismo grado que Python en este momento. Una opción sólida si te gusta ese tipo de cosas, pero prefiero Python personalmente.

Java tiene una buena selección de bibliotecas, especialmente en el contexto de redes neuronales. Viene con todas las ventajas y desventajas estándar de Java. Probablemente no sea con lo que iría, pero eso es más una cosa de Java que un aprendizaje automático en Java.

R tiene una gran cantidad de bibliotecas existentes para construir, y tiene una larga historia de uso en estadísticas antes de que el aprendizaje automático fuera genial. No puedo comentarlo con gran detalle ya que no estoy particularmente familiarizado con él, pero la impresión que tengo es que puede no ser la mejor opción para el uso en el mundo real si es más probable que lo que quieres hacer sea denominado “reconocimiento de patrones” que “ciencia de datos”.

Matlab tiene una gran cantidad de código preexistente más centrado en la investigación y es bueno para trabajar con matrices, pero recomendaría evitarlo. Es demasiado lento, costoso y, bueno, limitado para ser una buena opción de propósito general. Me mantendría alejado.

No el lenguaje, aprende conceptos.

Algunos científicos famosos afirman que “Él es capaz de lograr eso ya que está parado sobre los anchos hombros de sus antepasados”. Del mismo modo, desarrolle las bases para este curso. Lo viejo es oro.

Lea lo siguiente

  1. Principios de reconocimiento de patrones, Tou y Gonzales
  2. Reconocimiento de patrones y análisis de escena, Duda y corazón
  3. Agrupación por Everitt
  4. Taxonomía Numérica, Sneak y Sokal
  5. Lea libros de procesamiento de imágenes de Gonzales, Boyle y otros
  6. Lea el libro Computaciones neuronales y desarrolle habilidades en redes neuronales artificiales
  7. Leer estadísticas multivariantes de Anderson
  8. Luego lees libros recientes sobre Machine Learning

Como tal, Python es líder en Machine Learning. No significa que C ++ / Java no se usen. Cuando se trata de rendimiento en tiempo de ejecución, recomiendo C ++.

R o Python: elige uno

No hay una respuesta única para esta pregunta. Cualquier herramienta que lo ayude a resolver el problema de la mejor manera posible es adecuada para aprender. No te obsesiones con ninguna herramienta / lenguaje en particular.

Haga una investigación preliminar sobre qué herramienta / lenguaje le ofrece la solución rápida, fácil y mejor y comience a experimentar con ella. Si por alguna razón no está produciendo el resultado deseado o no se siente cómodo con el idioma, intente con otra opción cercana o próxima. Es un proceso iterativo.

Tal como está hoy, el lenguaje Python o R puede ser un buen punto de partida para ensuciarse las manos en el aprendizaje automático.

Si está planeando usar una biblioteca existente y bien documentada, probablemente quiera usar Python. Tensorflow, Theano, Torch y Caffe lo usan.

Si está preguntando qué biblioteca usar, es una preferencia realmente personal. Principalmente uso Theano, pero he estado experimentando con Tensorflow. Consulte este hilo para obtener más información: ¿Cuál es la biblioteca de aprendizaje automático más popular?

R

R es un caballo de batalla para el análisis estadístico y, por extensión, el aprendizaje automático. Se habla mucho sobre la curva de aprendizaje, realmente no vi el problema. Es la plataforma que se utiliza para comprender y explorar sus datos utilizando métodos estadísticos y gráficos. Tiene una enorme cantidad de algoritmos de aprendizaje automático e implementaciones avanzadas también escritas por los desarrolladores del algoritmo.

Creo que puedes explorar, modelar y crear prototipos con R. Creo que se adapta a proyectos únicos con un artefacto como un conjunto de predicciones, informes o trabajos de investigación,

Para obtener más información: BEPEC | ¿Por qué ciencia de datos? Bangalore

Depende de múltiples factores, como en qué idioma se siente cómodo, qué marcos existen para el idioma y, a menudo, los cursos en línea comienzan con algún marco / entorno de su elección y no es una mala práctica simplemente aprenderlo y comenzar. Sin embargo, el aprendizaje automático en sí mismo tiene muy poco que ver con los lenguajes de programación y probablemente debería dedicar tiempo al material de la asignatura en lugar de elegir un idioma. (Python, R, Julia, C ++ tienen paquetes / frameworks ML disponibles de múltiples fuentes / proveedores)

Hay bastantes buenos, pero en general un lenguaje es bueno para ML si tiene muchas bibliotecas de ML que se ejecutan rápidamente. Python en particular tiene una increíble variedad de bibliotecas y es muy fácil de usar. Lo más importante es que las bibliotecas de Python suelen usar NumPy, que utiliza matrices C en el back-end para mejorar la velocidad.

Python definitivamente está en aumento y un montón de framework lo soporta, junto con una gran comunidad y seguidores de la industria. R se está volviendo tan popular y útil además de ser un gran lenguaje analítico. Si desea ensuciarse las manos, entonces c / c ++ o java deberían funcionar bien ya que algunos de estos ml framework han sido escritos en c / c ++ codebase. Entonces, en última instancia, se reduce a su nivel de comodidad y familiaridad. Francamente, los paquetes y las funciones integradas pueden facilitar el entrenamiento y la creación de modelos ml, pero tener un buen conocimiento de estos modelos ayuda enormemente. Por lo tanto, también le insto a repasar sus conocimientos sobre los modelos ml en los idiomas respectivos.

Los dos que uso mucho son Python (a través de scikit-learn) y R. Dos estadísticos importantes en Stanford enseñan un curso sobre “aprendizaje estadístico”, que es el aprendizaje automático desde un ángulo de estadística (vs CS). Aquí está su curso … se enseña en R.

Solo 1 al principio.

Pitón.

En paralelo, aprende Pandas. Es una biblioteca de Python para disputas de datos. La mayoría de la gente no le dirá que gran parte del aprendizaje automático es una disputa de datos y que gran parte de eso se hace en Pandas o SQL.

Pase al menos un año en estos dos antes de pasar a matplotlib, seaborn, NTLK, Keras … etc.

No se preocupe por los marcos en este momento, se están convirtiendo en una moneda de diez centavos por docena y todos ellos son front-end con Python.

Comienza a aprender los fundamentos. El curso a continuación es barato, del mundo real y altamente calificado.

El curso completo de Python para ingenieros de aprendizaje automático

Si se ocupa del análisis de datos, intente aprender R y Python.

Si solo necesita la parte de aprendizaje automático, aprenda solo Python. No olvide que probablemente necesitará aprender marcos de aprendizaje profundo como TensorFlow, Theano, Caffe, Torch, etc.

No considere matlab si está comenzando.

Mi amigo desarrolló un algoritmo de aprendizaje automático después de 2 años de duro trabajo. Solo porque estaba usando Matlab, él y su profesor tendrían que pagar a la realeza de Mathworks para crear una patente.

Primero aprenda la probabilidad y las estadísticas y luego python o puede usar MATLAB u octava (más fácil) y luego ds y algos y luego ml

Entonces, precisamente, la octava es más fácil y para mayor facilidad, comience con python en lugar de octava o matlab

Sin dudarlo, comience con python, ya que muchas bibliotecas de ML están construidas en python, deje que sea sci-kit learn o tensorflow y es mucho más fácil escribir código en python.

¡¡¡Feliz aprendizaje!!!

depende en gran medida de la aplicación específica, pero para la investigación / enseñanza, diría python, R y Julia debido a la gran cantidad de bibliotecas disponibles.

Si, en cambio, planea estudiar algunas aplicaciones específicas de ML, entonces probablemente pueda seguir con los idiomas que ya están en uso en dichos campos específicos

Hay dos tipos de trabajo en Machine Learning; investigación e implementación de producción. En el primer tipo (investigación), Python es sin duda el ganador, ya que proporciona una sintaxis muy limpia y simple para trabajar. En el tipo posterior (producción), las personas usan C / C ++ para una ejecución más rápida en el software / aplicación final.

Además, la mejor manera es usar Python para hacer toda la investigación previa y entrenar el modelo. Una vez que el modelo esté finalizado y capacitado, serialícelo en un formato de archivo que pueda ser leído y procesado por otros marcos en otros lenguajes como C / C ++ / Java. Luego usé el modelo entrenado en serie (red con pesas) en la aplicación real escrita en cualquier otro idioma.

Pitón. No hay una alternativa cercana. Es fácil, seguro, tiene bibliotecas rápidas y ubicuas y una gran comunidad de ciencia de datos y un conjunto de recursos.

Puede comenzar con Python y R, aprender conceptos básicos y usos avanzados en aprendizaje automático con menos código. Después de construir una base sólida, puede actualizar sus Habilidades de programación con otros idiomas también. Todo lo mejor

para mí matlab pyhthon y R

para el análisis de datos como (acp afc …) prefiero R

para el problema de minería de datos python (scikit-learn)

también matlab para matriz, por ejemplo, red neuronal para imagen de clasificación (nntool red neuronal toolobox)

Propongo visitar este sitio web para obtener más detalles. Mejor lenguaje de programación para el aprendizaje automático: dominio del aprendizaje automático