Sunteți pe pagina 1din 25

TEMARIO BOOTCAMP BIG DATA &

MACHINE LEARNING
IV EDICIÓN
BOOTCAMP BIG DATA & MACHINE LEARNING

OBJETIVO DEL BOOTCAMP

Objetivo del módulo: Dominarás los conocimientos necesarios para implantar cualquier


arquitectura y para la realización de los desarrollos tanto técnicos como analíticos
necesarios dentro del mundo del Big Data.

TEMARIO

1. Gestión del dato


Objetivo del módulo: Dominarás las bases del Big Data: Business Intelligence,
DataWarehousing, Data Management, leyes de protección de datos y el contexto en el que
se mueve el mundo del Big Data

Duración: 28 horas

Data 101 (8h)


● Metadata
● Tipos
● Formatos
● Estructura
● Datos en tránsito vs Datos en reposo

Data Management (8h)

● Público vs Privado
● Relational
● Web
● Internet of Things

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

Data Warehouse (6h)


● Volumen
● Velocidad
● Variedad
● Veracidad
● Valor

Casos de uso de Big Data (4h)


Protección de Datos (2h)
● Master Data Management (MDM)
● Procedencia de los datos
● Gestión del ciclo de vida de los datos
● Seguridad y gestión de acceso
● Privacidad de los datos
● Cuestiones éticas y legales

2. Big Data 
Objetivo del módulo: Dominarás cómo montar arquitecturas Big Data, tanto on premise
como en cloud, así cómo el procesamiento óptimo para trabajar con los grandes y variados
tipos de datos disponibles.
Duración: 48 horas

Big Data Architecture (24h)


    ● Componentes
    ● Data Pipeline
Requisitos de datos
Recolección de datos
    ● Data Scrapping
    ● Crawling
Limpieza de datos
    ● Validación de datos
    ● Deduplicación
 

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

   ● Agregación de datos
   ● Segmentación de datos

Almacenamiento de datos
    ● Data lake architectures
    ● HDFS, S3
Data Wrangling y formatos estándar
    ● CSV
    ● XML
    ● JSON
    ● Avro
Bases de datos y almacenes
    ● Relacional: MySQL
    ● No relacional: HBase, Cassandra
    ● Almacenes: Hive
Cloud Computing
    ● Conceptos básicos
    ● Ejemplo: AWS

Big Data Processing (Spark & Scala) (24h)


Scala

    ● Integración con Java


    ● Implícitos y explícitos
    ● Literals
    ● Values
    ● Variables
    ● Types
    ● Programación funcional
    ● Tuplas
    ● Condicionales
    ● Loops

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ●Funciones
    ● Colecciones
    ● Clases
    ● Objetos
    ●  Traits

Introducción

    ● Casos de uso
    ● Casos de éxito
    ● Arquitectura
        ○ Arquitectura batch
        ○ Arquitectura lambda
        ○ Arquitectura kappa
        ○ Spark standalone
            ■ Spark shell tools
            ■ Master
            ■ Worker
            ■ Launching a job
                 ● Spark submit
                 ● Spark UI

Spark Core

    ● Yarn
    ● Driver
        ○ SparkContext - SparkSession
        ○ DAG
        ○ Configuration
    ● Executors
    ● Paralelismo
    ● Persistencia

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ● Particiones
    ● Formatos de fichero
        ○ Serialización
        ○ CSV
        ○ Parquet
        ○ Sequence files
        ○ Avro
        ○ Json
    ● Ingesta
    ● Guardado
        ○ HDFS
        ○ NoSQL
        ○ S3
    ● RDDs
        ○ Transformaciones
            ■ map
            ■ flatMap
            ■ richMap & richFlatMap
            ■ filter
            ■ group
            ■ Transformaciones entre 2 objetos
    ● union
    ● Intersection
    ● substract
    ● cartesian
        ○ Acciones
            ■ collect
            ■ count
            ■ countbyValue
            ■ take
            ■ top
            ■ takeOrdered
            ■ reduce
            ■ aggregate
            ■ foreach
 
KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

  
        ○ Pares

            ■ Operaciones
                ● reduceByKey
                ● groupByKey
                ● values
                ● sortByKey
                ● mapValues
                ● flatMapValues
                ● substractByKey
                ● join
                ● rightOuterJoin
                ● leftOuterJoin
                ● cogroup
                ● countByKey
                ● collectAsMap
                ● lookup

    ● Datasets
        ○ Schemas
        ○ Temporary Views and Global Temporary Views
        ○ Interoperability with RDD

    ● Cache
    ● Persist
    ● Variables compartidas
        ○ Broadcast
        ○ Acumuladores

    ● Particionamiento

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

        
Spark SQL
    ● Hive
        ○ HiveContext
    ● Impala
    ● DataFrames
        ○ registerTempTable
        ○ Tipos
            ■ estructurados
            ■ no estructurados
    ● Caching
    ● JDBC/ODBC
        ○ Load data
            ■ RDD to Dataframe
        ○ Saving data
    ● UDFs

Spark Streaming

    ● Realtime vs near real time (microbatching)


    ● Exactly one, at least once, at most once
    ● API
    ● DStream
    ● DataSources
        ○ Apache Kafka
    ● Ventanas
    ● Structured streaming

Analytics

    ● Conector con NoSQL (Cassandra)


    ● Conector con Elasticsearch
    ● Introducción a Kibana

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

Tuning

    ● Principios básicos del tuning


    ● Configuración Spark Conf
    ● Jobs, tasks y stages
    ● Registros de Spark
    ● Paralelismo
    ● Serialización
    ● Gestión de memoria
    ● Aprovisionamiento
    ● Particionamiento
    ● Cache
    ● Coalesce

Spark Machine learning (Introducción):

     ● Algoritmos:
        ○ Supervisados
        ○ No supervisados
        ○ Semisupervisados
        ○ Estadísticos
        ○ Clasificación
        ○ Clustering
        ○ Collaborative filtering
        ○ Reducción de dimensiones
     ● API

Spark GraphX (Introducción):

    ● GraphFrame

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

3. Big Data Analytics & Machine Learning


Objetivo del módulo: ADominarás los algoritmos y herramientas de análisis que se utilizan
para llevar a cabo las tareas de analítica de los datos en las diferentes disciplinas: Data
Mining, Machine Learning, Deep Learning, NLP, Searching, etc. así cómo las herramientas
de visualización más demandadas del mercado.

Duración: 206 horas

Exploración y Visualización de Datos (16h)

    ● Tableau Desktop y sus módulos


        ○ Elementos de una visualización
    ● Conexión a los datos
        ○ Creación de una conexión
        ○ Conexión en vivo vs. creación de extractos
        ○ Opciones de uso compartido
    ● Simplificación y ordenación de datos
        ○ Métricas y KPIs
        ○ filtrado de datos, creación y ordenación de filtros
    ● Organización de los datos
        ○ Grupos, conjuntos y creación y uso de jerarquías
    ● División de datos por fecha
        ○ Manejo de fechas y fechas personalizadas
    ● Mapeo geográfico de datos
        ○ Mapas, capas y navegación en ellos
    ● Panel de análisis
        ○ Líneas y bandas de referencia
        ○ Análisis instantáneo
        ○ Pronósticos
        ○ Evolución de los datos
    ● Análisis de datos con cálculos de tablas rápidas
    ● Personalización de los datos
        ○ Creación de campos calculados junto con funciones de texto, fechas, lógicas. y
funciones LOD (Level of detail)
    ● Configuración y diseño avanzado de dashboards

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

     ● Visualización de la relación entre valores numéricos


        ○ Diagramas de dispersión
        ○ Creación de conjuntos
        ○ Mezclado de conexiones
        ○ Regresión
        ○ Clustering
    ● Visualización de valores específicos
        ○ Mapas de calor
        ○ Tablas cruzadas
        ○ Tablas resaltadas
        ○ Totales y subtotales junto con cambios en la agregación
    ● Visualización de desglose de un todo
        ○ Gráficos circulares
        ○ Gráficos donut
        ○ Nube de palabras
        ○ Mapas de árbol
    ● Visualización de distribuciones
        ○ Agrupaciones e histogramas
        ○ Diagrama de cajas
    ● Análisis visual.
        ○ Recomendaciones en la representación de los datos.

Ad Hoc — D3.js (8h)

Estadística (24h)

Introducción R y Notebooks

    ● Comandos básicos
    ● Funciones
    ● Instalación de paquetes
    ● Gráficos

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

Estimadores estadísticos

    ● Media aritmética
    ● Media geométrica
    ● Varianza/desviación típica
        ○ Desigualdad de Chebyshev
    ● Mediana
    ● Cuartiles
    ● Percentiles
    ● Moda

Funciones de probabilidad

    ● Boxplot
    ● Histograma
    ● Función de densidad de probabilidad
    ● Función de distribución acumulativa
    ● Funciones de probabilidad conocidas:
        ○ Distribución uniforme
        ○ Distribución de bernoulli
        ○ Distribución binomial
        ○ Distribución de Poisson
        ○ Distribución exponencial
        ○ Distribución gaussiana
        ○ Distribución Chi-cuadrado

Relaciones entre dos variables:

    ● Covarianza
    ● Correlación
    ● Regresión lineal

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ● Teoría de la información
        ○ Entropía
        ○ información mutua
    ● Teorema de Bayes:
        ○ Red Bayesiana

Muestreo

    ● Estimadores
        ○ Sesgo
        ○ Varianza
    ● Tipos de muestreo
        ○ Aleatorio simple
        ○ Estratificado

Margen de error:

    ● Distribución gausiana
        ○ Varianza conocida
        ○ Varianza desconocida

Tests estadísticos

    ● tipos de error
    ● p-value
    ● Test de 2 grupos:
        ○ Comparando las medias: t-Student, Welchs
        ○ Comparando la varianza: Fisher
    ● Tests de X grupos:
        ○ Una variable dependiente:
            ■ ANOVA
            ■ Welchs-ANOVA
        ○ 2 way ANOVA
        ○ MANOVA

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ● Tablas de contingencia:
        ○ Chi-cuadrado
    ● Tests de bondad:
        ○ Chi-cuadrado
        ○ Test Kolmogorov–Smirnov
    ● Estimador máxima verosimilitud/Estimador máximo a posteriori

Álgebra (24h)

    ● Preliminares
        ○ ¿Qué es el Álgebra Lineal?
        ○ ¿Por qué debemos estudiar Álgebra Lineal?
        ○ Números
        ○ Cadenas
        ○ Booleanos
        ○ AND, OR y NOT
        ○ Condicionales
        ○ Conjuntos
        ○ Listas
        ○ Tuplas
        ○ Diccionarios
        ○ Objetos matemáticos en Álgebra Lineal
        ○ Librerías en Python para Álgebra Lineal
    ● Vectores
        ○ ¿Qué es un vector?
        ○ Los vectores son funciones
        ○ ¿Qué podemos representar con un vector?
        ○ Suma de vectores
        ○ Multiplicación de un vector por un escalar
        ○ Suma y producto escalar combinados
        ○ Combinación lineal
        ○ Vectores en GF(2)
        ○ Producto escalar

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ● Espacios vectoriales
        ○ Definición de espacio vectorial.
        ○ Combinaciones lineales
        ○ Generadores
        ○ Sistema de coordenadas
    ● Matrices
        ○ ¿Qué es una matriz?
        ○ Suma de matrices
        ○ Multiplicación de una matriz por un escalar
        ○ Multiplicación matricial
        ○ Traspuesta de una matriz
        ○ Matriz inversa (usando Gauss)
        ○ Rango de una matriz
    ● Determinantes
        ○ ¿Qué es un determinante?
        ○ Operaciones por filas
        ○ Matriz invertible
        ○ Regla de Sarrus para el determinante de orden 3
    ● Sistema de ecuaciones
        ○ ¿Qué es un sistema de ecuaciones?
        ○ Tipos de sistemas de ecuaciones
        ○ Cálculo de soluciones de un sistema de ecuaciones
    ● Aplicaciones prácticas
        ○ Reducción de la resolución
        ○ Difuminar en imágenes
        ○ Códigos de corrección de errores
    ● Funciones lineales
        ○ De matrices a funciones
        ○ De funciones a matrices
        ○ Función lineal
        ○ Núcleo de una función lineal
        ○ Inner product
        ○ Outer product

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ● Bases
        ○ Sistemas de coordenadas
        ○ Representación de las coordenadas de un vector
        ○ Mínimo número de vectores
        ○ Bosque de extensión mínima
        ○ Bases
        ○ Cambio de base
    ● Dimensiones
        ○ Puntos importantes
        ○ Dimensión
        ○ Subbases
        ○ Estimación de la dimensión
        ○ Suma directa de subespacios vectoriales
    ● Eliminación Gaussiana
        ○ Utilidades
        ○ Forma escalonada
        ○ Factorización LU de una matriz
    ● Inner Product
        ○ Distancia, norma, longitud
        ○ Producto interno
        ○ Ortogonalidad
        ○ Descomposición de un vector en componentes paralelos y perpendiculares
    ● Método de los mínimos cuadrados
        ○ Resolver un SI
        ○ Cálculo de la recta que pasa por varios puntos no alineados
    ● Criptografía
        ○ Ejemplo práctico
    ● Valores y vectores propios
        ○ Valores y vectores propios
        ○ Ecuación característica
        ○ Polinomio característico

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ● Números complejos
        ○ Suma
        ○ Multiplicación
        ○ División
        ○ Conjugado
        ○ Valor absoluto
        ○ Argumento
        ○ Fórmula de Euler
        ○ Solución de ecuaciones con raíces imaginarias
    ● PageRank

Data Mining (24h)

Preprocesamiento
● Normalización
● Missing values, outliers
● Variables categóricas

Aprendizaje supervisado (introducción)

● Regresión lineal
● Regresión logística
● LOGIT; PROBIT
● Modelos lineales
generalizados
● LDA

Aprendizaje no supervisado

● Clustering
● Métodos jerárquicos
● Métodos no jerárquicos
● Introducción a Redes
Neuronales

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

Reducción de la dimensionalidad
● PCA (factorización matricial)
● Análisis factorial

Machine Learning 101 (24h)

● Introducción y conceptos fundamentales


○ ¿Qué es ML? diferencias con Inteligencia artificial y Deep Learning
○ Tareas del ML: aprendizaje supervisado, no supervisado, aprendizaje por
Terminología y notación
○ Función de coste
○ Ciclo del vida de ML

● Conceptos básicos en ML
○ Maldición de la dimensionalidad
○ Problema del overfitting
○ Entrenamiento vs test vs complejidad
○ Compromiso sesgo-varianza

● Selección del modelo

○ Validación cruzada

● Regularización

○ Ridge regression y Lasso

● Selección de características:
○ Métodos de filtrado
○ Métodos Wrapper: selección hacia delante y hacia atrás.
○ Métodos Embedded

● Alternativa: reducción de la dimensionalidad.

● Árboles de decisión.

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

● Árboles de decisión

● Métodos de agrupamiento
○ El método Boostrap
○ Bagging, Random Forest
○ Boosting
○ Boosted Trees

● Regularización y selección de características en métodos de agrupamiento


● Partial Dependence Plots
● Máquinas de vectores Soporte

○ Hiperplano separador
○ Errores en clasificación: coste C.
○ Fronteras no lineales: métodos Kernel
○ Búsqueda de parámetros libres SVMs
○ Selección de características y regularización con SVMs
● SVMs para regresión
● Otros métodos Kernel

○ Ridge Kernel Regression


○ Kernel PCA
● Redes neuronales
○ De regresión logística a NN
○ Justificación de Redes Neuronales
○ Representación y función de coste
○ Backpropagation
○ Predicción con NN
● Sistemas de recomendación

○ Motivación
○ Ranking / popularidad
○ Basado en contenido
○ Filtrado colaborativo
      ■ user-user
      ■ item-item
○ Factores latentes

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

Deep Learning (32h)

Conceptos básicos de redes neuronales


Principales variantes: CNN, RNN
Diseñando redes neuronales
Herramientas

● CNTK (Microsoft)
● TensorFlow (Google)
● Torch (usado en Facebook y Twitter)
● Otros: Deeplearning4j, Theano, Caffe, Neon, MXNet, and Paddle

Ejemplos prácticos

SCRUM para Big Data (20h)


● Introducción
● Agile and Scrum Overview
● Agile Overview
● Necesidad de Agile
● Metodologías Ágiles mas comunes
● Agile Manifesto
● Agile Principles
● What has changed?
● Scrum Overview
● Roles de Scrum
● Product Owner
● Scrum Master
● Scrum Team
● Ceremonias de Scrum
● Sprint
● Sprint Planning
● Daily Scrum meeting
● Sprint Review
● Sprint Retrospective
● Artefactos de Scrum

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

● Product Backlog
● Sprint Backlog
● Burndown Chart
● Ciclo de vida típico de un proyecto Ágil
● Introduccion: Visión
● Planificacion: Product Backlog, Roadmap, Release Plan
● Implementación: Iteration Plan, daily Standup, Revisión y Retrospectiva
● Scalando Scrum
● Scalability of Scrum
● Scrum de Scrums (SoS)
● Mapeando Roles tradicionales con Roles de Scrum
● Revisión del Backlog de Preguntas y Expectativas

Emprendimiento (8h)

Pitch & Skills(2h)

NLP (24h)
Introducción

● ¿Para qué sirve NLP? Explicación de problemas típicos


● Descripción uso Deep Learning vs Machine Learning
● Límites actuales de NLP
● ¿Qué hemos resueltos y qué falta por resolver?
● Explicación del pipeline clásico

Preprocess

    Libraries
● Spacy
● Levensthein distance
● Re

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ¿Qué haremos?

● Tokenización
● Stemming
● Edit Distance
● Regex

Features

    Libraries
● Spacy
● Sklearn
● Numpy

    ¿Qué haremos?

● Empezar con features. Qué denominamos features. Cuáles son las


más relevantes para NLP.
● Diferentes tipos de features para diferentes tipos de problemas y
combinaciones de features. Ejemplos como Part of Speech.
● Ver features para clasificadores como Unigrams y el modelo de Bag of
Words. Ver deficiencias de BoW y saltar a N-Grams, y Bag of grams.
● Terminar Con Parseo, y cómo entender relaciones entre palabras y
usarlas. ¡Más features!

Visualización de features

    Libraries

● seaborn
¿Qué haremos?
● Breve repaso de exploración de features
● Visualización de distribuciones de palabras
● Distribuciones por temática

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

Supervised Learning

    Libraries
● Spacy
● Sklearn
● Numpy

    ¿Qué haremos?

● ¿Qué hacemos con las features?


● Modelos simples como bag of words
● Modelos de clasificación y predicción
● Modelado de lenguaje, ¡predecir palabras!
● Named Entity Recognition
● Spam detection
● Sentiment Analysis

Unsupervised learning

    Libraries

● Gensim
¿Qué haremos?
● ¿Cómo descubrir diferentes temáticas en textos sin supervisión, y qué
palabras definen cada temática
■ Topic modelling
■ SVD
■ Latent Dirichlet Allocation

Word embeddings

    Libraries

● Gensim

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

    ¿Qué haremos?

● ¿Qué son?
● ¿Para qué se usan? Ejemplos prácticos
● Cómo crear nuestros propios embeddings
● Visualización de embeddings

Revisit Supervised Learning con deep learning.

    Libraries

● Keras
● pytorch?

    ¿Qué haremos?
● CNN para clasificación de texto
● RNN para clasificación de texto
● RNN para generar texto
● Seq2Seq models para Machine Translation

Information Retrieval 

   Libraries
● Sklearn
● Spacy

    ¿Qué haremos?

● Índices Invertidos I
● Boolean Search
● Precision vs recall
● ¿Qué es un documento?
● Zonas y distribución de pesos
● TF-IDF
● Vector space model

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io
BOOTCAMP BIG DATA & MACHINE LEARNING

● Calcular proximidades
    ○ Cosine Distance
● Query Term proximity
● Latent Semantic Indexing
● Learning Ranking Functions

Master Classes
● CTO (común para todos los bootcamps)
● Chatbots
● Voice Analytics
● Bases de Datos (común para todos los bootcamps)
● DataOps
● Emprendimiento
● Pitch
● Docker
● ETL

*Nota: El contenido exacto de cada módulo puede sufrir variaciones de una edición a otra, ya que los
adaptamos a las novedades del mercado en cada edición, para asegurar siempre la formación más puntera.

KeepCoding 
916 29 57 61  - 619892801
cursos@keepcoding.io

S-ar putea să vă placă și