¿Qué es MLLib?
MLLib son las siglas de Apache Sparks Machine Learning Library. Esta biblioteca está diseñada para ser escalable y sencilla y puede combinarse con otras herramientas. Sparks ha creado una biblioteca que es rápida, compatible con muchos lenguajes y escalable. Esto ayuda a los científicos de datos a modelar y resolver problemas de datos en lugar de tener que lidiar con otras complejidades de los datos distribuidos, como la configuración y la infraestructura.
Esta biblioteca de aprendizaje automático escalable consta de varios programas de aprendizaje y Algoritmosque incluyen la agrupación, la clasificación, la regresión, el filtrado colaborativo y la reducción de dimensiones. También incluye varias primitivas de optimización subyacentes. MLLib se integra perfectamente con otros componentes de Spark, incluyendo DataFrames, Spark SQL y Spark Streaming. Esta librería se puede instalar con el runtime de Databrick.
Puede visitar la biblioteca en Python, Java y Scala, todas las cuales funcionan en aplicaciones Spark. En Python, interactúa con las librerías NumPy (Spark 0.9) y R (Spark 1.5). Esto también permite incluir la librería en flujos de trabajo de diseño completos. Puede utilizar cualquier fuente de datos Hadoop como archivos locales, HBase y HDFS e integrarlos en flujos de trabajo Hadoop. Esto también funciona en Apache Mesos, en la nube, de forma independiente o en Kubernetes.
MLLib también acepta la manipulación, el preprocesamiento, el entrenamiento de modelos y la predicción de datos a escala. Si desea transmitir de forma estructurada, puede utilizar modelos entrenados en la biblioteca para realizar predicciones. Además, el proveedor ofrece una versátil API de aprendizaje automático para tareas similares como la agrupación, la regresión y el aprendizaje profundo.
Otras funciones de MLLib
Potencia
La biblioteca cuenta con algoritmos de alta calidad que son 100 veces más rápidos que el famoso MapReduce en memoria. Son 10 veces más rápidos que MapReduce en disco. Utilizan iteración y consiguen mejores resultados para ti que las aproximaciones de una sola pasada de MapReduce.
Utilidades de flujo de trabajo
Algunas de las utilidades del flujo de trabajo son las siguientes:
- Conversiones de funciones como hashing, normalización y estandarización
- Ajuste de hiperparámetros y evaluación de modelos
- Persistencia de ML, que incluye la carga y el almacenamiento de pipelines y modelos
- Álgebra lineal distribuida como PCA y SVD
- Tareas estadísticas como pruebas de hipótesis y estadísticas de síntesis
Algoritmos
Algunos de los algoritmos son:
- Reglas de asignación, elementos frecuentes y minería del patrón secuencial
- Agrupaciones como las distribuciones mixtas de Gauss y K-means (valores)
- Algoritmo de modelización de temas para LDA (Latent Dirichlet Assignment)
- Árboles con gradiente, árboles de decisión y bosques aleatorios
- Recomendaciones utilizando ALS (mínimos cuadrados alternos)
- Algoritmos de regresión de supervivencia y regresión lineal general
Esta biblioteca se crea y mantiene como parte del programa Apache Spark. Se prueba y actualiza con cada versión de Spark.