Que es SparkML

Spark-ML

Nota: (Spark-ML & (Framework) es la biblioteca de aprendizaje automático (ML) de Spark. Su objetivo facilitar que el aprendizaje automático sea escalable y fácil de usar).

 

Que es Spark-ML

-. SparkML es una herramienta de aprendizaje-automático de big-data. Lo primero SparkML no es lo mismo que SparkMLlib cual es esa diferencia:

  • SparkMLlib : Creado sobre la base de Spark-RDD , La utilización de varios algoritmos es complicada , En este momento admite más algoritmos que SparkML.
  • SparkML : Creado sobre la base de Spark-DataFrame , Utiliza canalización para facilitar la combinación de varios algoritmos , Utiliza la optimización del motor Catalyst para SQL.

-. En el escalado de aprendizaje automático que SparkML tiende a resolver, que otras bibliotecas, incluida SparkMLlib, no pueden resolver de manera efectiva. SparkML es fácil de usar para tareas comunes de transformación de datos, como proyección, filtrado, agregación y unión. Tenemos un ahorro de lineas de código, lo cual se traduce en simplificar la tarea, con la API de DataFrame y es mas complejo la API de RDD para SparkMLlib. 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.

Nota: En este diagrama marcado en rojo tenemos el tema que nos ocupa; y en el conjunto del diagrama una visión completa del Ecosistema de Apache Spark.

Nota: Que es DataFrame la API de ML usa la DataFrame de SparkSQL, en estos se preparan los datos para los modelos y se obtienen los resultados.

 

SparkML crear Modelo-ML:

DataFrame:

  • La API SparkML usa el DataFrame de SparkSQL como un conjunto de datos de ML, que puede contener una variedad de tipos de datos. Un determinado DataFrame en esta ocasion tendría diferentes columnas: que almacenan texto, vectores de funciones, etiquetas verdaderas y predicciones.

Transformador:

  • El Transformador es un algoritmo que puede transformar un marco de datos en otro marco de datos diferente. En un determinado modelo ML, tenemos un determinado Transformador; que transforma un DataFrame con características en un DataFrame con predicciones.

Estimador:

  • El Estimador es un algoritmo que se puede ajustar en un DataFrame para producir un Transformador. En un algoritmo de aprendizaje, con un Estimador que entrena un DataFrame; el cual produce un modelo.

Canalización:

  • La canalización encadena de varios transformadores y estimadores para especificar un flujo de trabajo de aprendizaje automático (ML).

Parámetro:

  • Todos los transformadores y estimadores ahora comparten una API; para especificar parámetros.

 

Algoritmos SparkML:

Clasificación:

-. Entre los Algoritmos-Clasificación que son compatible con SparkML expongo una relacion de este tipo.

  • Clasificador de árbol de decisión.
  • Clasificador de bosque aleatorio.
  • Clasificador de árbol potenciado por gradiente.
  • Clasificador de perceptrón multicapa.
  • Clasificador de uno contra el resto o (Uno contra todos).
  • Naive Bayes.

Predicciones numéricas:

-. Los Algoritmos-Numericos compatibles con SparkML la siguiente clasificación.

  • Regresión lineal.
  • Regresión lineal generalizada.
  • Regresión de árbol de decisión.
  • Regresión de bosque aleatorio.
  • Regresión de árbol potenciada por gradiente.
  • Regresión de supervivencia.
  • Regresión isotónica.

Agrupación:

-. Los Algoritmos-Agrupación compatibles con SparkML tenemos la siguiente relación de este tipo.

  • K-medias.
  • Asignación latente de Dirichlet (LDA).
  • Bisección de K-medias.
  • Modelo de mezcla gaussiana (GMM).

Filtración-Colaborativa:

-. Por los ultimo los de Algoritmos-Filtración-Colaborativa compatibles con SparkML .

  • Retroalimentación explícita.
  • Retroalimentación Implícita.
  • Escalamiento del Parámetro de Regularización.

 

Herramientas SparkML

Caracterización:

  • Extracción de características.
  • Transformación.
  • Reducción de dimensionalidad y selección.

Pipelines (Tuberias):

  • Herramientas para construir.
  • Evaluar y ajustar ML Pipelines o Tuberias).

Persistencia:

  • Guardar y cargar algoritmos.
  • Modelos y Pipelines.
  • Utilidades:
  • Álgebra lineal.
  • Estadística.
  • Manejo de datos, et

 

Recopilando:

El paquete SparkML proporciona una API de aprendizaje automático (Machine-Learning) basada en los marcos de datos que se están convirtiendo en la parte central de la biblioteca SparkSQL. Este paquete se puede usar para desarrollar y administrar las canalizaciones de aprendizaje automático. También proporciona extractores de características, transformadores, selectores y admite técnicas de aprendizaje automático como clasificación, regresión y agrupación.

 

  • Referencias: (Entorno-Moreluz)
  • Referencias: (Spark-ML)