Ciencia de los datos

Las 10 mejores bibliotecas de aprendizaje automático para Python

Las 10 mejores bibliotecas de aprendizaje automático para Python

Que quieres crear? La pregunta importante!

Has venido aquí para usar Machine Learning (ML) . ¿Ha considerado cuidadosamente para qué? Cuando elige una biblioteca de aprendizaje automático, debe comenzar con cómo la va a usar. Incluso si solo está interesado en aprender, debe considerar dónde se usa el aprendizaje automático y cuál es el más cercano a su interés principal. También debe considerar si desea concentrarse en hacer que algo funcione en su máquina local o si está interesado en difundir su computación en muchos servidores.

Al principio, empieza por hacer que algo funcione.

Dónde se usa el aprendizaje automático

Puede encontrar muchos proyectos que usan ML, de hecho tantos que cada categoría tiene páginas. La versión corta está 'en todas partes', esto no es cierto, pero uno comienza a preguntarse. Los más obvios son los motores de recomendaciones, el reconocimiento de imágenes y la detección de spam. Como ya está programando en Python, también le interesará el software de finalización de código The Kite. Otros usos son para detectar errores de entrada de datos manual, diagnóstico médico y mantenimiento para las principales fábricas y otras industrias

Las bibliotecas en resumen:

  1. Scikit-aprender, De scikit; Rutinas y bibliotecas además de NumPy, SciPy y Matplotlib. Esta biblioteca se basa directamente en las rutinas de las bibliotecas matemáticas nativas de Python. Instala scikit-learn con su administrador de paquetes de Python habitual. Scikit-learn es pequeño y no admite cálculos de GPU, esto puede desanimarlo, pero es una elección consciente. Este paquete es más pequeño y más fácil de usar. Todavía funciona bastante bien en contextos más grandes, aunque para hacer un clúster de cálculos gigantesco, necesita otros paquetes.
  2. Imagen-scikit Especial para imágenes! Scikit-image tiene algoritmos para el análisis y la manipulación de imágenes. Puede usarlo para reparar imágenes dañadas, así como para manipular el color y otros atributos de la imagen. La idea principal de este paquete es hacer que todas las imágenes estén disponibles para NumPy para que pueda realizar operaciones en ellas como ndarrays. De esta manera, tiene las imágenes disponibles como datos para ejecutar cualquier algoritmo.
  3. Shogun: Base C ++ con interfaces API claras para Python, Java, Scala, etc. Muchos, tal vez la mayoría de los algoritmos disponibles para experimentar. Este está escrito en C ++ para mayor eficiencia, también hay una forma de probarlo en la nube. Shogun usa SWIG para interactuar con muchos lenguajes de programación, incluido Python. Shogun cubre la mayoría de los algoritmos y se usa ampliamente en el mundo académico. El paquete tiene una caja de herramientas disponible en https: // www.caja de herramientas shogun.org.
  4. Spark MLlib: Es principalmente para Java, pero está disponible a través de la biblioteca NumPy para desarrolladores de Python. Spark MLlib está desarrollado por el equipo de Apache, por lo que está dirigido a entornos informáticos distribuidos y debe ejecutarse con el maestro y los trabajadores. Puede hacer esto en modo independiente, pero el poder real de Spark es la capacidad de distribuir los trabajos en muchas máquinas. La naturaleza distribuida de Spark lo hace popular entre muchas grandes empresas, como IBM, Amazon y Netflix. El objetivo principal es extraer "Big Data", es decir, todas esas migas de pan que dejas atrás cuando navegas y compras en línea. Si desea trabajar con Machine Learning, Spark MLlib es un buen lugar para comenzar. Los algoritmos que admite se distribuyen en toda la gama. Si está comenzando un proyecto de pasatiempo, puede que no sea la mejor idea.
  5. H2O: Está dirigido a procesos comerciales, por lo que admite predicciones para recomendaciones y prevención de fraudes. El negocio, H20.ai tiene como objetivo encontrar y analizar conjuntos de datos de sistemas de archivos distribuidos. Puede ejecutarlo en la mayoría de los sistemas operativos convencionales, pero el objetivo principal es admitir sistemas basados ​​en la nube. Incluye la mayoría de los algoritmos estadísticos, por lo que se puede utilizar para la mayoría de los proyectos.
  6. Cuidador de elefantes: Está hecho para algoritmos distribuidos de aprendizaje automático. Es parte de Apache debido a la naturaleza distribuida de los cálculos. La idea detrás de Mahout es que los matemáticos implementen sus propios algoritmos. Esto no es para principiantes, si recién está aprendiendo, es mejor que use otra cosa. Habiendo dicho eso, Mahout puede conectarse a muchos back-end, así que cuando haya creado algo, mire hacia adentro para ver si desea usar Mahout para su frontend.
  7. Cloudera Oryx: Se utiliza principalmente para el aprendizaje automático en datos en tiempo real. Oryx 2 es una arquitectura que superpone todo el trabajo para crear un sistema que pueda reaccionar a los datos en tiempo real. Las capas también funcionan en diferentes marcos de tiempo, con una capa por lotes que construye el modelo básico y una capa de velocidad que modifica el modelo a medida que ingresan nuevos datos. Oryx se basa en Apache Spark y crea una arquitectura completa que implementa todas las partes de una aplicación.
  8. Theano: Theano es una biblioteca de Python que está integrada con NumPy. Esto es lo más cercano a Python que puede obtener. Cuando usa Theano, se le recomienda tener instalado gcc. La razón de esto es que Theano puede compilar su código en el código más apropiado posible. Si bien Python es genial, en algunos casos C es más rápido. Entonces Theano puede convertir a C y compilar haciendo que su programa se ejecute más rápido. Opcionalmente, puede agregar compatibilidad con GPU.
  9. Tensorflow: El tensor en el nombre apunta a un tensor matemático. Tal tensor tiene 'n' lugares en una matriz, sin embargo, un tensor es una matriz multidimensional. TensorFlow tiene algoritmos para realizar cálculos para tensores, de ahí el nombre, puede llamarlos desde Python. Está construido en C y C ++, pero tiene un front-end para Python. Esto lo hace fácil de usar y rápido. Tensorflow puede ejecutarse en CPU, GPU o distribuido a través de redes, esto se logra mediante un motor de ejecución que actúa como una capa entre su código y el procesador.
  10. Matplotlib: Cuando se le ocurre un problema que puede resolver con Machine Learning, lo más probable es que desee visualizar sus resultados. Aquí es donde entra en juego matplotlib. Está diseñado para mostrar los valores de cualquier gráfico matemático y se usa mucho en el mundo académico.

CONCLUSIÓN

Este artículo le ha dado una idea sobre lo que está disponible para programar en Machine Learning. Para tener una idea clara de lo que necesita, debe comenzar por hacer algunos programas y ver cómo funcionan. Hasta que no sepa cómo se pueden hacer las cosas, no podrá encontrar la solución perfecta para su próximo proyecto.

Vulkan para usuarios de Linux
Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un pa...
OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...
Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....