Descripción
El análisis de datos está presente en nuestras vidas: los periódicos hablan de noticias virales, las empresas buscan científicos de datos, los comercios nos ofrecen ofertas personalizadas en función de nuestras costumbres y nosotros mismos engrasamos el sistema ofreciendo información personal gratuita desde nuestras redes sociales, búsquedas en Internet e incluso desde dispositivos inteligentes para controlar nuestra actividad física diaria.
Duración
3 meses
300 horas
Objetivos
-Se presentan los conocimientos y las tecnologías que permitirán participar en esta nueva era de la información, regida por el Big Data y el aprendizaje automático.
-Se analiza la “vida” de los datos paso a paso, mostrando cómo obtenerlos, almacenarlos, procesarlos, visualizarlos, y extraer conclusiones de ellos; es decir, mostrar el análisis de datos tal y como es: un área fascinante, que requiere muchas horas de trabajo cuidadoso.
– Asimismo, se analiza el lenguaje de programación Python, el más utilizado dentro del análisis de datos debido a la multitud de bibliotecas que facilita, pero no se limita al “estándar”, sino que presenta tecnologías actuales que, con Python como interfaz, permitirán escalar el tamaño de los datos al máximo. Por ello, nuestro viaje con los datos nos llevará, por ejemplo, a conocer la base de datos MongoDB y el entorno de procesamiento Spark.
Resumen temario
PRÓLOGO
CAPÍTULO 1. LECTURA DE FICHEROS
- Introducción
- CSV
- TSV
- Excel
- JSON
- XML
- Conclusiones
- Referencias
CAPÍTULO 2. WEB SCRAPING
- Introducción
- Ficheros incluidos en la página web
- URIs, URLs y URNs
- Ejemplo: datos de contaminación en Madrid
- Datos que forman parte de la página
- Lo que oculta una página web
- Un poco de HTML
- Navegación absoluta
- Navegación relativa
- Ejemplo: día y hora oficiales
- Datos que requieren interacción
- Selenium: instalación y carga de páginas
- Clic en un enlace
- Cómo escribir texto
- Pulsando botones
- Localizar elementos
- XPath
- Navegadores headless
- Conclusiones
- Referencias
CAPÍTULO 3. RECOLECCIÓN MEDIANTE APIS
- Introducción
- API Twitter
- Acceso a Twitter como desarrollador
- Estructura de un tweet
- Descargando tweets
- API-REST
- Ejemplo: API de Google Maps
- Ejemplo: API de OMDB
- Referencias
CAPÍTULO 4. MONGODB
- Introducción
- ¿De verdad necesito una base de datos? ¿Cuál?
- Consultas complejas
- Esquema de datos complejo o cambiante
- Gran volumen de datos
- Arquitectura cliente-servidor de MongoDB
- Acceso al servidor
- Puesta en marcha del servidor
- Bases de datos, colecciones y documentos
- Carga de datos
- Instrucción insert
- Importación desde ficheros CSV o JSON
- Ejemplo: inserción de tweets aleatorios
- Consultas simples
- find, skip, limit y sort
- Estructura general de find
- Proyección en find
- Selección en find
- find en Python
- Agregaciones
- El pipeline
- $group
- $match
- $project
- Otras etapas: $unwind, $sample, $out,
- $lookup
- Ejemplo: usuario más mencionado
- Vistas
- Update y remove
- Update total
- Update parcial
- Upsert
- Remove
- Referencias
CAPÍTULO 5. APRENDIZAJE AUTOMÁTICO CON SCIKIT-LEARN
- Introducción
- NumPy
- pandas (Python Data Analysis Library)
- El conjunto de datos sobre los pasajeros del Titanic
- Cargar un DataFrame desde fichero
- Visualizar y extraer información
- Transformar DataFrames
- Salvar a ficheros
- Aprendizaje automático
- Nomenclatura
- Tipos de aprendizaje
- Proceso de aprendizaje y evaluación de modelos
- Etapa de preprocesado
- Biblioteca scikit-learn
- Uso de scikit-learn
- Preprocesado
- Clasificación
- Regresión
- Análisis de grupos
- Otros aspectos de scikit-learn
- Conclusiones
- Referencias
CAPÍTULO 6. PROCESAMIENTO DISTRIBUIDO CON SPARK
- Introducción
- Conjuntos de datos distribuidos resilientes
- Creación de RDDs
- Acciones
- collect, take y count
- reduce y aggregate
- Salvar RDDs en ficheros
- Transformaciones
- map y flatMap
- filter
- RDDs de parejas
- Transformaciones combinando dos RDDs
- Ejemplo de procesamiento de RDD
- Conclusiones
- Referencias
CAPÍTULO 7. SPARKSQL Y SPARKML
- SparkSQL
- Creación de DataFrames
- Almacenamiento de DataFrames
- DataFrames y MongoDB
- Operaciones sobre DataFrames
- Spark ML
- Clasificación con SVM
- Regresión lineal
- Análisis de grupos con k-means
- Persistencia de modelos
- Referencias
CAPÍTULO 8. VISUALIZACIÓN DE RESULTADOS
- Introducción
- La biblioteca matplotlib
- Gráficas
- Gráfica circular
- Gráfica de caja
- Gráfica de barras
- Histograma
- Conclusiones
- Referencias
- APÉNDICE. INSTALACIÓN DEL SOFTWARE
- Introducción
- Python y sus bibliotecas
- Windows 10
- Linux
- Mac OS
- MongoDB
- Windows 10
- Linux
- Mac OS
- Apache Spark y PySpark
- Windows 10
- Linux
- Mac OS
ÍNDICE ANALÍTICO