¿Qué quieres crear?? La pregunta importante!
Has venido aquí para usar el aprendizaje automático (ML) . ¿Ha considerado cuidadosamente para qué? Cuando elige una biblioteca de aprendizaje automático, debe comenzar con la forma en que 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 obtener algo en su máquina local o si está interesado en difundir su informática en muchos servidores.
Al principio, comience por hacer que algo funcione.
Donde se utiliza el aprendizaje automático
Puede encontrar muchos proyectos que usen ML, de hecho, tantos que cada categoría tiene páginas de largo. La versión corta es 'en todas partes', esto no es cierto, pero uno comienza a preguntarse. Los obvios son motores de recomendaciones, reconocimiento de imágenes y detección de spam. Dado que ya está programando en Python, también estará interesado en el software de finalización del código de cometa. Este es que otros usos son para detectar errores de la entrada de datos manuales, el diagnóstico médico y el mantenimiento de las principales fábricas y otras industrias
Las bibliotecas en resumen:
- Lear, De Scikit; Rutinas y bibliotecas sobre Numpy, Scipy y Matplotlib. Esta biblioteca depende directamente de las rutinas de las bibliotecas matemáticas nativas de Python. Instala Scikit-Learn con su Python Package Manager habitual. Scikit-Learn es pequeño y no admite los cálculos de GPU, esto puede ponerlo, pero es una elección consciente. Este paquete es más pequeño y más fácil de comenzar. Sin embargo, todavía funciona bastante bien en contextos más grandes para hacer un clúster de cálculos gigantescos, necesita otros paquetes.
- Scikit-imagen Especial para imágenes! Scikit-Image tiene algoritmos para el análisis de imágenes y la manipulación. Puede usarlo para reparar imágenes dañadas, así como 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 hacer operaciones en ellas como NDArrays. De esta manera, tiene las imágenes disponibles como datos para ejecutar cualquier algoritmos.
- 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 la 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 dentro del mundo académico. El paquete tiene una caja de herramientas disponible en https: // www.shogun toolbox.organizar.
- Chispa mllib: Es principalmente para Java pero está disponible a través de Numpy Library para los desarrolladores de Python. El Spark Mllib es 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", lo que significa todas esas migas de pan que deja atrás cuando navegas y compras en línea. Si desea trabajar con el aprendizaje automático, Spark Mllib es un buen lugar para comenzar. Los algoritmos que admite se extienden sobre el rango completo. Si está comenzando un proyecto de pasatiempo, podría no ser la mejor idea.
- H2O: Está dirigido a procesos comerciales, por lo que respalda las predicciones para recomendaciones y prevención de fraude. 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 pueden utilizar para la mayoría de los proyectos.
- Cuidador de elefantes: Está hecho para algoritmos de aprendizaje automático distribuido. 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 un principiante, si solo está aprendiendo, es mejor usar algo más. Dicho esto, Mahout puede conectarse a muchos back-ends, por lo que cuando haya creado algo que busque si desea usar mahout para su frontend.
- Cloudera Oryx: Se utiliza principalmente para el aprendizaje automático en datos en tiempo real. Oryx 2 es una arquitectura que coloca 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 de lotes que construye el modelo básico y una capa de velocidad que modifica el modelo a medida que entran nuevos datos. Oryx se construye sobre Apache Spark y crea una arquitectura completa que implementa todas las partes de una aplicación.
- Eano: Theano es una biblioteca de Python que está integrada con Numpy. Este es el más cercano a Python que puedes obtener. Cuando usa theano, se le recomienda que tenga 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 excelente, en algunos casos C es más rápido. Para que theano pueda convertir a c y compilar haciendo que su programa se ejecute más rápido. Opcionalmente, puede agregar soporte de GPU.
- Flujo tensor: El tensor en el nombre señala un tensor matemático. Tal tensor tiene lugares 'n' en una matriz, sin embargo, un tensor es una matriz multidimensional. TensorFlow tiene algoritmos para hacer 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 hace que sea fácil de usar y funcionando rápidamente. TensorFlow puede ejecutarse en CPU, GPU o distribuirse a través de las redes, esto se logra mediante un motor de ejecución que actúa como una capa entre su código y el procesador.
- Mate: Cuando haya presentado un problema que puede resolver con el aprendizaje automático, lo más probable es que desee visualizar sus resultados. Aquí es donde entra mateplotlib. Está diseñado para mostrar valores de cualquier gráfico matemático y se usa en gran medida en el mundo académico.
CONCLUSIÓN
Este artículo le ha dado una idea sobre lo que está disponible para el programa en aprendizaje automático. Para obtener una imagen clara de lo que necesita, debe comenzar haciendo algunos programas y ver cómo funcionan. No hasta que sepa cómo se pueden hacer las cosas, ¿puede encontrar la solución perfecta para su próximo proyecto?.