IFCD66. Data Scientist (Analista de datos masivos y científico de datos).
Horas: 310 Formato: HTML
Objetivos
- Extraer el conocimiento de utilidad para un propósito en concreto a partir de grandes volúmenes de datos de diferentes fuentes disponibles en formato digital
Descripción
- 1. Sistemas de apoyo a la toma de decisiones y gestión de datos
- Caracterización de la aplicación del lenguaje Python:
-
- Lenguaje Python.
- Ejecución de programas Python.
- Objetos en Python.
- Tipos numéricos y dinámicos.
- Gestión de cadenas de texto: listas, diccionarios, tuplas y ficheros.
- Sentencias Python: asignaciones, expresiones e imprimir resultados.
- Tests de variables, reglas de sintaxis.
- Bucles for y while.
-
- Interpretación la aplicación de protocolos API:
-
- Uso de APIs remotas.
- Integración de las aplicaciones con APIs remotas.
- Ejemplos de aplicación de APIs remotas en lenguaje Python.
-
- Programación de un algoritmo modular en lenguaje Python:
-
- Programación de módulos.
- Fundamentos de programación de clases.
- Utilización de APIs e integración con aplicaciones Python.
- Distinción de los conceptos Cloud básicos.
- Principios de computación en la nube (Cloud Computing).
- Ingeniería de servicios: software as a service, Platform as a service, Infrastructure as a Service.
- Ejemplos de aplicaciones relevantes en la industria.
-
- Uso de BBDD NoSQL y nuevos modelos de datos (estructurados y no estructurados):
-
- Fundamentos del paradigma NoSQL.
- Distribución de los datos y procesamiento en paralelo.
- Principales modelos de datos en el mundo NoSQL: clave-valor, orientación a documentos, grafos de propiedad, grafos de conocimiento.
-
- Conocimiento del almacenamiento Big Data y las herramientas de procesamiento masivo:
-
- Aplicaciones basadas en la gestión y el análisis de grandes volúmenes de datos.
- Fundamentos arquitectónicos de los sistemas distribuidos.
- Principales arquitecturas de referencia.
- Nuevos modelos de datos.
- Sistemas de ficheros distribuidos.
- Document stores.
- Bases de datos de grafos.
-
- Evaluación de las metodologías y técnicas aplicadas en la resolución de problemas y justificación de los planteamientos, decisiones y propuestas realizadas:
-
- Sistemas de soporte a la toma de decisiones.
- Análisis de los datos: análisis descriptivo, predictivo y prescriptivo.
- Casos de uso: gestión y análisis de grandes volúmenes de datos.
-
- Identificación de los factores clave de un problema complejo en el contexto de un proyecto de analítica:
-
- Contexto de la sociedad /economía de los datos y el paradigma de las aplicaciones orientadas a los datos.
- Fundamentos de bases de datos relacionales: lenguaje SQL.
- Necesidad de un cambio de paradigma: NoSQL. El principio ‘one size does not fit all’.
- Principales modelos de datos en el mundo NoSQL: Key-Value, Documento-oriented, Property Graphs y Knowledge Graphs.
- Fundamentos arquitectónicos: sistemas distribuidos, escalabilidad, paralelismo. Principales arquitecturas de referencia (shared nothing, shared disk, shared memory).
-
- Distinción y aplicación de los nuevos modelos de datos:
-
- Sistemas de archivos distribuidos: conceptos y principios (distribución, replicación, particionamiento horizontal vs. Vertical, formatos de archivos especializados).
- Conocimiento y utilización deHadoop File System (HDFS), Apache Avro, Apache Parquet, Key-value stores: Apache HBase.
- Document stores: conceptos y principios (mecanismos de réplica, sharding, consultas espaciales)
- Inmersión a MongoDB y el Aggregation Framework.
- Graph databases: property y knowledge graphs. Conceptos y principios Modelización en grafo, consultas regulares. Introducción a Neo4j y Cypher.
- Knowledge graphs. Conceptos y principios: el paradigma open / linked data, RDF y SPARQL. Introducción a GraphDB.
-
- Identificación y análisis de problemas complejos en el área de análisis de datos y planteamiento de soluciones:
-
- Principales conceptos de los flujos de procesamiento de datos en sistemas de gran volumen.
- Fases principales de la gestión de grandes volúmenes de datos y retos asociados.
- Roles del ingeniero de datos en las fases principales de la gestión de datos.
- Limitaciones principales de los modelos tradicionales de gestión de los datos.
- Nuevos modelos de datos.
-
- Planificación y ejecución de un trabajo de análisis de datos con una propuesta metodológica:
-
- Definición de un conjunto de datos de partida y una serie de necesidades de negocio que requieran una agregación de los datos, una captura de datos externa, un proceso ETL, análisis de datos y una visualización final de los resultados obtenidos.
- Implementación de un sistema de archivos distribuido.
- Uso de Hadoop para almacenar un conjunto de datos de actividad de red social. Almacenamiento de un conjunto de datos en un entorno HDFS.
- Modelización de grafos: almacenar un conjunto de datos en una base de datos documental u orientada a grafos.
-
- Elección de un repositorio adecuado para los datos del problema y definición de una estrategia de almacenamiento:
-
- Ciclo de vida de los datos: diseño de bases de datos, gestor de los flujos de datos, arquitectura de los sistemas de extracción, carga y transformación de los datos y sistemas de almacenamiento y procesamiento distribuido.
- Gestión de los datos: límites del modelo relacional y distribución de los datos.
-
- Caracterización de la aplicación del lenguaje Python:
- 2. Gestión y procesamiento de datos
- Evaluación crítica de las metodologías y técnicas a aplicar en la resolución de problemas y justificación de los planteamientos, decisiones y propuestas realizadas
-
- Fundamentos de gestión de los datos para un proyecto con múltiples fuentes de entrada de datos
- Técnicas de organización de modelos de datos desde un punto de vista lógico y físico
-
- Identificación de los flujos de datos y ETL (Extract Transform Load)
-
- Fundamentos de Data Warehousing y Business Intelligence
- Conceptos de OLAP y extracción de información
- Proceso ETL: extracción, transformación y carga de los datos
- Tipos de flujos y operaciones
- Data cleaning
- Data quality
- Ejemplos de aplicaciones
-
- Diseño de un proceso ETL y un modelo de análisis multidimensional.
-
- Modelización multidimensional
- DFM: Dimensional Fact Model
- Esquema en estrella y derivados
- Operadores OLAP
- Implementación de cubos y operadores OLAP en entornos relacionales
- Herramientas de modelización multidimensional
-
- Diseño de una carga de datos a un repositorio NoSQL y análisis de los datos básico utilizando Spark
-
- Diseño, implementación y mantenimiento de soluciones Fecha Lake. Conceptos y principios (schema-on-write vs. schema-on-read). Modelización y gobernanza de datos
- Conceptos y principios de procesamiento distribuido de datos (soluciones declarativas vs. no declarativas)
- Modelos de procesamiento distribuido de datos: Basados en disco y basados en memoria principal
- MapReduce y a Apache Spark
- Procesamiento de datos en tiempo real (streaming). Conceptos y principios (modelos, ventanas temporales, consultas temporales). Lenguajes de consultas sobre streams. Introducción a herramientas streaming: Apache Kafka, Apache Spark Streaming
- Arquitecturas BigData: Lambda, Kappa y orquestadores. Herramientas de gestión de workflows: Apache Airflow
-
- Identificación de los factores clave de un problema complejo en el contexto de un proyecto de analítica.
-
- Proyecto de diseño e implementación ETL con herramientas NoSQL
- Proceso de incorporación de datos batch con herramientas Apache.
- Análisis de datos y extracción de datos para modelo de negocio a partir del conjunto de datos con Spark
- Análisis de datos con Apache Spark
- Lectura y exportación de datos
- Revisión de la calidad de los datos
- Filtros y transformaciones de los datos
- Procesamiento de los datos para obtener resúmenes y agrupaciones
- Combinaciones, particiones y reformulación de los datos.
- Configuración, monitorización y gestión de los errores de las aplicaciones Spark
-
- Evaluación crítica de las metodologías y técnicas a aplicar en la resolución de problemas y justificación de los planteamientos, decisiones y propuestas realizadas
- 3. Aprendizaje automático y visualización
- Identificación de los fundamentos de análisis de datos y aprendizaje automático (Machine Learning)
-
- Tipología de tareas y algoritmos de aprendizaje (supervisado, no supervisado, semisupervisado)
- Métodos principales de aprendizaje
- Validación y evaluación de resultados
-
- Distinción de los métodos clasificadores.
-
- Modelos predictivos
- Métodos no supervisados. Agrupamiento jerárquico. Agrupamiento particional (k-means y derivados). Reducción de la dimensionalidad (PCA y otros)
- Métodos supervisados. K-NN. Árboles de decisión. SVM. Redes neuronales
- Validación y evaluación de resultados
-
- Aplicación de las técnicas de aprendizaje automático y la integración de diversas fuentes de datos
-
- Análisis de sentimientos y polaridad sobre el conjunto de tweets recogidos.
- Construcción de un análisis de perfiles mediante el uso de algoritmos de agrupamiento no supervisados (clustering).
- Implementación de un análisis de polaridad (sentimiento analysis) sobre el conjunto de mensajes recogidos.
- Implementación de dos enfoques alternativos para poder comparar el rendimiento obtenido: Aproximación basada en diccionarios. Aproximación en vectorización (Word2Vec) y uso de un modelo supervisado de aprendizaje automático.
-
- Diseño, desarrollo y evaluación de los métodos de aprendizaje automático.
-
- Procesamiento de datos
- Fundamentos de aprendizaje automático
- Tipología de tareas y algoritmos de aprendizaje
- Validación y evaluación de resultados
-
- Diseño y desarrollo de dashboards.
-
- Principios de visualización de datos.
- Diseño de paneles de control y dashboards para definir alarmas y transmitir resultados
- Integración de la visualización con herramientas de análisis y consultas de datos
- Documentación visual y escrita de los resultados de los proyectos de analítica de datos para audiencias no especializadas
-
- Utilización de una herramienta de visualización de datos para el diseño y carga de datos a un panel de control
-
- Herramientas de visualización de datos: Grafana, MS PowerBar, Tableau
- Visualización de consultas de negocio y panel de control de resultados en herramientas de visualización de datos
-
- Elección, aplicación y evaluación de la calidad de un algoritmo de aprendizaje automático para un problema dado a partir de un conjunto de datos.
-
- Procesamiento de textos (NLP)
- Análisis de polaridad basado en diccionarios
- Análisis basado en modelos predictivos supervisados
- Extracción de características (Word2Vec)
-
- Identificación de los fundamentos de análisis de datos y aprendizaje automático (Machine Learning)