Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Consideraciones
La especialización está orientada a personas que comienzan a adentrarse en la analítica de datos.
Es recomendable el conocimiento de programación en Python, pero no es excluyente.
La especialización cuenta con tres cursos, los que deben ser aprobados con un 70% (asistencia y eva-
luación).
Para el certificado de la especialización debe aprobar todos los cursos.
Podrá pausar y continuar la especialización en cualquier momento. No podrá hacer lo mismo dentro
de algún curso. Las horas son indicativas, el contenido es integrado.
Puede saltar un curso si presenta un examen de suficiencia.
El modelo de evaluación será mediante cuestionario y trabajos individuales.
ÍNDICE
1. Introducción a Python para la analítica de datos. Ingeniería
2. Análisis de datos con Python
3. Predicción con Python. Fundamentos de la Ciencia de Datos
4. Referencias
5. Herramientas
Temas:
Estructuras esenciales de datos y control
Programación Orientada a Objetos y excepciones
Trabajo con ficheros CSV, texto, Excel y Pickle. Logging
Paquetes/módulos esenciales (itertools, re, timeit, collections, math)
Introducción al paquete numpy
Introducción al paquete pandas
Introducción al uso de matplotlib
Trabajo con base de datos relacionales y SQL
Pruebas unitarias de código
Desarrollo de los temas del curso a través de ejemplos KISS y prácticos. Evaluación con cuestionario teó-
rico-práctico. Trabajo individual con un problema de mediana complejidad.
Introducción a los elementos básicos del proceso de Data Engineering, Data Analysis and Data Science.
Análisis exploratorio y tecnologías asociadas. Sus especificidades y diferencias.
Algunas definiciones:
De acuerdo a la definición de Google y Coursera Data Analytics is The Science of Data.
Los datos son una colección de hechos que pueden ser utilizados para arribar a conclusiones, hacer
predicciones y apoyar la toma de decisiones.
La ciencia de datos es la creación de nuevas vías de modelar y entender lo desconocido utilizando da-
tos en bruto.
El análisis de datos es la recolección, transformación y organización de los dator para arribar a conclu-
siones, predecir y guiar las decisiones informadas.
La Ingenieríadedatoscomo las capacidades involucradas en hacer que los datos estén listos para ser uti-
lizados por analistas de datos y científicos de datos. La ingeniería de datos implica:
Elaborar estrategias y crear diccionarios de datos que pueden convertirse en una referencia sobre el
significado de los datos, su relación con otros datos, su uso y su formato.
Limpieza de datos para que puedan estandarizarse en todas las fuentes de datos y ser confiables cuan-
do se utilizan en visualizaciones y algoritmos.
Transformación de estructuras de soporte de datos y su concentración o distribución.
Importar datos de fuentes no estructuradas y transformar los datos en un formato estructurado y estan-
darizado.
Crear tuberías o canales que consolidan datos de múltiples fuentes y los ponen a disposición para el
análisis y la visualización de datos.
El análisisdedatosanaliza las relaciones entre los conjuntos de datos y dentro de esos conjuntos para en-
contrar patrones. El análisis de datos involucra también la visualización de datos. La visualización de da-
tos es el proceso de representar datos en un formato visual. . Entre sus acciones incluye:
Reunirse con las partes interesadas para escuchar sus necesidades de informes y visualización de da-
tos y documentar las solicitudes.
Determinar qué canalizaciones de datos están disponibles y si las canalizaciones existentes podrían sa-
tisfacer la necesidad.
Coordinar con el equipo de ingeniería de datos para crear nuevas canalizaciones según sea necesario.
Traducir estas questiones en informes y visualizaciones estandarizados que puedan extraerse en el fu-
turo.
Los científicosdedatosintervienen en las tres últimas etapas del flujodetrabajo: preparan los datos se-
gún sus necesidades de análisis, los exploran, construyen visualizaciones perspicaces y, a continuación,
ejecutan experimentos o construyen modelos predictivos. Los ingenieros de datos sientan las bases que
hacen posible la actividad de la ciencia de los datos.
Análisis de datos es el proceso de inspección, limpieza, transformación y modelado de datos para la toma
de decisiones. Introducción al análisis de datos con ejemplos en Python.
Modelado de datos
Ajuste de modelo de datos
Las seis etapas delprocesodeanálisis dedatos son: Averiguar, Preparar, Procesar, Analizar, Compartir
y Actuar.
- Averiguar: Reto Empresarial/Objetivo/Pregunta
- Preparar: Generación, recogida, almacenamiento y gestión de datos
- Procesar: Limpieza de datos/integridad de datos
- Analizar: Exploración, visualización y análisis de datos
- Compartir: Comunicar e interpretar los resultados
- Actuar: Poner en práctica los conocimientos para resolver el problema
Detallesdelastareasdelosanalistas
Los analistas formulan preguntas para definir tanto el problema que había que resolver como lo que
equivaldría a un resultado satisfactorio.
A continuación, se preparan construyendo una línea de tiempo y recogiendo datos con encuestas a los
empleados, que debían ser inclusivas.
Procesan los datos limpiándolos para asegurarse de que estaban completos, eran correctos, pertinentes
y no contenían errores ni valores atípicos.
Analizan los datos limpios de las encuestas a los empleados. A continuación, los analistas comparten
sus conclusiones y recomendaciones con los jefes de equipo. A continuación, la dirección actúa sobre
los resultados y se centra en mejorar las áreas clave.
Hojaderutadelanálisispredictivo
Comprensión del negocio
Comprensión de los datos
Preparación de los datos
Modelado
Evaluación
Despliegue
FundamentosdelaCienciadeDatos
Fundamentos de ciencias de datos. Estrategias.
Ciencia de Datos es un campo interdisciplinario que involucra métodos científicos, procesos y sistemas
para extraer conocimiento o un mejor entendimiento de datos en sus diferentes formas, ya sean estructura-
dos o no estructurados.
Existen varias metodologías para desarrollar proyectos de ciencia de datos, entre los que destacan CRISP-
DM (Cross-industry standard process for data mining) o TDSP (Team Data Science Process)
Para desarrollarse en el ámbito de la ciencia de datos es necesario contar con conocimientos en el área de
estadística; manejar un lenguaje de programación afin y ser experto en el área de dominio (finanzas, mer-
cadotecnia, ventas, etc.)
Las herramientas para la aplicación de la ciencia de datos, teniendo como opciones comerciales a SAS,
Watson de IBM, Oracle Analytics Cloud, SAP Cloud Analytics, DataRobot, etc., pero también en el área
de Open Source: Anaconda, Spark, Scikit-learn, TensorFlow, etc.
REFERENCIAS
HERRAMIENTAS
Introducción al curso
- Objetivo: Que el estudiante comprenda el ecosistema Python para el desarrollo de pro-
yectos analíticos de datos, que concluya con los conocimientos y habilidades necesarias
para aplicarlo en la resolución de problemas reales de pequeña y mediana compejidad.
- Desglose de la bibliografía (materiales disponibles en Google Classroom)
- Estructura de la especialización y las evaluaciones: Tres cursos, cada uno evaluable de
forma individual, 70% pasable, los cursos son integrados e incrementales.
RStudio
Spyder
Integración de Spyder con Jupyter Notebook
https://docs.spyder-ide.org/current/plugins/notebook.html
nteract
- Herramientas de alto y bajo nivel: Windows con WSL, Linuxes, AWK, JQ, cURL, Shell
scripting
En el caso de Windows aparte de shell scripting (bash, ksh, etc.) pueden utilizar PowerS-
hell para la automatización de tareas y procesamiento de datos raw.
Programación
Principiosdelaprogramaciónfuncional
Uso de funciones: Como su nombre indica, todo se construye por medio de funciones. Esta
forma de trabajar no solo es sencilla, ordenada, clara, fácil de testear. La programación
funcional usa la estrategia divide y vencerás para prácticamente todo.
Funciones de primera clase: Las funciones son tratadas como una variable más. Incluso
pueden ser devueltas.
Funciones puras: Totalmente predictivo, los mismos datos de entrada producirán los mis-
mos datos de salida. Puedes sustituir el parámetro de entrada de sin que ello altere el flujo
del programa.
Recursividad: Las funciones se pueden llamar a si mismas simplificando tareas como reco-
rrer árboles de datos o la gestión de bucles controlados.
Inmutabilidad: No hay variables, solo constantes. Personalmente comprender su potencial
y llevarlo a la práctica fue como darle al reset de mi cerebro; tuve que re-aprender a usar
variable. Anécdota a parte; ¿donde suele fallar el software? En gran mayoría de las ocasio-
nes viene por una variable que a sido cambiada. Esto provoca que un bloque de código se
ejecute con unas condiciones no previstas por nadie en el mundo mundial, toca revisar ca-
da variable en diferentes valores hasta que encontramos al culpable. Os hago una refle-
xión: ¿Y si esas variables nunca fueran modificadas? O siendo más prácticos, ¿y si crea-
mos una nueva constante de cada modificación? ¿Y si… os digo que a nivel de rendimien-
to… es más eficiente? Es un concepto muy interesante de aplicar.
Evaluación perezosa (no estricta): En la programación funcional podemos trabajar con ex-
presiones que no han sido evaluadas, o dicho de otra manera, podemos disponer de varia-
bles con operaciones cuyo resultado aún no se conoce. A esto se le denomina evaluación
no estricta. Un efecto secundario es el aumento de rendimiento, y otra es que podemos rea-
lizar locuras como hacer cálculos con operaciones muy complejas o listas infinitas sin rea-
lizar calculos. ¿Cómo es esto posible? Porque se trabaja con expresiones matemáticas, solo
se calcula el valor cuando lo necesitas como por ejemplo al realizar un print.
Ingeniería
- Creación de tuberías
- Trabajos con bases de datos
- Búsqueda y limpieza de datos (survey proc, text mining, scraping, data cleaning)
- Referencias de tecnologías emergentes (Spark, Hadoop, Stream, Arrow)