domingo, 8 de julio de 2018

Apache Spark MLlib

Apache Spark Mllib incluye diferentes algoritmos de Machine Learning. Estas librerías se encuentran en 2 paquetes : spark.mllib  y  spark.ml

spark.mllib contiene la API original de spark construida sobre RDDs. Estos algoritmos incluyen correlación, clasificación y regresión, filtrado colaborativo, clustering y reducción de dimensionalidad.

spark.ml contiene la API construida sobre Dataframes, el cual es el core de Spark SQL. Esto puede ser utilizado para hacer una tubería de maching learning, es decir combinar técnicas o limpiar los datos y luego procesarlos. Este paquete provee: selectores, transformadores, extractores y técnicas de maching learning como clasificación, regresión y clustering.

La ciencia de datos o Data science es la disciplina que extraer el conocimiento de grandes conjuntos de datos (estructurados o no estructurados) para proporcionar información a los equipos de negocios e influir en las estrategias comerciales. El papel del científico de datos es resolver problemas que no son fáciles de resolver utilizando los métodos numéricos tradicionales. Normalmente estos cientificos de datos utilizan modelos de aprendizaje automático.

Existen diferentes tipos de modelos de aprendizaje automático:
  • aprendizaje supervisado,
  • aprendizaje sin supervisión,
  • aprendizaje semi-supervisado
  • aprendizaje reforzado.
Entre los algoritmos soportados por Spark MLlib y utilizados por los científicos de datos, podemos nombrar:


  • Naive Bayes es un algoritmo de aprendizaje supervisado utilizado para la clasificación. Se basa en la aplicación del teorema de Bayes y un conjunto de suposiciones de independencia condicional.
  • El algoritmo k-means o k-means clustering crea k grupos a partir de un conjunto de objetos para que los miembros de cada grupo sean más similares entre sí.
  • Una máquina de vectores de soporte (SVM) es un algoritmo de aprendizaje supervisado que se utiliza para encontrar el límite que separa las clases por un margen tan amplio como sea posible. Dado un conjunto de ejemplos de entrenamiento, cada uno marcado como perteneciente a una de dos categorías, un algoritmo de entrenamiento SVM construye un modelo que asigna nuevos ejemplos en una categoría u otra. Las aplicaciones de SVM incluyen bioinformática, análisis de texto y reconocimiento de imágenes.
  • Los árboles de decisión se utilizan en muchos tipos de problemas de aprendizaje automático, incluida la clasificación multiclase. Spark MLlib es compatible tanto con un algoritmo de árbol de decisión básico como con conjuntos de árboles. Hay dos algoritmos de conjunto disponibles: árboles con gradiente mejorado y bosques aleatorios.
Como una primer vistazo, esta bien hasta aquí, pero debemos seguir en próximos posts, es decir : 

continuará...