MÓDULO I: INTRODUCCIÓN A LAS TÉCNICAS Y MÉTODOS DE DATA SCIENCE
Presentación y contextualización
El trabajo del “data scientist” es fundamental para extraer valor de los datos dentro de las organizaciones. El data scientist es un profesional con habilidades interdisciplinares, incluyendo la estadística aplicada, el aprendizaje automático, y capacidad para el procesamiento y tratamiento previo de datos.
Dentro del Máster en Tecnología y Arquitectura Big Data no se pretende formar data scientists, pero es importante adquirir una visión sólida de las herramientas y técnicas utilizadas en ese contexto, dado que las arquitecturas Big Data tienen como propósito último la gestión de datos masivos para procesos que finalmente son analíticos, y que serán realizados por data scientists u otro tipo de perfiles próximos que tienen como objetivo esa analítica.
Los lenguajes y stacks de bibliotecas más utilizados actualmente para este trabajo son R y Python. En este módulo introductorio utilizamos Python, por ser un lenguaje de propósito general que tiene un amplio ecosistema de bibliotecas e interfaces para un gran número de problemas y tecnologías, de modo que los conocimientos de Python pueden utilizarse posteriormente en otros módulos del programa.
Esencialmente, el trabajo del data scientist puede resumirse en tres grupos de actividades:
- Preparación, limpieza y transformación de datos.
- Análisis y visualización estática de datos.
- Construcción y evaluación de modelos.
En este módulo se proporciona una visión general de los tres procesos de manera general, y se menciona cómo ese trabajo puede realizase en entornos Big Data, para servir como referencia para otros módulos del programa donde se entrará en los aspectos de escalabilidad ante grandes volúmenes de datos. El objetivo está en comprender los procesos y las técnicas desde el punto de vista de su uso y potencial utilidad, sin entrar en los detalles de su funcionamiento interno o los criterios especializados en su selección. El módulo cuenta con 8 horas de clase presencial, y un total de carga lectiva de 4 ECTS.
Requisitos y/o recomendaciones
El módulo requiere conocimientos básicos del lenguaje Python, que se utiliza como vehículo de aprendizaje. Dado que el tipo de programación que se hace es programación estadística, que básicamente implica tratar con arrays y matrices, los conceptos fundamentales de Python que se deben dominar son los de lista y diccionario.
Competencias que se adquieren
- Conocer y ser capaz de manejar de manera básica herramienta de trabajo interactiva en data science.
- Ser capaces de cargar datasets y adquirir datos externos en diferentes formatos.
- Ser capaz de realizar gráficos estáticos simples (plotting) con propósitos de análisis.
- Ser capaz de aplicar técnicas sencillas para transformar, mezclar y limpiar datasets, agrupar y resumir datos.
- Comprender cómo las herramientas de data science pueden utilizarse para computación paralela y trabajo en grupo.
- Comprender la cultura del data scientist y el proceso que rodea al ML.
- Obtener una visión práctica de los procesos, conceptos y técnicas fundamentales de ML utilizando herramientas.
- Conocer el concepto y características de los Prediction API (PAPI) y la externalización de las plataformas de ML.
Contenidos
Parte I. Tareas y entornos de data science.
- IPython y Jupyter: entorno y arquitectura
- Arrays con NumPy
- Series y DataFrames con pandas
- Introducción al procesamiento de datos paralelos.
Parte II. Introducción al aprendizaje automático.
- Minería de datos, aprendizaje automático y sus tipos.
- Modelos supervisados de aprendizaje automático: clasificación.
- Modelos no supervisados de aprendizaje automático.
- Introducción a los modelos conexionistas.
Bibliografía
- [Vanderplas, 2016] Vanderplas, J. (2016). Python Data Science handbook. O’Reilly.
- [Marsland, 2015] Marsland, S. (2015). Machine learning. An algorithmic perspective. CRC Press, 2nd ed.
- [Hackelin, 2014] Hackleing, G. (2014) Mastering Machine Learning with scikit-learn. Packet Pub.
- [Müller, 2017] Müller, A. and Guido, S. (2017). Introduction to machine learning with Python. O’Reilly.
- [Julian, 2016] Julian, D. (2016). Designing Machine Learning Systems with Python. Packt Pub.
- [Kirk, 2017] Kirk, M. (2017). Thoughtful machine learning with Python. O’Reilly.
- McKinney, W. (2012). Python for Data Analysis. Data Wrangling with Pandas, NumPy, and IPython O’Reilly Media.
- Alpaydin, E. (2014). Introduction to machine learning. MIT press.
Recursos de apoyo y Webgrafía
- Entorno Anaconda de data science en Python: https://docs.continuum.io/anaconda/
- Bibliotecas scikit-learn en Python para aprendizaje automático: http://scikit-learn.org/stable/
- Referencia de las bibliotecas científicas de Python ScyPy: http://www.scipy.org/