¿Por qué Python es tan popular en el aprendizaje automático?

Python es como la navaja suiza del aprendizaje automático.

No es el más rápido. Scala, Julia es más rápida y, como mencionó Riyad Parvez, la mayor parte del trabajo pesado en Python en realidad lo hacen las bibliotecas de C o Fortran. Tampoco es el más fácil de aprender. R es más fácil para principiantes. Por el contrario, es un lenguaje general que hace un poco de todo con una compensación de complejidad-rendimiento lo suficientemente buena con un conjunto completo de herramientas para la producción de aprendizaje automático.

Tutoriales sobre aprendizaje automático con python

  1. sumergirse en el aprendizaje automático
  2. ŷhat | Ciencia de datos en Python

Un proceso de muestra de implementación de aprendizaje automático con python:

  1. Cree prototipos en computadoras portátiles con scikit-learn: aprendizaje automático en Python, NumPy, Biblioteca de análisis de datos de Python en un cuaderno interactivo Project Jupyter con trazado de python: visualización de Matplotlib. Ejemplos: lista de cuadernos interesantes, cuadernos más interesantes, Probabilistic-Programming-and-Bayesian-Methods-for-Hackers.
  2. Entrene el modelo completo en el clúster Hadoop con PySpark y MLlib | Apache Spark. Ejemplo: entrenar a un recomendador en spark
  3. Configure un servidor API con CherryPy – Minimalist Python Web Framework, cree una aplicación Flask (A Python Microframework) alrededor del modelo y sirva el modelo como una API REST para otras aplicaciones. Ejemplos: Recomendar implementación | Ciencia de datos dockerizados

Además, los módulos avanzados de Python amplían las capacidades:

Extensiones de trama interactivas

  • Bokeh
  • trama

Aprendizaje profundo

  • Marco de aprendizaje profundo de Google: https://www.tensorflow.org/
  • TensorFlow + scikit-lean = skflow
  • Pylearn2 + Theano

Procesamiento del lenguaje natural (PNL) / análisis de texto / partes del etiquetado del habla

  • Kit de herramientas de lenguaje natural
  • https://spacy.io/
  • TextBlob: procesamiento de texto simplificado
  • Piña: proycon / pynlpl
  • gensim: modelado de temas para humanos

Es popular en el aprendizaje automático debido a muchas razones interrelacionadas.

Python es simple, elegante, consistente y matemático.

El código de Python se ha descrito como pseudocódigo legible.

Es fácil de aprender debido a su sintaxis consistente y la forma en que refleja el lenguaje humano y / o sus contrapartes matemáticas. El último (muy debido a bibliotecas como Numpy) es algo que uno apreciaría si implementara un algoritmo de aprendizaje automático cuyo núcleo probablemente sea solo una optimización matemática.

Leer desde un archivo CSV

importar pandas como pd

# Esto lee un archivo cvs en un marco de datos similar a R
dataframe = pd.read_csv (“my_csv_file.csv”)

Un colega (que tiene un doctorado en CS) pasó 1 o 2 días escribiendo código Java desde cero para hacer lo mismo para una competencia de ML.

Tomé apenas 1 minuto para encender iPython (ver más abajo) y escribir lo anterior, aunque le tomó menos tiempo decir # @ $ !.

Al menos la experiencia de doctorado le enseñó a no usar C ++.

La manipulación de datos puede ser muy fácil.

# Suponga que tiene un archivo de texto con líneas en el siguiente formato
# \t
# Aquí se explica cómo recortar las caras y guardarlas

# OpenCV
importar cv2

# Una línea para abrir el archivo; no es necesario importar
con abierto (“my_file.txt”) como archivo:

# Manera pitónica de tener un contador e iterar a través del archivo
para line_number, línea en enumerate (archivo, inicio = 1):

# split (delimitador) es parte del objeto string
imagepath, bounding_box = line.split (‘\ t’)
# Dividir línea en ‘,’ y asignarlos a int
x, y, ancho, alto = mapa (int, bounding_box.split (‘,’))

# Use OpenCV para leer la imagen como matriz Numpy (más información a continuación)
image = cv2.imread (ruta de imagen)

# Recorte de la fila y a la fila y + altura. Del mismo modo para col.
# Nota indexación similar a MATLAB, excepto que se basa en 0
# que es consistente con la mayoría de los idiomas y usa ‘[]’
# para que no tenga que recordar cuándo usar ‘()’, ‘{}’ etc.
# para indexar.
cara = imagen [y: y + altura, x: x + ancho]
cv2.imwrite (“face_” + str (line_number) + “.jpg”, face)

Python es similar a las matemáticas en el sentido de que algunos “objetos” que forman parte del vocabulario de un matemático son parte del lenguaje sin que tenga que instalarlos / importarlos, y se parecen a sus equivalentes matemáticos equivalentes. Con nombres de variables / funciones cuidadosamente elegidos, el código puede leerse como matemáticas o inglés

# Por ejemplo, crear fácilmente una lista, tupla, establecer, dictar
# Observe que puede MEZCLAR tipos. C ++ decir qué?
my_list = [-1, 10, “hola”, 2.4, -1] # Esto es mutable
my_tuple = (“John”, “Doe”, 28, “Hombre”) # Inmutable
my_set = {-1, 10, “hola”, -1, 10} # Conjunto {-1, 10, “hola”}

# Diccionario / mapa hash. Y sí, las funciones son objetos y pueden ser
# almacenado o pasado como argumentos.
my_dict = {“one”: 1, “three”: 3, “square_func”: lambda x: x ** 2}
# Esto se evalúa a 9
my_dict [“square_func”] (3)

# {-1, 10, “hola”, 2.4 “}. El orden puede cambiar ya que el conjunto no está ordenado.
set_from_list = set (mi_lista)

# Filtrado – lista
int_numbers = [elemento para elemento en mi_lista si el tipo (elemento) es int]

# Filtrado: conjunto (solo elementos únicos. Tenga en cuenta el {})
uniq_int_numbers = {n para n en mi_lista si el tipo (n) es int}

# Lista de comprensión
números pares = [n para n en el rango (100) si n% 2 == 0]
squared_even_numbers = [x ** 2 para x en números pares si x <50]
# Declarar función. Léalo en voz alta y observe la similitud con las matemáticas.
def polinomio (x):
retorno x ** 2-10 * x
poly_numbers = [polynomial (x) para x en squared_even_numbers]

Por lo tanto, el tiempo de creación de prototipos y desarrollo es considerablemente más corto en comparación con, por ejemplo, C ++, que ayuda cuando no sabes si una idea que quieres probar funcionará. Esto hace que Python sea especialmente popular entre el ingeniero / investigador / estudiante / profesor que tiene poco tiempo y tiene muchas ideas para probar. Estas personas a su vez influyen en otros para que usen Python para el aprendizaje automático escribiendo bibliotecas de aprendizaje automático, publicando código de investigación o impartiendo cursos (ver aquí y aquí), usando Python.

Ecosistema fantástico

Podría decirse que gran parte (¿o todo?) Del aprendizaje automático es solo matemática, específicamente optimización matemática, estadística y probabilidad. Python gana a los lenguajes tradicionales en que es más fácil “hacer matemáticas” usando Python que con la mayoría de los otros lenguajes. Esto a su vez facilita el aprendizaje automático en Python.

Hay un paquete de Python para casi cualquier función matemática concebible que desee utilizar:

  1. Álgebra lineal numérica: Numpy
  2. Computación científica general (p. Ej., Integración, DSP): Scipy
  3. Optimización convexa: CVXOPT
  4. Modelado estadístico: Statsmodel, PyMC3
  5. Álgebra simbólica: SymPy

Ya mencionado anteriormente, pero merece más elaboración, es el ingrediente que hace que Python sea amigable con la informática científica: Numpy, el paquete de álgebra lineal numérica de-factor de Python. Específicamente, la matriz Numpy es el caballo de batalla del ecosistema de computación científica de Python. Permite la expresión rápida y natural de ecuaciones matemáticas debido a su soporte de “vectorización de código” similar a MATLAB. Esto significa que las expresiones matemáticas complicadas cuando se escriben con matrices Numpy que representan vectores / matrices a menudo son solo unas pocas líneas de código.

Aquí hay algunos ejemplos con Numpy.

importar numpy como np

# Entradas de cubo en la matriz (sí, python tiene un operador “potente”)
# Si my_array es [1, 2, 3], entonces array_cube = [1, 8, 27]
array_cube = my_array ** 3

# Multiplicar dos matrices, x, y, de la misma forma, por elementos
x_times_y = x * y

# Log sum exp de valores en una matriz
log_sum_exp_value = np.log (np.sum (np.exp (my_array)))

# Normaliza el vector (cada fila de la matriz X) por su norma L2
X / = np.linalg.norm (X, axis = 1) .reshape (-1, 1)

# Clip / umbral de valores negativos en matriz a 0
X [X <0] = 0

Muchos materiales en línea para aprender Python para ML, etc.

Visite este enlace de Github, o este otro enlace y obtendrá mi punto.

Numpy – “Compatibilidad de datos” entre paquetes

Además, la matriz Numpy se usa como un contenedor común para datos en diferentes bibliotecas. Esto es muy importante ya que permite que las bibliotecas se usen juntas.

Por ejemplo, podría usar Pillow para leer una imagen como una matriz de Numpy, procesarla usando funciones de otra biblioteca como OpenCV y clasificarla usando otra biblioteca de Python como Scikit-learn, o una que tenga enlaces de Python (Caffe, Tensorflow , Pylearn2, Keras, etc.) sin tener que convertir la estructura de datos que aloja sus datos.

Esta “compatibilidad de datos” entre las bibliotecas hace que todo el ecosistema sea “más grande que la suma de sus partes”, ya que facilita que un desarrollador de Python las use en varias combinaciones.

Bibliotecas de aprendizaje automático (y relacionadas).

Quizás en parte debido a la facilidad de codificación en Python y su soporte informático científico, muchas bibliotecas populares de aprendizaje automático están escritas en Python (Scikit-learn, Keras, Pylearn2, Theano, Tensorflow, NLTK) o tienen enlaces de Python (Shogun, Caffe , OpenGM, OpenCV).

Además, el aprendizaje automático no se realiza de forma aislada. A menudo se aplica en algún contexto de aplicación, como visión por computadora, PNL o procesamiento de audio, con la salida de las bibliotecas para estas tareas que se utilizan para construir los vectores de características para los algoritmos de aprendizaje automático.

Por lo tanto, si usted es un desarrollador que ya está familiarizado y usa una biblioteca como OpenCV para el trabajo de visión por computadora, y planea usar una biblioteca de aprendizaje automático, digamos Caffe, para entrenar un modelo de clasificación, todos los cuales son compatibles con Python, entonces qué idioma , Python o C ++, ¿usarías? Por las razones mencionadas anteriormente, probablemente sea más fácil usar la API de Python en lugar de su API de C ++. Ahorre C ++ para la crisis especial de mediana edad / divorcio feo / depresión posparto cuando necesite el empujón final al borde.

Herramientas

Existen varias herramientas que facilitan el aprendizaje automático en Python.

  1. iPython (ahora portátil Júpiter) para experimentar, grabar y comunicar resultados.
  2. solicitudes, urllib2 (o 3), Scrapy y otras API web de Python para obtener datos
  3. Pandas para munging de datos y análisis
  4. Matplotlib, Seaborn, Mayavi, PCL, etc. para visualizar datos y resultados.

Junto con el hecho de que Python es un lenguaje interpretado, esto permite que Python sea como R y MATLAB para usarse de manera interactiva, lo cual es útil para el análisis de datos (que también hace un uso intensivo de algoritmos ML) y para depurar errores ML.

Fácil de configurar

Si está ejecutando una distribución de Linux, por ejemplo, Ubuntu, Python ya está instalado. Lo mismo para Mac, aunque la versión puede estar desactualizada y es posible que deba instalarla usted mismo utilizando un administrador de paquetes como homebrew o Macports.

En cuanto a Windows, los usuarios de Windows están muertos para mí.

A menudo, instalar un paquete solo requiere que uno escriba algo similar a lo siguiente en el terminal. Las dependencias también se instalarán automáticamente (con raras excepciones, por ejemplo, si el paquete se basa en bibliotecas que no son de Python).

$ pip install

Si usa Virtualenv con Virtualenvwrapper, incluso puede instalar las mismas bibliotecas con diferentes configuraciones en diferentes “entornos” y cambiar entre ellas:

$ workon
$ workon

Facilidad de desplegar un producto

Los lenguajes como Julia, R y MATLAB poseen algunas de las cualidades anteriores que hicieron que Python fuera tan popular para realizar trabajos de aprendizaje automático, aunque en diversos grados. Algunos de ellos son incluso mejores que Python en algunos aspectos. Por ejemplo, Julia, la prometedora candidata al título de Ms Popularidad, apoya la vectorización matemática, tiene excelentes paquetes para la computación científica y es mucho más rápida que Python.

Sin embargo, es más fácil implementar un producto, especialmente uno “basado en la web”, usando Python que con cualquiera de estos lenguajes. Esto se debe a que, a diferencia de estos lenguajes que fueron diseñados exclusivamente para computación científica (R para el modelado de estadísticas, MATLAB para aplicaciones de ingeniería), Python es también un lenguaje de programación general que se usa principalmente para la creación de secuencias de comandos web y admite marcos web establecidos como Django y Flask, además de recursos relacionados como bases de datos (por ejemplo, MongoDB).

Por lo tanto, es fácil incrustar un modelo de aprendizaje automático en un producto escrito en Python (por ejemplo, un servicio web que realiza la clasificación de datos del usuario, como fotos), mientras que a menudo es difícil hacerlo en los otros idiomas.

Como ejercicio sado-masoquista, intente construir un servicio web usando R o MATLAB.

Conclusión

Se necesita un poco de reflexión para darse cuenta de que las razones anteriores están relacionadas entre sí, cada una de las cuales genera comentarios positivos en un ciclo virtuoso que amplifica el efecto o promueve el desarrollo de otro. Esto es lo que hace que Python sea tan especial en este dominio.

Podría decirse que Python no es el mejor para la computación científica (Julia a este respecto parece más prometedor), no está tan bien establecido para el análisis de datos como R, o tan bien equipado como Ruby para un servicio web, pero hace un poco de todo suficientemente bien como para necesitar una solución decente que combine todas estas cualidades, entonces Python es quizás la única solución disponible en este momento.

En primer lugar, no hay nada como el lenguaje de programación de aprendizaje automático. La gente puede estar llamándolo porque hoy en día se ha vuelto popular. La razón de su popularidad es “fácil de aprender”. Python se destaca mucho en términos de su carácter sintáctico fácil en comparación con otros lenguajes. Muchos otros lenguajes, por ejemplo, Java, C / C ++, Scala se pueden usar de manera equivalente para el aprendizaje automático escalable; Pero si alguien está comenzando desde cero, Python es el lenguaje más fácil que se puede aprender en un corto período de tiempo y se usa rápidamente para la implementación.

Ahora, llegando a Python específicamente. Python tiene un gran conjunto de bibliotecas que se pueden usar fácilmente para el aprendizaje automático (por ejemplo, NumPy, SciPy, ScikitLearn, PyBrain, etc.). Python es uno de los lenguajes que se pueden usar para escribir códigos en el modelo Map-Reduce mientras se trabaja en Hadoop Ecosystem. Además, en Spark, que es una de las nuevas tecnologías para el análisis escalable de grandes datos, tiene bibliotecas de aprendizaje automático (MLlib) en python. Entonces, la simplicidad y la aplicabilidad más amplia van de la mano para convertirlo en un lenguaje de aprendizaje automático

Bueno, en primer lugar, como algunos de los otros ya han mencionado anteriormente, Python puede considerarse como la navaja suiza de los lenguajes de programación. Es muy efectivo en varios dominios y varios frentes. Es un lenguaje que puede hacer casi todo en todos los frentes. Además, la enorme cantidad de bibliotecas disponibles para los usuarios lo convierten en uno de los idiomas más populares del mundo. En el índice de programación TIOBE, actualmente se ubica en el número 5 y está muy por encima de otros idiomas utilizados para el análisis de datos y el aprendizaje automático como R. También recibió el IEEE Spectrum No. 1 Lenguaje de programación de 2017.

De manera similar, según los datos de Google Trends, Python ha superado fácilmente a su competidor R en términos de aprendizaje automático y ciencia de datos en los últimos 5 años, como se muestra a continuación.

Entonces, volviendo a la pregunta. ¿Por qué Python es tan popular en el aprendizaje automático? Bueno, creo que puedo proporcionar algo de luz sobre esto a medida que avanza por los puntos a continuación.

  1. Python es uno de los lenguajes más populares (independientemente de su uso en Machine Learning) como se evidencia anteriormente. La base de usuarios y la comunidad de Python es realmente grande y la colaboración es realmente alta. Esto da como resultado una mayor cantidad de experimentación que conduce a un mayor número de bibliotecas disponibles (por ejemplo, NumPy, Pandas, Scikit, etc.) y extensiones que son útiles listas para usar en Machine Learning.
  2. Python también se describe a menudo como simple y fácil de aprender, lo que es una gran parte de su atractivo para cualquier uso aplicado, incluidos los sistemas de aprendizaje automático. Algunos programadores describen que Python tiene un “compromiso / complejidad / rendimiento” favorable y describen cómo usar Python es más intuitivo que otros lenguajes, debido a su sintaxis accesible. La semántica de Python tiene una correspondencia particular con muchas ideas matemáticas comunes, por lo que no se necesita tanta curva de aprendizaje para aplicar esas ideas matemáticas en el lenguaje Python.
  3. Python es un lenguaje muy fuerte. Al mismo tiempo, es muy fácil de implementar y experimentar con nuevas ideas y prototipos rápidamente. Debido a esto, a las comunidades científicas y de investigación les encanta usar Python. Esto también resulta en un mayor uso de python en Data Science y Machine Learning.
  4. Como se mencionó anteriormente, Python es uno de los lenguajes de programación más populares en general. Por lo tanto, hace que sea más fácil para los programadores colaborar de muchas maneras diferentes: compartir herramientas con otros equipos, transferir la propiedad del código, obtener ayuda cuando la necesiten. Estas ventajas a su vez hacen que más programadores usen Python para Machine Learning.
  5. SciKit Learn es la mejor fuente de algoritmos de Machine Learning donde casi todos los tipos de algoritmos de Machine Learning están disponibles para Python. Esto da como resultado una implementación fácil y rápida de los algoritmos de Machine Learning. Esta es una de las razones importantes por las que Python es tan popular para Machine Learning.

Espero haber podido arrojar algo de luz sobre la pregunta original. Si está buscando comenzar a trabajar en Python, puede consultar el siguiente curso desde Udacity como punto de partida.

Si desea una carrera en Machine Learning, el ingeniero de Machine Learning Nanodegree es un curso realmente bueno que puede consultar.

Esto tiene poco o nada que ver con los propios idiomas. En los niveles semántico y sintáctico, Ruby y Python son aproximadamente capaces de expresar los mismos conceptos y algoritmos. En todo caso, Ruby puede tener una ligera ventaja debido a la influencia de Smalltalk en su diseño, lo que facilita su uso para construir lenguajes específicos de dominio.

No, lo que realmente distingue a los dos idiomas son sus ecosistemas circundantes de marcos y bibliotecas. Lo que plantea la pregunta: ¿cómo consiguió Python un ecosistema que fuera tan útil para crear bibliotecas de Machine Learning, cuando Ruby no lo hizo?

El lenguaje de programación Ruby se lanzó por primera vez en 1995, pero en realidad no se hizo popular hasta 2005 cuando se lanzó Ruby on Rails, y su ecosistema sigue siendo el más rico en áreas relacionadas con el desarrollo y el diseño web.

Python se lanzó por primera vez en 1991, y comenzó a aplicarse a diversos usos, como el scripting del sistema y el procesamiento de texto (en el que compitió con Perl), lo que condujo a la simulación, el procesamiento de imágenes, la informática científica y, sí, el desarrollo de aplicaciones web , y aún continúa extendiéndose a nuevos usos hasta el día de hoy.

El uso temprano en computación científica y simulación impulsó el desarrollo de extensiones de mayor rendimiento como Numeric y Numarray, que luego dieron lugar a NumPy en 2003, una extensión que proporciona tipos de datos para matrices y matrices y operaciones matemáticas de alto rendimiento, incluidas las operaciones en esos matrices NumPy se extiende aún más por otras bibliotecas como SciPy y Pandas.

Esta base temprana en operaciones científicas, estadísticas, matemáticas y de matriz de alto rendimiento (en qué áreas compite con el lenguaje de programación R se presta a muchos enfoques y métodos de Inteligencia Artificial, por lo que durante mucho tiempo ha habido una amplia variedad de bibliotecas para este propósito, más notablemente scikit-learn. La disponibilidad de enlaces para GPGPU SDK como CUDA de Nvidia hace posible una aceleración aún mayor, por lo que no es sorprendente que esas mismas bases también fueran atractivas para los desarrolladores de bibliotecas populares actualmente como Theano y TensorFlow que querían para realizar tareas de aprendizaje automático en conjuntos de datos mucho más grandes.

En resumen, la popularidad de Python para Machine Learning es principalmente un ejemplo de contingencia histórica, o para usar una frase más coloquial, “Los ricos se hacen más ricos”.

Soy un físico experimental con algo así como 15 años de experiencia como ingeniero de software en la industria y la ciencia. Desde esta perspectiva y puedo decir lo siguiente:

  • Python es el nuevo Fortran en el mundo científico. Es muy popular en los círculos de científicos no informáticos y proporciona una caja de herramientas enormemente grande para todo tipo de problemas de programación aplicada. Como es tan popular, Python viene con un gran ecosistema.
  • Python es fácil de aprender, al menos lo básico. Por lo tanto, los umbrales para comenzar con Python son considerablemente bajos, especialmente para las personas que no tienen experiencia científica en informática. Al hablar con colegas físicos, lenguajes como Java, C # se consideran “complicados”, “difíciles de aprender”, etc., junto con la necesidad de lidiar con una infraestructura más o menos complicada: Eclipse, Maven, sistemas de implementación. Además de eso, no tiene que lidiar con la Orientación de Objetos cuando usa Python, algo que hace que Python sea muy atractivo para los no científicos en computación.
  • Ahora, para la atracción de Python por el aprendizaje automático: en primer lugar, con lo dicho anteriormente, Python es la herramienta elegida por las personas que desean explorar y aplicar el aprendizaje automático para sus proyectos de investigación: análisis de datos, reconocimiento de patrones, etc. con una serie de bibliotecas de aprendizaje automático muy atractivas que se pueden aplicar de fábrica. Yo mismo trato de implementar algoritmos de aprendizaje automático para controlar los aceleradores de partículas en Java, que es la base de nuestro sistema de control automático. Solo puedo decir que es mucho más difícil encontrar bibliotecas convenientes para mis necesidades en Java de lo que podría encontrar en Python. Además de eso, no tengo un ecosistema de estudiantes de máquina aplicados en Java, estoy solo. Lo que sí tengo es soporte de expertos experimentados en Java y OO blackberry, pero pueden ayudarme con mis problemas “aplicados” …

Python le ofrece muchas ventajas para el aprendizaje automático:

  • Tiene numerosos paquetes para Machine Learning y otros cálculos. Los ejemplos principales son numpy, pandas, keras, tensorflow . Estos paquetes están bien documentados, lo que es útil para comenzar con nuevos proyectos y soluciones. También acelera el proceso de corrección de errores.
  • Sus bibliotecas son simplemente poderosas. Significa que comprenden muchas características útiles en cálculos complejos. El desarrollo es rápido, eficiente y estable. También es común que usen una variedad de mejoras en la velocidad de cálculo. Todas estas ventajas hacen que estas herramientas sean maduras y confiables.
  • Otra ventaja importante de usar las bibliotecas de Python es un apoyo considerable de la comunidad, ya que los desarrolladores pueden encontrar fácilmente tutoriales y consejos valiosos en un proceso de desarrollo. Una comunidad estable hace que el umbral de inicio sea más bajo: es más fácil usar nuevas tecnologías desde cero.
  • Python es un lenguaje amigable para el desarrollador que es más fácil de comenzar para los desarrolladores de Ruby on Rails en comparación con otros lenguajes de programación de nivel inferior. La sintaxis es intuitiva y es paralela a la de Ruby más que a otros lenguajes populares.

Sin embargo, es una buena idea conectar la brillantez del marco de Ruby on Rails con Python como un microservicio que realiza cálculos de Machine Learning. Esta arquitectura nos brinda la combinación de la mejor eficiencia de cálculo y la estabilidad del desarrollo de aplicaciones web. Minimiza el tiempo de construcción de un prototipo y proporciona la mejor calidad de uso.

Puedes leer más sobre esto aquí.

Python proporciona bibliotecas altamente eficientes con módulos integrados que le permiten concentrarse más en su modelo de meta / ML en lugar de golpearse la cabeza contra cosas complicadas de codificación.

Cuando se trata de análisis de datos, Python recibe un impulso positivo de varios paquetes diferentes. Pandas, uno de sus paquetes de análisis de datos más conocidos, proporciona a Python estructuras de alto rendimiento y herramientas de análisis de datos. Como es el caso con muchos de los paquetes de Python, acorta el tiempo entre comenzar un proyecto y hacer un trabajo significativo dentro de ese proyecto.

Existen numerosas bibliotecas en Python que se pueden usar para implementar Machine Learning. Sin embargo, la implementación depende de la tarea que esté dispuesto a realizar.

Sin consumir gran parte de su tiempo, permítame explicarle las complejidades de algunas de las bibliotecas más utilizadas:

  • Numpy: un paquete para computación científica

La lista de operaciones que puede realizar con numpy puede ser:

  • Pandas: una biblioteca Python de código abierto que proporciona estructuras de datos y herramientas de análisis de datos eficientes y fáciles de usar. Las estructuras de datos compatibles con Pandas son:

  • Matplotlib: una biblioteca de Python que está especialmente diseñada para el desarrollo de gráficos, tablas, etc., con el fin de proporcionar una visualización interactiva de datos. Veamos algunas de las parcelas que puede generar usando Matplotlib:

  • Seaborn: a veces puede que no sea posible obtener gráficos precisos con Matplotlib, ya que se centra principalmente en gráficos de líneas. En ese caso, puede ir con una biblioteca más específica, conocida como Seaborn. Se enfoca en lo visual de los modelos estadísticos que incluyen mapas de calor y representan las distribuciones generales.

En última instancia, utilizará la biblioteca principal para implementar algoritmos de Machine Learning en Python. Es el Scikit-Learn .

  • Scikit-Learn: minería de datos simple y eficiente y análisis de datos, construido sobre NumPy y Matplotlib, código abierto. Aquí hay una pequeña hoja de trucos que revela la importancia de Scikit-Learn;

Nota: Pandas & Numpy juegan un papel importante en la ayuda de Data Wrangling, Matplotlib & Seaborn en Visualizaciones y Scikit-Learn le permite implementar algoritmos ML y, por lo tanto, modelar.

Espero, te he dejado un poco claro !!

Si eres un entusiasta de Machine Learning (ML) y estás dispuesto a agregar valor a tus habilidades de ML, a continuación encontrarás el enlace al curso completo sobre Machine Learning con Python: Capacitación en certificación de ciencia de datos | Curso de Python para la ciencia de datos | Edureka

No está claro que Python sea especialmente popular en el aprendizaje automático. Pero es muy popular para la ciencia de datos aplicados y para la enseñanza del aprendizaje automático aplicado. Debido a la madurez y amplitud de su biblioteca de paquetes, Python se destaca en proporcionar un patio de recreo para trabajar con datos, no solo numéricamente (en los cuales R también sobresale), sino también para: descargar contenido de la web y API; interfaz con bases de datos y hojas de cálculo; manipular texto, audio e imágenes; etc. Importante para la ciencia de datos, tiene herramientas sofisticadas para la presentación y exploración de resultados: matplotlib, pandas y Jupyter. Y, por supuesto, también sucede (y sugiero una razón por la que a continuación) tengo paquetes maduros que proporcionan las herramientas necesarias para la ciencia de datos: manipulación numérica de bajo nivel y alto rendimiento (numpy, scipy) y kits de herramientas de aprendizaje automático, estándar (scikit -aprender) y de vanguardia (theano).

Python es un lenguaje extremadamente accesible para aprender y comenzar a crear scripts, valioso para las personas que provienen de entornos que no son de software pero con aplicaciones de ciencia de datos. Se destaca en las investigaciones a pequeña escala donde los marcos de trabajo a nivel empresarial son gastos generales innecesarios. Python es generalmente un lenguaje popular para la enseñanza y la investigación por las mismas razones. A su vez, atrae a los desarrolladores de bibliotecas que desean que sus bibliotecas se utilicen en la enseñanza y la investigación.

Pero en última instancia, al ir más allá del laboratorio, si Python es la mejor opción dependerá de las necesidades de cada proyecto donde se aplique el aprendizaje automático.

Entrenamiento de Python en Hyderabad:

“Aproveche al máximo las excelentes oportunidades de carrera en el campo de la programación de Python con la formación de Python de tecnologías de código abierto”.

Tecnologías de código abierto: el mejor instituto para la formación de Python

Open Source Technologies es el mejor instituto que presta sus servicios en Python Training en Hyderabad. Los estudiantes que han adquirido capacitación en Python en Open Source Technologies se han establecido principalmente en muchas de las principales compañías multinacionales. La certificación de Python Training de Open Source Technologies seguramente aportará un valor a su perfil profesional.

Brindamos la mejor capacitación bajo la guía de expertos de la industria en tiempo real. Entonces, comience a trabajar en la construcción de una plataforma profesional sólida en la carrera de programación de Python al inscribirse en nuestro programa de capacitación Python de Open Source Technologies.

¿Qué es exactamente la programación de Python?

El lenguaje Python es la base de muchas aplicaciones avanzadas que están siendo utilizadas globalmente por muchas compañías multinacionales. Python es considerado como uno de los lenguajes de programación orientados a objetos más poderosos que ha sido desarrollado y mantenido por una comunidad global de desarrolladores de código abierto.

Python es muy fácil de aprender en comparación con otros lenguajes de programación como C, Java, C ++ Python y otros relacionados debido a la facilidad con la que se puede escribir su sintaxis. Python puede mejorar fácilmente la productividad de su programador. Hay mucha demanda de programadores profesionales de Python en todo el mundo.

Objetivos del entrenamiento en Python de Open Source Technologies:

Los objetivos principales de nuestra programación Python de Open Source Technologies son

  • Para convertirse en experto en todos los fundamentos de la escritura de código Python.
  • Aprovechar el conocimiento completo en scripts de Python y en las estructuras de control de flujo.
  • Para comprender el conocimiento completo en el manejo de los diferentes conjuntos de datos de secuencia.
  • Una breve descripción general de las funciones de Python para optimizar la reutilización del código.
  • Aprender a leer y escribir los archivos a través de Python.
  • Para explorar las características orientadas a objetos de Python.

Destinatarios de esta capacitación:

Los principales destinatarios de nuestro programa de entrenamiento de Python son

  • Administradores de red
  • Desarrolladores de software
  • Gerentes de análisis
  • Profesionales de Big Data
  • Administradores Administrativos
  • Solicitantes de empleo que desean tener una carrera en Python

Aspectos destacados de nuestra capacitación:

Las principales características destacadas de nuestro programa de entrenamiento de Python son

  • Instructor completo dirigido entrenamiento avanzado.
  • Exposición al programa de capacitación orientado a la industria.
  • Infraestructura de laboratorio altamente sofisticada.
  • El mejor ambiente de aprendizaje.
  • Asistencia en la preparación de currículums y programación de entrevistas.

También somos reconocidos por nuestra altamente avanzada capacitación en línea de Python, que será la mejor opción para todos los profesionales que trabajan y están destinados a hacer una carrera en la programación de Python.

Inscríbase ahora para aprovechar nuestras tecnologías de código abierto Python Training en Hyderabad y Python Online Training.

“Inscríbase ahora para aprovechar nuestras sesiones de demostración de Python gratuitas de Open Source Technologies”.

Primero, Python es principalmente un lenguaje de script muy fácil de aprender. (¡Enseñé lo básico de Python para un niño de 14 años en un día y él codifica en Python ahora durante el último año! 🙂)

En segundo lugar, scikit-learn: el aprendizaje automático en Python es una de las bibliotecas más fáciles y avanzadas utilizadas para este propósito. R viene con muchos paquetes geniales utilizados para el análisis de datos y el aprendizaje automático, etc., pero no es fácil para todos aprender.

Entonces, cuando desea pedirle a su ingeniero de datos que industrialice el algoritmo de aprendizaje automático que escribió (Concediendo que usted es un científico de datos), buena suerte con R. Por ejemplo, aunque pensé que uso R para crear POC o modelos, escribo mis algoritmos en Scala para industrializarlos.

Además, no todas las empresas pueden pagarle a un Científico de Datos o incluso a un desarrollador de Scala. La mayoría de ellos son ingenieros de datos bastante superiores con algunas habilidades de aprendizaje automático antes que los científicos de datos. Y si sabe cómo leer la documentación, usar scikit-learn y el sentido común serán muy útiles y un gran comienzo.

Vamos a redondear, Python es fácil, desarrollo barato sabio + scikit.

Espero que esto responda tu pregunta.

En primer lugar, no hay un solo “lenguaje” como tal para el aprendizaje automático o la programación de IA en general. C ++, Java, etc. también se utilizan para Machine Learning. De hecho, una de las bibliotecas más famosas para ML es TensorFlow y está codificada principalmente en C ++. Python se usa más, por lo que ha llamado la atención como el idioma preferido para los científicos de datos. Hay muchas razones –

  1. Bibliotecas: Python tiene la mayor cantidad de bibliotecas de código abierto científicas y matemáticas que cualquier otro idioma. También alberga las principales bibliotecas para ML, como las mencionadas TensorFlow y Theano.
  2. Legibilidad: Python hace hincapié en mantener y mantener un código limpio y conciso. Esto es útil para escribir algoritmos complejos y mantenerlos.
  3. Desarrollo más rápido: Python es fácil de aprender y escribir. Al menos en comparación con otros lenguajes antiguos como C ++ y Java. Se usa en el ámbito académico y para principiantes, por lo que generalmente se prefiere más.

Eso es todo, pero para resumir esta respuesta, déjenme decirles que si están de acuerdo en hacer muchas cosas desde cero y no les importan las bibliotecas, entonces pueden elegir casi cualquier idioma para el aprendizaje automático, depende de tú. Pero todavía recomendaría Python si no tienes experiencia previa en ML o programación en general.

Soy nuevo en la implementación del algoritmo de aprendizaje automático, pero con mi poca experiencia puedo decir sobre python:

1-fácil de obtener biblioteca compatible para python …

2-easy puede obtener ayuda en internet …

Los códigos de 3 python son muy pequeños en comparación con Java u otro idioma …

4-python es muy fácil de entender y escribir un código, no solo para la inclinación de la máquina sino también para análisis, programación, desarrollo web, análisis estadístico …

4- Python se usa muy a menudo para análisis y la inclinación de la máquina cubre las principales partes analíticas, analíticas predictivas, estadísticas …

5-Sci-kit learn ( scikit-learn: machine learning en Python ) es la mejor fuente para el algoritmo de inclinación de máquinas aquí obtendrá todos los algoritmos de ML en python.

Gracias 🙂

Python es relativamente fácil de aprender que otros lenguajes como Java, C ++, C y también es aceptable desde el punto de vista del rendimiento. Esto es atractivo de usar en Machine Learning, donde los modelos pueden ser fácilmente prototipados y probados por su eficiencia. Esta facilidad de uso también permite que expertos de otros campos (Física estadística, Bioinfomática) prueben sus manos en esta área.

Otra razón importante para su popularidad es la disponibilidad de muchos proyectos de código abierto relacionados con ML (scikit-learn, scipy, numpy, etc.). Estos paquetes están disponibles gratuitamente y cualquiera puede modificarlos según sus necesidades.

Hoy en día, con la creciente popularidad de Cython, Numba, PyPy para mejorar el rendimiento, python superará su único problema que era el rendimiento.

Estos factores lo hacen ideal para el aprendizaje automático.

Esto se debe principalmente a la biblioteca de Python scikit learn. Incluye clases para casi todos los algoritmos de aprendizaje automático supervisados ​​y no supervisados. Si observa la biblioteca de aprendizaje scikit en Python, es una biblioteca de aprendizaje automático con clases incorporadas para casi todos los algoritmos de aprendizaje automático. Lo importas a tu entorno, pones datos en las funciones y tienes tu resultado. Esto facilita la creación y prueba rápidas de sus modelos de aprendizaje automático.

Además de esto, las bibliotecas de Python como pandas y numpy permiten una rápida manipulación de datos y limpieza de datos para que esté listo para alimentarlo en sus modelos de aprendizaje automático.

Es por eso que Python es tan popular entre los entusiastas del aprendizaje automático.

Para indicar algunas de las cosas que hacen que Python vaya al lenguaje

  1. Fácil de aprender . Código limpio
  2. Excelente documentación
  3. Lista de comprensión
  4. Biblioteca estándar
  5. Biblioteca científica disponible como matriz numpy scipy y homogénea
  6. C como velocidad de cálculo sin los rigores.

Esto no solo ayuda a concentrarse en el aspecto lógico y matemático del problema, sino que también ayuda a utilizar la gran cantidad de bibliotecas existentes.

Las bibliotecas de ciencia de datos bien optimizadas como scikit learn, tensorflow, pyspark, pandas y muchas más se pueden usar si tiene alguna experiencia con oops o lenguajes de procedimiento.

Además de las habilidades científicas o de aprendizaje automático, tiene buenas herramientas y bibliotecas de desarrollo web (como Django, Flask), trazando con matplotlib y muchas más (algunas de ellas simplecv, opencv, NLP).

Es una comunidad en crecimiento, mucha ayuda en línea mientras se mantiene alejado de las complejidades de los núcleos, la administración de la memoria y la concentración en el problema. Python aún no podrá competir con C o C ++ simplemente por requisitos de alta velocidad, especialmente escritorios HFT.

Porque Python es:

Conciso
El código escrito en lenguajes escritos dinámicamente, como Python, tiende a ser más corto que el código escrito en otros lenguajes convencionales. Esto significa que hay menos tipeo para ti cuando trabajas con los ejemplos, pero también significa que es más fácil ajustar el algoritmo en tu cabeza y entender realmente lo que está haciendo.

Fácil de leer
Python a veces se conoce como “pseudocódigo ejecutable”. Si bien esto es claramente una exageración, señala que los programadores más experimentados pueden leer el código Python y entender lo que se supone que debe hacer.

Fácilmente extensible
Python viene de serie con muchas bibliotecas, incluidas aquellas para funciones matemáticas, análisis XML (lenguaje de marcado extensible) y descarga de páginas web. Las bibliotecas no estándar utilizadas en el libro, como el analizador RSS (Really Simple Syndication) y la interfaz SQLite, son gratuitas y fáciles de descargar, instalar y usar. NumPy y SciPy como otras respuestas también han mencionado.

Interactivo
Al trabajar con un ejemplo, es útil probar las funciones a medida que las escribe sin escribir otro programa solo para probar. Python puede ejecutar programas directamente desde la línea de comandos, y también tiene un mensaje interactivo que le permite escribir llamadas a funciones, crear objetos y probar paquetes de forma interactiva.

Multiparadigma
Python admite estilos de programación orientados a objetos, procesales y funcionales. Los algoritmos de aprendizaje automático varían mucho, y la forma más clara de implementar uno puede usar un paradigma diferente al otro. A veces es útil pasar funciones como parámetros y otras veces para capturar el estado en un objeto. Python admite ambos enfoques.

Multiplataforma y gratis
Python tiene una implementación de referencia única para todas las plataformas principales y es gratuita para todas ellas.

Fuente: El libro Programming Collective Intelligence de Toby Segaran

Python es popular para el aprendizaje automático por alguna razón de la siguiente manera:

El análisis de datos exploratorio sigue un 70 por ciento de tiempo para analizar los datos y

30 por ciento de tiempo para aplicar el modelo y encontrar el modelo predictivo o categorizado de datos.

no hay absolutamente ningún tiempo para que un científico de datos luche con la complejidad y dependencia del lenguaje de programación, etc.

Como python es interactivo, rápido para el programa científico y legible, la implementación de la técnica EDA se vuelve fácil con pandas numpy, scipy, que son paquetes de python.

Además, Python captura la mayor parte del código de prueba de la unidad para productos de alto rendimiento.

También el desarrollo web Python Django es una opción automática para la mayoría de las startups.

El sistema Eco es importante para que un lenguaje de programación se vuelva popular y debería ser aceptable para la mayoría del dominio y tipo de problema

Python está alcanzando rápidamente a plataformas como R en términos de capacidad y adopción.

La causa es scikit-learn: Machine Learning en la biblioteca Python para el aprendizaje automático que se construye sobre la pila SciPy , aprovechando la velocidad y el poder de las bibliotecas Python como Numpy para la manipulación rápida de datos a velocidades similares a las de C. Scipy Stack contiene:

  • NumPy
  • Ciencia
  • Matplotlib
  • IPython
  • Sympy
  • Pandas

La biblioteca scikit-learn tiene todas las funciones, ofrece un conjunto de algoritmos para elegir, así como un esquema de preparación de datos y tuberías inteligentes que le permiten diseñar cómo fluyen los datos de un elemento al siguiente.

Las principales razones:

  1. Simple de aprender, pero no limitado en función
  2. Tiene MUCHOS módulos para admitir aplicaciones de aprendizaje automático
  3. Código abierto, por lo que es gratuito y no está restringido por problemas de licencias comerciales
  4. Altamente extensible su modelo básico puede automatizarse en el mismo idioma y escalarse a supergrande
  5. NO COMPILADO: correr como un script interpretado es MUCHO más fácil de trabajar cuando se desarrollan modelos que un lenguaje compilado
  6. Los servicios escritos en C, C ++ o C # se pueden usar en Python con las interfaces apropiadas
  7. Mucho más rápido que otras alternativas de código abierto para muchas aplicaciones
  8. Fue utilizado en muchos de los campos de la ciencia que fueron pioneros en el aprendizaje automático moderno allanó el camino para el impulso dentro de industrias no relacionadas.
  9. Sesgo dentro de los reinos de la informática contra las otras alternativas principales porque las consideran no “lenguajes de programación reales”
  10. Gran cantidad de tutoriales, cursos y foros basados ​​en la web para apoyar la creación de modelos, la programación y la resolución de problemas en Python
  11. Python súper fácil de interactuar con fuentes de datos estructuradas, no estructuradas, simples, complejas y distribuidas a través de lenguajes de consulta y módulos de Python

Realmente, hay MUCHAS buenas razones para ir con Python. Es un ecosistema robusto de programación y aprendizaje algorítmico con un fabuloso soporte de entidades comerciales y no comerciales en todos los campos principales que utilizan el aprendizaje automático.