¿Cuál es el atractivo de Python para ML y aplicaciones científicas en general?

Los principales argumentos para usar Python son:

Python es gratuito y de código abierto, mientras que Matlab es un producto comercial de código cerrado.

El lenguaje Python es mucho mejor que el lenguaje incómodo de Matlab.

Python se integra mejor con otros lenguajes (por ejemplo, C / C ++).

Python incluye de forma nativa un impresionante número de bibliotecas de propósito general o más especializadas, y los entusiastas de Python están desarrollando más bibliotecas externas.

Y, por supuesto, casi todo lo que es posible en Matlab es posible en Python, mientras que lo contrario no es cierto.

Buen compromiso entre los idiomas de nivel superior e inferior, comunidad muy grande, una buena selección de bibliotecas especializadas de ML (Orange, Scikit-learn, …), facilidad para construir bibliotecas

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.

Scikit-learn en Python es una de las bibliotecas más fáciles y avanzadas utilizadas para este propósito.

A pesar de no ser un lenguaje excepcionalmente bueno, Python tiene muchos seguidores.

Por ejemplo, Ruby fue creado para ser bueno como Python y evitar sus defectos. Ruby es un lenguaje realmente agradable, pero no podría reemplazar a Python. Y la razón más importante es que Python ya se había vuelto popular entre los desarrolladores, y tenía muchos paquetes de biblioteca.

En el campo de ML / DL, Python ofrece

  • Sintaxis limpia
  • Un ecosistema maduro
  • Muchos paquetes
  • Fácil de aprender

De nuevo, no hay nada que otros lenguajes no puedan hacer (no he usado R, pero sé sobre ello), excepto el hecho de que Python ya está establecido.

Python es un lenguaje de propósito general y funciona mucho mejor que R o MATLAB si está tratando de producir su código o crear aplicaciones centradas en datos en lugar de solo un análisis independiente.

El atractivo es hacer un código que pueda ser más reutilizable que el código en R o MATLAB (que ni siquiera es de código abierto). Es tan fácil programar cosas en MATLAB y R que puede hacer casi cualquier cosa sin tener idea de cómo se debe extender el software, y cuando su código se hace cada vez más grande, se convierte en un gran desastre. Python fomenta más buenas prácticas de programación y se ejecuta en software real en lugar de quedarse solo como un experimento científico: es fácil integrar su investigación con aplicaciones web, aplicaciones de escritorio y más.

¡Python puede arrojar liners sexys como un mujeriego en el club nocturno! Estoy bromeando ¡O soy yo!

Requiere importación como cualquier otro lenguaje de programación. R también lo requiere para funcionalidades que no están integradas.

  1. R vs Python: Python no se creó como una herramienta estadística / matemática a diferencia de R / Matlab / SAS. Por lo tanto, no tiene funciones matemáticas integradas como log. Pero es más rápido que cualquiera de las herramientas mencionadas anteriormente. Si te gusta R, siempre hay Pandas para ti en Python. Si te gustan las matrices multidimensionales, entonces numpy está allí.
  2. Java / C # vs Python: Python es bueno para la implementación instantánea y por eso es bueno para proyectos de menor escala o proyectos académicos / de investigación. Es menos detallado. Es corto y dulce.

Hubo pequeñas cosas como estas que me determinaron a usar Python cada vez menos: problemas para instalar bibliotecas en una máquina con Windows 64 a menos que lo hinche con Anaconda, necesitando una biblioteca solo para poder leer un archivo .csv desde el disco, plt.plot -ing , np.log -ing, touple -ing, indexación desde cero y la complicada indexación de matriz, extracción y corte … y la lista continúa, con todas las campanas y silbatos. Aunque estudié TensorFlow en Python.

Después de unos años, me di cuenta de que no puedo apreciar la “elegancia” de Python y, por lo tanto, me quedo con R tanto como puedo.

More Interesting

Cómo construir un automóvil autónomo a partir de un automóvil normal

¿Podemos usar el modelo oculto de Markov para inferir las variables ocultas del universo?

¿Hay un equivalente a Rosalind en el aprendizaje automático?

¿Cuál es la diferencia entre la regularización y el sesgo inductivo en el aprendizaje automático?

¿Cuáles son las 3 mejores GPU, independientemente del precio del aprendizaje profundo, especialmente si necesitamos mucha RAM de GPU, así como cálculos de alto rendimiento / velocidad?

¿De dónde obtengo un sentimiento de Twitter durante todo el día del conjunto de datos?

¿Cuál es la desventaja de usar ADVI?

¿Has utilizado Google Translate recientemente? ¿Cómo es la calidad de la traducción con su nueva traducción automática neuronal? ¿Cómo es para cualquier par de idiomas?

¿Cuáles son los pros y los contras de estos tres modelos de secuencia: modelo MaxEnt Markov, campos aleatorios condicionales y redes neuronales recurrentes?

¿Qué debo tomar Machine Learning o realidad aumentada?

¿Cuáles son los beneficios del filtrado colaborativo?

¿Cómo evaluaría un sistema de recomendación si todo lo que tiene son calificaciones de elementos de usuario?

¿Qué áreas de ciencia de datos o aprendizaje automático están creciendo en importancia?

¿Alguna vez ha utilizado el aprendizaje automático de alguna manera para ayudar en las pruebas de software y la automatización de pruebas?

¿Cuáles fueron los algoritmos utilizados para los chatbots antes de que surgiera el aprendizaje profundo?