MLlib o Spark MLlib es la librería de Machine Learning (ML) de Apache Spark. El framework de computación distribuida que incorpora esta librería permite hacer uso de una serie de algoritmos de Machine Learning.
Lo interesante de todo esto, es que los algoritmos de Machine Learning que están implementados dentro de MLlib pueden ser escalados y paralelizados, aprovechando toda la base de Spark.
Dentro de MLlib podemos encontrar dos APIs:
El cambio de pasar de API basada en RDDs a otra basada en DataFrames, se debe a que estos últimos unas estructuras de datos más rápidas y fáciles de manejar.
Dentro entre todas estas, cabría destacar las siguientes:
Incluye las técnicas de machine learning más básicas, como:
Los problemas de aprendizaje supervisado son aquellos en los que existe una variable explícita, algo concreto: edad, fuga, color de pelo… a predecir.
Para aprender a predecir dicha variable, tendremos que enseñar al modelo un histórico pasado, del cual ya sabemos la respuesta, es decir, se utilizan datasets etiquetados, en los que ya se tiene información acerca de lo sucedido. Es decir, para crear un modelo de detección de fraude, será necesario contar con un conjunto de datos donde se sepa quién ha hecho fraude y quién no.
Los supervisados se dividen en dos categorías, clasificadores y regresores, dependiendo de cómo sea la variable a predecir.
En los de clasificación la variable a predecir es una categoría o clase (valor categórico o discreto), por ejemplo: rubio/moreno/pelirrojo, fuga/no-fuga de cliente, software malicioso/no-malicioso, etc. En estos, el modelo da como resultado un valor de probabilidad para cada una de las categorías disponibles (distribución de probabilidad).
Para el caso de la regresión, la variable a predecir es numérica (normalmente continua pero no es estrictamente necesario), por ejemplo: edad, altura, valor de una casa, número de Gb que va a gastar un cliente, etc.
En Spark MLlib están implementados muchos de estos algoritmos, tal y como podemos ver en la siguiente tabla, obtenida de su documentación oficial:
Un sistema de recomendación es una subclase de un sistema de filtrado de información que busca predecir la "calificación" o "preferencia" que un usuario daría a un elemento. Se han vuelto muy populares en los últimos años y se utilizan en muchas áreas que incluyen: películas, música, noticias, libros, artículos de investigación, búsquedas, etiquetas sociales y productos en general.
Se pueden clasificar según la forma en que generen la lista de recomendaciones:
Spark MLlib permite el uso de filtros colaborativos, a través del algoritmo ALS (alternating least squares).
Los algoritmos de clustering son capaces crear una serie clústeres o grupos de observaciones que son similares entre sí.
Hay dos tipos de algoritmos de clustering:
Spark MLlib, permite de los siguientes algoritmos de clustering: K-means, Latent Dirichlet allocation (LDA), Bisecting k-means, Gaussian Mixture Model (GMM). Puedes obtener más información acerca de los mismos en el siguiente link.
Spark MLlib dispone de un buen número de algoritmos para la extracción, selección y transformación de variables. Tienes más información al respecto, en el siguiente link.
Spark MLlib disponer de una serie de métodos para optimizar el entrenamiento de los algoritmos, es decir, mejorar su velocidad de entrenamiento sin que haya pérdida en el rendimiento.
Para ver más detalles acerca de estos métodos, consulta el siguiente link.
Y hasta aquí esta introducción esta introducción al MLlib de Spark, en próximas entregas ahondaremos en algunos de los aspectos que se han visto aquí.
Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.
Recibe nuestra programación mensual de eventos online y la apertura de nuevas convocatorias de cursos
En Datahack Consulting SL trataremos los datos que nos facilites con la finalidad de enviarte información relacionada con tu solicitud sobre nuestros servicios, así como enviarte comunicaciones informativas sobre nuestra actividad. Podrás ejercer los derechos de acceso, rectificación, limitación, oposición, portabilidad, o retirar el consentimiento enviando un email a administracion@datahack.es. También puedes solicitar la tutela de derechos ante la Autoridad de Control (AEPD). Puedes consultar información adicional y detallada sobre protección de datos en nuestra Política de Privacidad.
Llámanos, escríbenos al email o por WhatsApp o inicia un chat en la web y hablamos