¿Qué lenguaje de programación se usa para el aprendizaje automático?

El lenguaje de programación más popular utilizado para el aprendizaje automático es Python. Es la estrella en ascenso del aprendizaje automático. Es de código abierto y también se utiliza para el desarrollo web e Internet. Si desea aprender Python, es fácil aprender de los cursos en línea. Puedo sugerirle los mejores cursos en línea de Python:

  • La clase magistral completa de Python: Aprenda Python desde cero
  • Entrenamiento de certificación de Python

Elige el primer curso ..

De este curso puedes aprender sobre:

Primero comenzamos aprendiendo los conceptos básicos de Python e instalando las herramientas necesarias para escribir código Python. En esta sección cubrimos casi todos los conceptos de Python de manera profunda, donde explicaré todas y cada una de las líneas de código. Hay más de 50 conferencias que cubren casi todos los conceptos de Python. Esto incluye todos los conceptos como estructuras de datos, programación orientada a objetos, programación funcional, flujo de control, etc.

Avanzando ahora estamos en la parte más interesante de este curso, que es Django. Django es uno de los marcos de desarrollo web más populares para Python y es utilizado por muchas grandes empresas en todo el mundo. En esta sección cubrimos Django comenzando desde lo básico, hasta el punto de construir una mini aplicación web de muestra usando Django.

Luego aprendemos sobre Flask, que también es un marco de desarrollo web. Cubrimos todos los conceptos básicos en Flask también.

Finalmente, aprendemos sobre el raspado web, que es una de las cosas más interesantes que podríamos hacer en Pyhton. Creamos un raspador web desde cero escribiendo el código con una explicación línea por línea.

El curso completo se divide en 6 secciones principales.

Sección 1: Python.

Sección 2: Hacer GUI en Python usando Tkinter.

Sección 3: Análisis de datos.

Sección 4: Python Web Framework Django.

Sección 5: Frasco de Python Web Framework.

Sección 6: Web Scraping en Python.

Y también..

  • Comprenda y aprenda todos y cada uno de los conceptos de Python.
  • Hacer aplicaciones web usando Python.
  • Hacer aplicaciones basadas en GUI en Python usando Tkinter
  • Aprende a hacer aplicaciones web de pila completa usando Python y Django
  • Aprende a hacer tu propia herramienta de raspado web usando Python
  • Comprender todos los conceptos de Django
  • Comprender todos los conceptos de matraces
  • Aprenda a realizar análisis de datos con Python
  • Aprenda programación orientada a objetos en Python

Cursos adicionales. .

  • Conjunto de desarrollo Python todo en uno en Simplilearn

TODO LO MEJOR…

Estos son los 5 lenguajes de programación principales para crear soluciones de aprendizaje automático :

1. Python

Uno de los principales lenguajes utilizados para desarrollar proyectos de IA es Python, que se debe a su simplicidad y comportamiento de codificación fácil, y se usa especialmente en startups relacionadas con la salud que involucran IA.

2. Prólogo

La razón por la que se prefiere Prolog para las soluciones de IA es que gira en torno a un conjunto dedicado de mecanismos que consiste en un marco de programación pequeño, flexible pero bien construido.

3. JAVA

Java se encuentra entre los cinco primeros debido a su familiaridad y características fáciles de usar. Este lenguaje OOP permite una fácil codificación de algoritmos que cubre la mayor parte de la IA.

4. C ++

La razón por la que se usa C ++ en las soluciones de IA es su velocidad; Es probablemente el idioma más rápido de todos. Por lo tanto, siempre que la velocidad sea la principal preocupación de cualquier desarrollador de IA, se opta por C ++.

5. LISP

LISP (procesamiento de listas) es ese lenguaje de alto nivel que impresiona bastante a los desarrolladores de inteligencia artificial y también se ha utilizado en muchos proyectos clásicos de inteligencia artificial. El factor que lo coloca en la última posición es que, en comparación con otros, no es rápido.

Los lenguajes de programación anteriores son útiles para el aprendizaje automático.

Si te tomas en serio el aprendizaje automático, debes aprender tanto Python como R.

Python es el arma principal en mi arsenal de herramientas, y estoy bastante seguro de que es el lenguaje de programación más utilizado en el aprendizaje automático en estos días, aunque no tengo números para respaldar eso.

Python es un lenguaje de programación completo, no solo un lenguaje de script, a pesar de que las personas se refieren a él como tal. También tiene excelentes bibliotecas para la ciencia de datos, incluidos NumPy, pandas, scikit-learn y Theano. Python proporciona el paquete completo y es de código abierto. Uso Python cuando quiero crear una tubería de aprendizaje automático y poner un modelo en producción. También lo uso para análisis de big data con Hadoop y Spark.

R tiene un alcance mucho más limitado, pero las cosas en las que es bueno son realmente buenas. Utilizo R para análisis estadístico, modelado, simulación, exploración de datos y visualización. Todas las cosas que puede hacer en R, también puede hacerlo en Python, pero R tiene una gran cantidad de funciones estadísticas integradas en el lenguaje de una manera elegante. Encontrar la desviación estándar de una serie de datos en R es sd(x) . La correlación es cor(x,y) . No hay declaraciones de importación, solo frases simples.

Algunas personas encuentran la sintaxis de R confusa. Personalmente me gusta. Si no está familiarizado con la programación funcional, puede llevar un tiempo acostumbrarse, pero luego aprenderá la programación funcional, lo cual es algo bueno.

Uno puede hacer Machine Learning en cualquier idioma. Machine Learning es solo un conjunto de algoritmos que se incluyen en la categoría de neurociencia, estadística y optimización.

Sin embargo, algunos idiomas están mejor evolucionados que otros, para que estas tareas sean más fáciles y mejores. Los siguientes son los que uso regularmente. Puede haber más, pero no soy la persona adecuada para comentar o escribir sobre ellos:

Python : ha evolucionado a pasos agigantados en el dominio de la ciencia de datos. Las bibliotecas como sklearn, theano, Keras, etc. es un placer para los científicos de datos que diseñan arquitecturas y algoritmos de ML.

R : Es conocido como un lenguaje de programación estadística y es muy popular entre los matemáticos. Aunque tiene una curva de aprendizaje empinada, es un placer cuando se trata de estadísticas complejas y validación de hipótesis.

Julia Un nuevo lenguaje de programación, que ha sido muy impresionante. La comunidad está creciendo muy rápido y estable. Está construido especialmente para el dominio de análisis y cómputos. Tiene la velocidad de C y casi tiene las funcionalidades de Python y R. No me sorprendería mucho si este se convierte en el lenguaje de programación principal para los científicos de datos en un futuro próximo.

Históricamente, he usado Java debido, principalmente, a Weka, que es una excelente biblioteca para el aprendizaje automático. En mi opinión, es la mejor biblioteca versátil de aprendizaje automático. Su único defecto es que no hace un buen trabajo en el aprendizaje profundo.

Pero si comenzara hoy, me enfocaría en Python, por algunas razones:

  • El aprendizaje automático a menudo consiste en interactuar con los datos. Jupyter es un entorno realmente genial para experimentar con ideas.
  • Scikit-learn es una muy buena biblioteca. Pero combínelo con matplotlib y otras bibliotecas y es aún más increíble.
  • Aprendizaje profundo. Cada vez más, el modelo para el aprendizaje profundo es tener un motor C / C ++ envuelto en Python para configurar la computación; Este es el modo preferido, por ejemplo, TensorFlow, que está aumentando rápidamente en popularidad para el aprendizaje profundo.

Python (mi sugerencia) es, en muchos sentidos, más un lenguaje de creación de prototipos que Matlab. Matlab se utiliza para trabajos numéricos serios. Por, por ejemplo, ingenieros. Quien necesita saber que su trabajo es válido. Y están dispuestos a pagar por la nariz porque serán demandados si están equivocados.

Pero Python es de código abierto, y el código abierto es muy, muy bueno para la innovación.

Python, el lenguaje real, no es y nunca fue pensado (originalmente por Guido, quiero decir) como el fin y todo para ML y ciencia de datos.

¿Por qué es tan bueno en ese espacio, entonces?

Porque es el último lenguaje de pegamento friggen. El mejor. Y a la gente le gustó, y escribió muchísimo código con el que puede interactuar. Y luego vino Cython, un superconjunto de Python que se compila en C. Y numpy, scipy y eventualmente scikit-learn.

Y luego Numba. ¡Hurra por la compilación JIT! Puedo escribir código personalizado que es casi tan rápido como C agregando el decorador

@autojit

e incluso más cerca cuando hago un poco más de trabajo? W00T!

El otro contendiente principal es R, y originalmente fue escrito por estadísticos específicamente para satisfacer sus necesidades en ese momento . Por lo tanto, está cargado de un entorno y, a menos que vaya con Microsoft R, un recolector de basura horrible.

Ah, y puedes llamar a R desde Python.

Y Julia, para el caso.

Diablos, incluso puedes usar Haskell compilado en Python si tienes cuidado.

¿Ves lo que quiero decir sobre el último lenguaje de pegamento?

Aquí están los resultados de una encuesta reciente de Kaggle (2017) [1] sobre qué herramientas usan los científicos de datos : claramente Python es un favorito, con R en segundo lugar.

Cuando el título del trabajo se cambió a “Ingeniero de aprendizaje automático”, obtuvimos Python y Tensorflow a la cabeza.

Por el contrario, los estadísticos todavía usan ampliamente R.

Aquí hay un gráfico pobre de lo que parece Excel en los resultados en 2011 [2].

Notas al pie

[1] El estado de ML y Data Science 2017

[2] Herramientas favoritas de Kagglers

Mis elecciones serían Python y Java, dependiendo de la escala del proyecto.

Python es mi lenguaje de referencia para algoritmos de prototipos y pruebas rápidas. Cuando estaba en la academia, trabajaba principalmente en Python (y en un prólogo, pero eso es muy específico en su propósito). Python es rápido y sucio, lo que puede ser útil, pero a menos que aplique el estilo de código, está muy abierto a errores debido a que diferentes desarrolladores usan diferentes estilos y suposiciones. Si tiene la intención de trabajar principalmente solo o en equipos muy pequeños, puede funcionar bien.

Ahora trabajo como ingeniero de software en una pequeña empresa, y usamos principalmente Java en el back-end (así como nuestro propio lenguaje propietario). Java facilita el trabajo en un marco más grande con varias personas. También es más rápido, lo que puede ser importante para los algoritmos de procesamiento de datos pesados. Sin embargo, si te importa mucho, probablemente quieras usar C ++ o C.

Para realizar investigaciones, análisis y pruebas de concepto, Python es lo mejor. Excelente lenguaje con una comunidad aún mejor. Python tiene las mejores bibliotecas de aprendizaje automático: PyTorch, TensorFlow, Theano, scikit-learn: aprendizaje automático en Python. Muchos artículos recientes que lograron resultados de última generación utilizaron bibliotecas de Python, por ejemplo: clasificación a nivel dermatológico del cáncer de piel. Si busca términos relacionados en GitHub, puede ver que Python es el lenguaje más popular:

Sin embargo, si desea poder escribir aplicaciones en tiempo real, trabajar con sistemas embebidos y robótica, debe ser muy bueno con C ++ (evite la antigua C).

Conozco al menos un estudio de lenguajes de programación para Data Science (que es Machine Learning + Data Analysis + algunos otros) Top Languages ​​para análisis, minería de datos, ciencia de datos.
Si solicita dos lenguajes que son más populares entre las personas de Machine Learning, son Python y C ++. Encontrarás muchos proyectos en Github y muchas bibliotecas. Hay personas que usan R, Lua (Torch) y Matlab, y Julia podría ser visible en un futuro próximo.
PD: Encontré un documento que era para matemáticas aplicadas (y muy relevante para el aprendizaje automático) hace solo 2 días, podría ser útil. Página en man.ac.uk

Recientemente tomé un curso en Minería de datos y aprendizaje sin supervisión. He probado mis manos tanto en Python como en R y hasta ahora siento que Python es el mejor lenguaje para implementar algoritmos de aprendizaje automático. Hay muchas razones para que yo diga esto:

  1. Simple : Python es realmente fácil de aprender ya que tiene una sintaxis simple. Además, la comunidad de Python está creciendo a gran escala y hay toneladas de bibliotecas disponibles.
  2. Potente : la comunidad de Python ha creado bibliotecas para casi todo lo que desea hacer, incluido el aprendizaje automático y la minería de datos. Como resultado, es uno de los lenguajes más populares entre los científicos de datos.
  3. Procesamiento de datos : para alguien que es ingenuo a la programación, Python proporciona varias bibliotecas de procesamiento de datos, análisis de datos y visualización
  4. Comunidad Python : la comunidad Python ha desarrollado toneladas de bibliotecas de aprendizaje automático y minería de datos disponibles en python como Scikit-learn. La comunidad también ha agregado bibliotecas de flujo de tensor para redes neuronales. Las bibliotecas scikit-learn y tensor-flow hacen maravillas en una gran cantidad de conjuntos de datos. Usando python, uno puede.

Hay muchos otros idiomas utilizados para Machine Learning como R y Matlab.

Python y R son dos lenguajes destacados para ML.

Puede buscar numerosas comparaciones entre los dos idiomas, pero en resumen

  • La fortaleza de Python es que muchos programadores ya lo saben. Y es de uso general, por lo que es más adecuado si está utilizando ML como parte de una aplicación de software más grande.
  • La fortaleza de R es que está específicamente diseñado para Data Science, por lo que comenzará de inmediato en lugar de buscar muchas bibliotecas como en Python.

Por lo tanto, tome R si su objetivo es ML en sí mismo, y tome Python si desea incorporar ML en una aplicación más grande.

Por tu descripción, supongo que eres un estudiante de estadística. Ahora, si no tienes experiencia previa en programación, toma R.

En el caso del aprendizaje automático, el uso de lenguaje de programación es en su mayoría python y los científicos del aprendizaje automático que trabajan en el análisis de sentimientos priorizan Python (44%) y R (11%) más y JavaScript (2%) y Java (15%) menos que los desarrolladores que trabajan en otros zonas

Trabajar en redes y ataques cibernéticos y la detección de fraudes necesita Java. En el caso opuesto, los ingenieros de hardware / electrónica integrados que apuestan por C / C ++ más que otros. C / C ++ tiene más prioridad para aquellos que desean mejorar sus aplicaciones / proyectos existentes con aprendizaje automático (20%) y menos por aquellos que esperan crear nuevas aplicaciones altamente competitivas basadas en aprendizaje automático (14%).

Scala también está mostrando un rápido crecimiento después de ser inexistente. En el caso de Julia, ha habido un pequeño crecimiento en los últimos meses.

Los 8 lenguajes de programación principales para el aprendizaje automático

  1. Pitón
  2. Java
  3. R
  4. C ++
  5. C
  6. JavaScript
  7. Scala
  8. Julia

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

La mayoría de la gente diría Python. Probablemente diría Python, pero parece que Python es más una interfaz de usuario para el aprendizaje automático que el lenguaje de implementación completo. Sí, en algunos casos, todo se puede hacer en Python, pero a medida que la solución crece o tiene requisitos de procesamiento más sustanciales, si comenzó con Python, no se mantuvo así.

Un ejemplo es el TensorFlow de Google. Cuando visita el repositorio de GitHub para TensorFlow, la página principal le muestra un fragmento de inicio en Python. Sin embargo, cuando te sumerges en el código fuente y revisas las piezas centrales sobre las que residen las capas superiores, la mayoría está escrita en C.

Python es una gran opción, ya que tiene un gran ecosistema de bibliotecas que pueden resultarle útiles:

  • BayesPy para herramientas para la inferencia bayesiana
  • TensorFlow (también Keras, Sonnet), Theano, PyTorch, Caffe para construir redes neuronales y otros algoritmos expresables en gráficos de cálculo
  • scikit-learn para aprendizaje automático de propósito general

También Lua se usa comúnmente para construir modelos de aprendizaje automático. R se usa con menos frecuencia que Python o Lua.

¿Qué sartén usas para cocinar tu comida?

La respuesta varía según la comida que cocines.

El mismo caso aquí. Escuchará a la mayoría decir que Python u Octave o Matlab son los idiomas preferidos. Eso es en parte cierto.

Python es de código abierto con una gran disponibilidad de bibliotecas y marcos. Entonces, Python es una opción para los académicos. También se usa en el proceso cuando intentas construir y entrenar un modelo para tus datos.

Una vez que esté seguro sobre el modelo y haya descubierto todos los parámetros, el modelo puede implementarse en cualquier lenguaje C ++, JAVA, Golang. Cualquier cosa.

Python se usa porque hace que el desarrollo sea rápido. Nada más. Python es bastante lento en el back-end cuando la base de usuarios aumenta las múltiples.

Para fines de aprendizaje, use Python u Octave.

Diría que Python, es un lenguaje rápido para obtener su primera red, algunos tutoriales (Tutoriales de programación de Python,

)

Esto también es bueno porque Python es básicamente un contenedor de C, lo que significa que puede agregar funciones de función / extensión en C o con código fuente de C, además de que ambas pueden compilarse (1. Extender Python con C o C ++, 3. Construir C y Extensiones C ++, 32.10. Py_compile – Compilar archivos fuente de Python – Documentación de Python 3.6.4) no todos esos enlaces son la misma versión de Python.

Gracias por el A2A.

Su pregunta realmente depende de si quiere o no aprender machine learning o usar machine learning. Si quieres aprenderlo, iría con Octave. La clase de Andrew Ng usa eso, así que con eso aprendí el aprendizaje automático. No puedo decir que me haya decepcionado: Octave tiene todo lo que necesita para implementar algoritmos de aprendizaje automático muy rápidamente y comprenderlos.

Si desea utilizar el aprendizaje automático, R y Python están bien. No entiendo lo que quieres decir con “R está restringido solo a lo estadístico”. Según tengo entendido, ambos ya tienen implementados todos los algoritmos de aprendizaje automático, por lo que todo lo que tiene que hacer es proporcionar a los algoritmos algunos datos y llamarlos buenos.

Como dijo Jalem, el aprendizaje automático es una disciplina de nivel superior (es esencialmente una matemática aplicada) que se puede implementar en el idioma que desee. Algunas personas incluso lo hacen en Excel.

Además, probablemente termines usando más de un idioma, porque involucra múltiples tareas.

Por ejemplo, la diferencia clave entre el aprendizaje automático y la programación tradicional es que comienza el proceso con datos, porque los algoritmos de aprendizaje automático necesitan datos para aprender. Es posible que los datos no estén ubicados convenientemente en su computadora. Si los datos están en una base de datos, es posible que necesite SQL. Los datos pueden estar en el clúster de Hadoop. Puede ser texto no estructurado de la web. Puede ser un flujo de lectura de sensores, como GPS, etiquetas RFID, dispositivos de acondicionamiento físico, etc. Puede ser una imagen capturada a través de una cámara, fMRI, etc. Necesitará usar diferentes herramientas / idiomas para extraer y combinar los datos que necesita .

Entonces, hay un uso posterior de su resultado. ¿Es solo para informar su resultado a través de algún tipo de visualización? ¿Haces una presentación de PowerPoint? ¿O planea usar el modelo de aprendizaje automático derivado dentro de un sistema más grande, como el tablero de datos o incluso el motor automatizado de negociación de acciones? Si planea integrar su modelo de aprendizaje automático en un sistema diferente, es posible que deba volver a implementar su algoritmo en un idioma diferente aceptado por el sistema de destino.

La elección de los idiomas depende de tales requisitos ascendentes y descendentes. Entonces, la pregunta clave que debe hacerse es: ¿el lenguaje que planea usar habla con los sistemas ascendentes y descendentes ? Naturalmente, esta es una pregunta muy específica del dominio y diferentes personas le darán diferentes recomendaciones.

En mi caso, uso principalmente MATLAB porque puede hablar con una variedad de fuentes de datos y también habla con otros lenguajes como Java, C / C ++, .Net, Python, mediante API o generación automática de código. También uso Python o R si eso es lo que requiere la tarea.

Python y R son los lenguajes más populares para Machine Learning, y se usan en la industria. Para mí, uso Python. La razón principal de esto, ya que es compatible con muchas bibliotecas en Deep Learning, como Tensorflow y PyTorch, lo ayudarán en sus proyectos de investigación, además, son compatibles con GPU, para que entrene sus modelos complejos con enormes conjuntos de datos de manera eficiente.

More Interesting

¿Cuáles son algunas aplicaciones del aprendizaje por refuerzo (o aprendizaje por refuerzo profundo) en finanzas y economía?

¿Qué es una función de costo?

¿Cuáles son los buenos algoritmos para la extracción de características para grandes conjuntos de datos?

¿Cuál es una mejor manera de comenzar a aprender Ciencia de Datos, a través de cursos en línea o en un Instituto de capacitación?

Cómo aprovechar al máximo el libro 'Programación de la inteligencia colectiva'

¿Por qué una gran proporción de los nuevos estudiantes de CS optan por especializarse en áreas más nuevas como el aprendizaje automático, la informática social y la informática móvil en lugar de las más antiguas como los sistemas, la arquitectura y las redes?

¿Qué lenguaje de programación se usa para el aprendizaje automático?

¿Por qué a la gente le gusta la red profunda con menos parámetros de aprendizaje incluso cuando el rendimiento de la prueba es peor que otros?

¿Cuál es un buen tutorial sobre el uso de Weka con Big Data?

¿Cuáles son las intersecciones entre los campos de la ciencia de datos y los sistemas complejos?

¿Cómo funciona el muestreo negativo en los modelos de Word2vec?

¿Cuáles son algunas formas de evitar la maldición de la dimensionalidad?

¿SSD es realmente mejor que YOLO?

¿Qué lenguajes de programación son mejores para procesar el sonido y darlo como entrada a una red neuronal artificial?

¿Qué significa la implementación del algoritmo de aprendizaje automático distribuido?