Tanto scikit-learn como TensorFlow son en realidad bibliotecas de alto nivel.
En scikit-learn , puede implementar canalizaciones de aprendizaje automático con 5–10 líneas de código que requerirían cientos de líneas si las implementara desde cero. En mi experiencia, es una de las bibliotecas de aprendizaje automático más fáciles de trabajar.
TensorFlow podría ser un poco más de nivel bajo, pero si desea una versión de nivel superior de TensorFlow, puede envolver Keras sobre él. TensorFlow es ideal para el aprendizaje profundo, mientras que scikit-learn se destaca en el aprendizaje automático tradicional, por lo que los dos se complementan muy bien.
- Dado el mismo tamaño de lote, ¿hay algún beneficio en transferir la capacitación CNN de una sola GPU a múltiples GPU (para un tamaño de lote de 128 en 4 GPU, cada GPU procesará 32 muestras)?
- ¿Cuántas estadísticas y probabilidades debo saber para sumergirme en el aprendizaje automático?
- ¿Cuáles son las mejores prácticas para elegir el tamaño de estado oculto en RNN?
- ¿Podemos automatizar las búsquedas a través del aprendizaje automático? Tengo cientos de sitios web de diferentes fabricantes de automóviles, si tengo la intención de extraer toda la información (sobre todas las bicicletas / automóviles) junto con los enlaces.
- Cómo aprender el aprendizaje automático en Python (con ejemplos)
Spark ML es una envoltura de canalización sobre MLlib que es similar en términos de complejidad a las dos bibliotecas mencionadas anteriormente. La principal diferencia es que se ejecuta en Spark, lo que le permite realizar un procesamiento paralelo en una escala masiva. Eso no es realmente necesario para fines de aprendizaje. Hacer girar un clúster de Spark no sería el primer punto en mi agenda al aprender sobre el aprendizaje automático.
Azure Machine Learning es una herramienta excelente en muchos sentidos, pero también es lenta. Cada vez que ejecuta un fragmento de código, lleva segundos, si no minutos. Eso es realmente malo cuando estás iterando. Para comprender correctamente el aprendizaje automático, es importante iterar con frecuencia. Utilizo mucho Azure ML, pero principalmente para la producción y el mantenimiento de modelos. Por cierto, viene con un costo.
No tengo experiencia con Amazon Machine Learning, pero la última vez que lo leí, el consenso general fue que no era tan bueno como Azure.
En general, le recomendaría que profundice en los detalles de nivel inferior del aprendizaje automático antes de recurrir a bibliotecas y API de alto nivel, lo que me lleva a mi punto principal:
Uno no simplemente se relaja en ML.
El aprendizaje automático es inherentemente difícil. Si cree que puede conectar sus datos a API de alto nivel y obtener buenos resultados, se está engañando a sí mismo. Es muy importante comprender los conceptos teóricos de lo que estás haciendo.
Con eso en mente, mi consejo es este:
- Escriba al menos un algoritmo de aprendizaje automático desde cero. No tiene que ser más complejo que la regresión lineal con descenso de gradiente.
- Experimenta con scikit-learn. Es rápido, fácil y gratis. Le permite iterar con frecuencia y comprender lo que está haciendo.
- Después de tener una buena comprensión de los conceptos básicos, expanda a otras bibliotecas y API.