
Machine Learning with Spark
Nick Pentreath
- Editorial
- Packt
- Año
- 2015
- Páginas
- ~338
- Nivel
- Básico
De qué trata
Obra de referencia escrita por Nick Pentreath que aborda el diseño e implementación de sistemas de aprendizaje automático distribuidos a escala masiva mediante Apache Spark (versión 1.x, enfocado en 1.2/1.3) y su biblioteca MLlib. La obra está dirigida a desarrolladores de software, científicos de datos e ingenieros de datos de nivel básico a intermedio que conocen los fundamentos de Scala o Python y necesitan aprender a entrenar y operar modelos sobre grandes volúmenes de datos distribuidos en clusters.
El texto introduce la arquitectura interna de Apache Spark, el manejo de Resilient Distributed Datasets (RDDs) y la configuración de clusters tanto locales como en Amazon EC2. Enseña a utilizar la biblioteca especializada Spark MLlib para construir sistemas de recomendación mediante Mínimos Cuadrados Alternantes (ALS); clasificadores binarios y multiclase con regresión logística, SVM y árboles de decisión; modelos de regresión lineal y árboles de regresión; agrupamiento con k-means; reducción de dimensionalidad con SVD y PCA; procesamiento distribuido de textos a escala con TF-IDF y Word2Vec; y canalizaciones en tiempo real mediante Spark Streaming.
Los modelos se desarrollan a través de casos prácticos con conjuntos de datos estándar: recomendación de películas con MovieLens, predicción de páginas web efímeras frente a perdurables con el dataset de Kaggle StumbleUpon Evergreen, estimación de demanda de bicicletas con el dataset Bike Sharing de UCI, y clasificación temática de textos con 20 Newsgroups. Su gran fortaleza es fijar con claridad los patrones de computación distribuida para analítica predictiva; sin embargo, al basarse en Spark 1.x y RDDs, deja fuera el API moderno de DataFrames/Datasets y los Spark ML Pipelines introducidos en versiones posteriores.
- Apache Spark 1.x
- Spark MLlib
- Scala
- Python
- RDD
- Filtrado colaborativo ALS
- Clasificación distribuida
- Regresión distribuida
- K-means
- Spark Streaming
- Word2Vec
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Motor de recomendación de películas
Sistema de recomendación distribuido basado en filtrado colaborativo que procesa el catálogo MovieLens usando el algoritmo ALS de Spark MLlib.
Clasificador de contenidos web (Evergreen)
Pipeline de clasificación binaria que entrena modelos de regresión logística y SVM sobre el dataset StumbleUpon de Kaggle para catalogar páginas web.
Predictor de demanda de bicicletas compartidas
Modelo de regresión en Spark que proyecta el volumen de alquileres del sistema Bike Sharing a partir de variables meteorológicas y temporales.
Canalización de procesamiento y búsqueda de textos masivos
Sistema de lenguaje natural distribuido sobre el corpus 20 Newsgroups que utiliza TF-IDF y Word2Vec para indexar y clasificar artículos.

