Vista previa del material en texto
Data Acquisition I Clase 25. Data Science Obligatoria siempre ¿DUDAS DEL ON-BOARDING? MIRALO AQUI Obligatoria siempre. RECUERDA PONER A GRABAR LA CLASE Colocar todas las clases Identificar el ciclo de vida de un proyecto de ciencia de datos. Rastrear el origen de los datos y su uso. Leer datos con Pandas. OBJETIVOS DE LA CLASE Obligatoria siempre. Es lo que queremos alcanzar una vez finalizada la clase. Recordá que se enuncian en principio con el verbo delante (por ejemplo: “Comprender…”, “Analizar…”, “conocer…”, etc). MAPA DE CONCEPTOS MAPA DE CONCEPTOS Comprensión y Adquisición de Datos Modelado Despliegue Entendimiento del caso de Negocio Limpieza y Preparación de los Datos (Data Wrangling ) ITERAR Evaluación Se puede usar para comenzar o finalizar la clase, según sea más conveniente. La información de este slide es de relleno. Recurso: Mapa de conceptos Muestra rápidamente los contenidos de la clase y cómo se relacionan. Ayuda a los estudiantes a evitar “perderse” durante la clase, al avanzar en un sentido lineal una diapositiva tras otra. El ejemplo pertenece a la primera clase del curso UX/UI. Sugerencia: -También se pueden mostrar con un menor énfasis o colores apagados, aquellos contenidos de clases anteriores y que se vinculen con la actual. -Resaltar con color los temas que se abordan en la clase. Clase 25 Data Acquisition I LECTURA DE ENCUESTAS TXT CON BOOLEANOS. Clase 24 Stack Tecnológico II Clase 26 Data Acquisition II CRONOGRAMA DEL CURSO LECTURA DE CSV. BIG DATA ETL BIG DATA & ETL ACCEDEMOS A BASE DE DATOS SOBRE PANDAS. LEER UNA BASE DE DATOS Recurso: Cronograma del curso - Se muestra al inicio de cada clase - Tiene un aspecto similar a un calendario. - Resume rápidamente: título de la clase, número y contenidos que abarca - Guía rápida tanto para docentes, como para estudiantes. - Para mayor ubicación en el curso, también muestra en un tamaño más pequeño lo sucedido la clase anterior y la siguiente. -Ubicar en el interior de cada clase aquellas cuestiones destacadas con las cuales se encontrará el alumno y con su respectivo nombre: desafíos, entregables de proyecto, actividades colaborativas o ejemplos en vivo. Introducción a la adquisición de datos Comprensión del problema Usar para los subtemas de un módulo. Antes de ir a buscar datos es muy importante tener el problema de negocio y una noción de cómo resolverlo. Entendimiento del caso de Negocio No va, es para guiar el uso del template. ¿Qué problema quiero solucionar? ¿Qué tipo de datos necesitamos para hacer el análisis? ¿Dónde puedo encontrar estos datos? ¿Cómo accedo a estos datos? ¿Esos datos existen? Punto de partida El objetivo principal es crear modelos predictivos, capaces de detectar las futuras necesidades del cliente o qué productos se venderán mejor. Las empresas amplían sus datos con la información de las redes sociales, logs de navegación, análisis de textos y datos de sensores para obtener una imagen completa de cliente a analizar y computar. Quienes compran en Amazon o Mercado Libre, pueden constatar cómo la empresa le sugiere productos que le puedan interesar como resultado de entender las preferencias del consumidor. Casos de Éxito Concretos (Amazon y Mercado Libre) ¡PARA PENSAR! Basándonos en los casos anteriores ¿Cómo crees que se puede aplicar el modelo de Data Acquisition en tu empresa? ¿Cuáles son los desafíos? ¡ESCRIBELO EN EL CHAT! #AHORAESCUANDO Adquisición de Datos ¿Qué es la Adquisición de Datos? Se trata del proceso de recopilación, que incluye decidir qué datos se quiere adquirir, por qué y cómo, para luego poder explotarlos. No hay una forma estándar de adquirirlos, debido a que hay muchos tipos de fuentes y proyectos. Pueden ser adquiridos o heredados de la misma organización, buscados de forma externa o comprados. ¿Qué hace un Científico de Datos en términos generales? Este número varía mucho de proyecto en proyecto, pero es un indicador de que se pasa mucho tiempo en esta etapa. En base al nivel de madurez del gobierno de la compañía y su manejo de la información, se gestionará la adquisición de datos. Organización de datos de la compañía No va, es para guiar el uso del template. Data Management Maturity Model Nivel 1 Nivel 2 Nivel 3 Nivel 4 Nivel 5 Poca o ninguna gobernanza Roles definidos dentro de los silos Problemas de calidad de datos no abordados Gobierno emergente Introducción consistente de herramientas Algunos roles y procesos definidos Creciente conciencia del impacto de los problemas de calidad de datos Data vista como habilitador organizacional. Procesos y herramientas escalables Metas establecidas considerando la calidad de los datos Automatización de procesos Gobierno centralizado y planificado Gestión de Riesgos asociado a datos Métricas de Performance de Iniciativas de Datos Métricas de mejora de Calidad de Datos Procesos de Alta Predicción Riesgo Reducido Métricas bien establecidas y desplegadas para medir la calidad de los datos En la industria, la administración de datos pasa por 5 niveles que definen la madurez de esta. Repaso de Tipos de Dato Usar para los subtemas de un módulo. Tipos de Datos No estructurados Son archivos de tipo texto que se suelen mostrar en filas y columnas con títulos. Son datos que pueden ser ordenados y procesados fácilmente por todas las herramientas de minería de datos. Estructurados Semi- Estructurados Tienen algunas características consistentes y definidas, no se limitan a una estructura rígida como la necesaria para las bases de datos relacionales. No tienen estructura identificada. ¡PARA PENSAR! ¿Que tipo de datos son los de la encuesta? CONTESTA LA ENCUESTA DE ZOOM “Para pensar”. ¿Como crear encuestas de zoom? Disponible en este video. El docente generará una encuesta de zoom para que los estudiantes respondan. Esto es una actividad de intercambio de opiniones. Opciones (no hay respuesta correcta): AI 5G IoT mRNA AR/VR CRISPR Robotics Longevity Telehealth Metaverse Blockchain Bioplastics Gene Editing Electrification Space Tourism Energy Storage Verticle Farming Cloud Computing Plant-Based Meat Personalize Medicine Autonomous Vehicles Lectura de fuentes de Datos con Pandas Usar para los módulos más importantes de la clase, donde se introducen conceptos que se ven en varios slides. No hay que usarla para todos los módulos. Lectura de datos con Pandas Lidiar con codificaciones extrañas Encabezados de tablas Columnas Parsear columnas de fechas Setear tipo de datos Encontrar y localizar datos inválidos Adjuntar datos a un .csv existente Pandas es una librería con gran potencial para lectura de datos. A continuación se enumeran algunas de las facilidades que presenta sus funciones de lectura: No va, es para guiar el uso del template. Lectura de tablas en archivos planos Usar para los subtemas de un módulo. Lectura y escritura de archivos planos con Pandas Un archivo CSV (valores separados por comas) es un archivo de texto que tiene un formato específico y permite guardar los datos en un formato de tabla estructurada. read_csv es una función de pandas para leer este tipo de archivos. Puede leer archivos en formato tabla con otros delimitadores. Ejemplo = No va, es para guiar el uso del template. Lectura de archivos planos con Pandas No va, es para guiar el uso del template. Lectura de archivos planos con Pandas No va, es para guiar el uso del template. Lectura de archivos planos con Pandas No va, es para guiar el uso del template. Lectura de archivos planos con Pandas (Headers) No va, es para guiar el uso del template. Lectura de archivos planos con Pandas (Fechas) Parseo automatico de fechas No va, es para guiar el uso del template. Lectura de archivos planos con Pandas (Fechas) Parseo manual de fechas No va, es para guiar el uso del template. Lectura de archivos planos con Pandas (Fechas y Hora)Parseo indicando formato fecha y hora. No va, es para guiar el uso del template. Lectura de archivos planos con Pandas (booleanos) Read_csv puede detectar automáticamente booleanos si se le indica. “asistió” se refiere a la asistencia de un alumno y “Tarea” si completo la tarea o no. No va, es para guiar el uso del template. ¡PARA PENSAR! ¿Por qué en el ejemplo anterior, se detectó solo “asistió” y no Tarea? ¡CONTESTA EN EL CHAT! “Para pensar”. ¿Como crear encuestas de zoom? Disponible en este video. El docente generará una encuesta de zoom para que los estudiantes respondan. Esto es una actividad de comprobación. Sugerimos: Utilizarlo antes del break para que los estudiantes puedan votar en la encuesta antes de ir al mismo. Al regresar, mostrar los resultados a los estudiantes. Si hay buena respuesta de este recurso, se recomienda utilizarlo de forma orgánica en más instancias de la clase. Lectura de Csv en Python Aplicando estructuras en Python en grupos. Lectura de .csv En este desafío les proponemos leer un archivo .csv con read_csv junto con alguno de los argumentos que vimos. Trabajaremos en los grupos conformados, con las siguientes consignas: Leer el archivo Encuesta.txt. Pista: usar delim_whitespace Definir qué variables pueden ser booleanos (True o False, 0 o 1, si o no). Solo las que tienen dos valores por columna Convertir a booleanos directamente en la lectura read_csv. Pista: Usar true_values y false_values en el argumento Tiempo estimado: 20 min ☕ BREAK ¡5/10 MINUTOS Y VOLVEMOS! Obligatoria siempre. A la hora del Break, entre 5 y 10 minutos. Considerar ubicar este espacio en un momento adecuado de la clase. Al volver, mostrar los resultados de la pregunta del anterior slide y generar un breve intercambio. Hojas de Cálculo Usar para los subtemas de un módulo. ¿Qué son? Consisten en datos almacenados de forma tabular en filas y columnas. A diferencia de los archivos planos, pueden tener fórmulas y formato. Un solo archivo puede tener diferentes hojas de cálculo. No va, es para guiar el uso del template. Hojas de cálculo No va, es para guiar el uso del template. Hojas de cálculo Lectura de hojas y columnas No va, es para guiar el uso del template. Hojas de cálculo Podemos, en lugar de usar el método pd.read_excel, crear un objeto y parsear las hojas del excel. = Atributo que enumera los nombres de las hojas. No va, es para guiar el uso del template. Otros Formatos estructurados Usar para los subtemas de un módulo. Es un formato nativo de python que es popular para la serialización de objetos. Otros Formatos estructurados (PICKLE) Es mucho más rápido que .csv. Reduce el tamaño de los archivos en la mitad usando técnicas de compresión. No hay necesidad de especificar columnas de datos ni argumentos. Al ser nativo de python solo puede leerse utilizando python. PySpark Usar para los subtemas de un módulo. PySpark para BigData Mientras PySpark es la biblioteca de Python para usar Spark, éste último es el nombre del motor para realizar la computación en clúster. Spark permite construir una arquitectura que incluya gestión de streaming de datos, consultas de datos sin problemas, predicción de aprendizaje automático y acceso en tiempo real a diversos análisis. Trabaja estrechamente con el lenguaje SQL, es decir, datos estructurados. Permite consultar los datos en tiempo real. Spark es la herramienta adecuada gracias a su velocidad y sus API enriquecidas para trabajar en entornos cloud. Pandas es una librería muy potente que permite hacer infinidad de procesos. El problema viene cuando queremos adquirir volúmenes demasiado grandes para una computadora normal. PySpark para BigData Práctica en vivo Evaluar la eficiencia de un mismo set de datos, en distintos formatos (.csv; .xlsx; .pkl). Vamos a leer un mismo archivo data.csv, data.xlsx y data.pkl y compararemos eficiencia de lectura y tamaños de cada uno. Objetivo: Analizar eficiencia de lectura de distintos archivos Comparamos CSV con Excel y Pickle. 10 Minutos Se pueden utilizar en función de la disponibilidad de tiempo. LECTURA DE CSV Leer el csv de la clase utilizando pd.to_csv. Revisar que haya separado correctamente las columnas. Medir tiempo de lectura (usar %%time al inicio de la celda). Con ese mismo DataFrame, escribir un excel (con index=False) y un pickle (probar también con argumento compression =’gzip’) del archivo. Cuál escritura les pareció más eficiente? Leer nuevamente con excel (pd.read_excel) y el pickle (pd.read_pickle) midiendo tiempos de lectura de los tres archivos ¿Cuál demora más? ¿Cuánto espacio en disco ocupa cada archivo? Duración: 10 minutos Usar para las subsiguientes slides de challenges genéricos. Why is “DATA CLEANING” necessary? | Medium.com | Enlace Disponible en nuestro repositorio. Input/Output - Pandas 1.2.4 documentation| pandas.pydata.org | Enlace IO tools (text, CSV, HDF5, …) - pandas 1.2.4 documentation| pandas.pydata.org | Enlace ¿PREGUNTAS? Obligatoria. Se sugiere ubicar al finalizar la explicación de algún tema, para abrir formalmente el espacio de preguntas y ordenar la interacción. ¡MUCHAS GRACIAS! Resumen de lo visto en clase hoy: Ciclo de vida de un proyecto de Ciencia de datos Importancia de tener un caso de negocio Introducción a la adquisición de datos Lectura de datos básicos en pandas. OPINA Y VALORA ESTA CLASE Obligatoria siempre. #DEMOCRATIZANDOLAEDUCACIÓN Todas las clases