Encabezado Facultad de Ciencias
Presentación

Actuaría (plan 2015) 2021-1

Optativas, Seminario de Estadística I

Grupo 9270, 60 lugares. 27 alumnos.
Introducción a la Ciencia de Datos y Machine Learning
Profesor Jimmy Hernández Morales lu mi vi 20 a 21
Ayudante Misael López Sánchez ma ju 20 a 21
 

liga de classroom (la liga de la clase está en el classroom): https://classroom.google.com/c/MTgyOTM3NjgwODEw?cjc=czy2mb3

Introducción a la Ciencia de Datos y Machine Learning

Actualmente no basta con entender la teoría estadística detrás de la ciencia de datos, la industria y academia demanda cada vez más profesionales con un buen manejo de herramientas de software, y paradigmas computacionales como el uso de computo distribuido, mapReduce y computo en la nube.
El objetivo del curso es introducir al alumno a las técnicas estadísticas de la Ciencia de Datos-ML y también al uso de frameworks y tecnologías enfocadas en el desarrollo de aplicaciones de Big Data. Se usará Scala como lenguaje de programación ya que es un lenguaje funcional cuya demanda ha crecido en los últimos años, además de ser conciso y eficiente(por su tipado estático), y es el lenguaje por excelencia para Apache Spark, sin embargo el alumno puede optar por usar otros lenguajes en tanto sean compatibles con Spark como Python y R, de hecho en muchas ocasiones interactuaremos con ellos dependiendo del problema al que nos enfrentemos.
Prerrequisitos: Es deseable que el alumno haya cursado alguna materia de programación y tenga noción de POO (Programación Orientada a Objetos), ademas Inferencia Estadística y Modelos no paramétricos y de Regresión.
Alcances del curso: Introducción a conceptos básicos de ML y manejo de herramientas de ingeniería de datos y ciencia de datos. No se enseñara la construcción de dashboards ya que esto es parte de BI no de Big Data.


Para el ecosistema Hadoop se dará soporte para los diferentes sistemas operativos: MacOs, Linux y Windows sin embargo se utilizará un hipervisor (vmware o virtualbox) o contenedores docker dentro de ellos, donde estará configurado todas las tecnologías que ocuparemos, por lo que se recomienda tener al menos 4G o 8G de ram y un espacio en disco duro mayor a 25G. El hecho de no contar con un ordenador con esas caracteristicas no debe ser impediemento para tomar el curso, existen alternativas como el uso de Cloud.


Repositorio del curso: https://github.com/jimmyhm/BigData2021-1. Aquí se subirán gran parte del material y la otra parte se subirá al classroom.
Se utilizara Microsoft Teams y Google meets como plataformas para las clases.


Por favor, los interesados en tomar el curso rellenen el siguiente formulario de pre-inscripción https://forms.gle/H5VgawEP679fYde8A


1.Introducción

1.1. ¿Que es la Ciencia de Datos?
1.2 Definición de Big Data, IA, Machine Learning, Deep Learning.
1.3. Tecnologías de Big Data
1.4 Apache Hadoop y Apache Spark
1.5 Variedad en la información y NoSQL
1.6 Uso básico de Github
1.7 Introducción a la programación en Scala y Python
2. Fundamentos de Hadoop
2.1 Arquitectura de Hadoop
2.2 Modos Standalone, Semidistribuido y Distribuido.
2.3 Sistema de ficheros HDFS
2.4 Paradigma MapReduce
2.5 YARN
2.6 El Ecosistema Hadoop: un panorama
2.7 Hive
2.7.1 HiveMetastore
2.8 Hive SQL
2.9 Tablas internas y externas
2.10 Clientes Hive
2.11 HiveServer 2 y Beeline
2.12 Interacción con HDFS y Spark
3 Introducción a Spark
3.1 Arquitectura de Spark
3.1 Grafos Acíclicos Dirigidos
3.2 Conjunto de Datos Resilientes Distribuidos(RDD)
3.3 Modelos de ejecución de Spark; Jobs, Stages, Task.
3.4 Conceptos de Spark
3.4.1 Particionamiento
3.4.2 Transformaciones: Wide vs Narrow
3.4.3 Transformaciones, acciones y operaciones
3.5.1 SparkSession y SparkContext
3.5.2 Escritura y Lectura Dataframes
3.6 Manejo de Formatos: CSV, JSON, ORC, Parquet.
3.7 Esquemas usando StructType
3.8 Funciones Spark SQL
3.8.1 Aggregate, Date Time, Collections.
3.8.2 Sortiing, Math, String
3.8.3 UDF
4. Big Data en Cloud
4.1 Infraestructura On-premise vs Cloud
4.2 AWS y AZURE
4.3 Instancias EC2
4.4 Amazon Simple Storage Service S3
4.5 Creación de un bucket y carga de archivos
4.6 ¿Qué es Elastic MapReduce ?
4.7 Lanzar un Clúster EMR y ciclo de vida
4.8 Monitorizar un Clúster.
5. Introducción a Machine Learning
5.1 Modelo General de Aprendizaje.
5.2 Minimización de la función de Riesgo
5.3 Descomposición Sesgo-Varianza y Tradeoff
5.4 Introducción al manejo de datos mediante Pandas
5.5 Uso de Bibliotecas: Numpy, Scipy, Plotly, Matplotlib, y Scikit.Learn
6. Regresión
6.1 Regresión lineal Múltiple
6.2 Regresión Lasso y Ridge
5.3 Selección de Modelos
5.3.1 Entropía relativa, Criterio de Información de Akaike y Bayesiana
5.3.2 Validación Cruzada
7. Aprendizaje Supervisado
7.1 Regresión Logística
7.3 Clasificadores Lineales y Gausianos.
7.4 Naive Bayes
7.5 Máquinas de Soporte Vectorial (SVM)
7.6 Kernels
8. Arboles y Métodos Ensamble
8.1 Arboles de Clasificación
8.2 Bagging
8.3 Métodos Boosting
8.3.1 AddaBost
8.3.2 Gradient Tree Boosting
9. Aprendizaje no Supervisado
9.1 Reglas de Asociación
9.1.2 Algoritmo Apriori
9.2 Análisis de Clúster
9.2.1 Medidas de Similaridad
9.2.2 Métodos basados en particiones
9.2.3 Métodos Jerárquicos
9.3 Métricas de validación internas
9.4 Métricas de validación externas


Evaluación
Prácticas y Tareas 100%


Bibliografía
Pueden usarla como base pero no se seguirá ninguna en especifica.
[1] Hastie, T., Tibshirani, R., Friedman, J The Elements of Statistical Learning. Data Mining, Inference, and Prediction, 2nd ed., Springer.
[2] G. James, D. Witten, T. Hastie and R. Tibshirani An Introduction to Statistical Learning, with Application in R (Springer, 2013).
[3] Diggle, P Statistical Learning with Sparsity. The lasso and generalizations. Chapman and Hall.
[4] T. W. Anderson An Introduction to Multivariate Statistical Analysis, John Wiley and Sons Inc; Edicio ́n: 3rd Edition .
[5] Michie, Spiegelhalter y Taylor y Petrick J. Heagarty , Machine Learning, Neural and Statistical Classification.
[6] Alan Agresti , Categorical Data Analysis, Wiley-Interscience Publication.
[7] Thomas W. Yee, Vector Generalized Linear and Additive Models with implementations in R, Springer.
[8] Andreas Muller, Sarah Guido, Introduction to Machine Learning with Python, a guide for data Scientist Springer.

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.