1 Intro Ciencia Datos - ACM
1 Intro Ciencia Datos - ACM
1 Intro Ciencia Datos - ACM
de Datos
Dr. Armando Céspedes
Mota.
acespede@tec.mx
1
Armando Céspedes Mota
• Doctorado en Tecnologías de Información y Comunicaciones.
Esp. Telecomunicaciones (ITESM).
• Maestría en Administración de Telecomunicaciones (ITESM).
• Especialización en Alemania en automatización y redes
industriales (University of Applied Sciences Furtwangen &
SIEMENS-Karlsruhe, Germany.)
• Maestría en Ing. Eléctrica con especialidad en sistemas
electrónicos (ITESM).
• Ingeniero en Electrónica y Comunicaciones (ITESM).
• SNI 1 2023-2027
2
URL imagen
3
¿Qué es Ciencia de datos?
• “Data science combines multiple fields including statistics, scientific
methods, and data analysis to extract value from data”.
(https://www.oracle.com/data-science/what-is-data-science/)
4
¿Qué es Ciencia de datos?
• “También se define la ciencia de datos como "un concepto para
unificar estadísticas, análisis de datos, aprendizaje automático, y sus
métodos relacionados, a efectos de comprender y analizar los
fenómenos reales", empleando técnicas y teorías extraídas de
muchos campos dentro del contexto de las matemáticas, la
estadística, la ciencia de la información, y la informática”.
(https://es.wikipedia.org/wiki/Ciencia_de_datos)
5
Definiciones básicas
https://www.ibm.com/cloud/learn/data-science
6
https://www.geeksforgeeks.org/difference-between-data-science-and-business-intelligence/
Method It makes the use of scientific method. It makes the use of analytic method.
9
Ciencia de datos vs Minería de Datos
10
Ciencia de datos vs Minería de Datos
No. Data Science Data Mining
1 Data Science is an area. Data Mining is a technique.
It is about collection, processing, analyzing and utilizing It is about extracting the vital and valuable information
2
of data into various operations. It is more conceptual. from the data.
It is a field of study just like the Computer Science, It is a technique which is a part of the Knowledge
3
Applied Statistics or Applied Mathematics. Discovery in Data Base processes (KDD).
The goal is to build data-dominant products for a The goal is to make data more vital and usable i.e. by
4
venture. extracting only important information.
It deals with the all types of data i.e. structured,
5 It mainly deals with the structured forms of the data.
unstructured or semi-structured.
It is a super set of Data Mining as data science consists
It is a sub set of Data Science as mining activities which
6 of Data scrapping, cleaning, visualization, statistics and
is in a pipeline of the Data science.
many more techniques.
7 It is mainly used for scientific purposes. It is mainly used for business purposes.
8 It broadly focuses on the science of the data. It is more involved with the processes.
https://www.geeksforgeeks.org/difference-between-data-science-and-data-mining/
11
¿Qué debe saber un Científico de datos?
12
Machine Learning Time Line
• Fuente: Advanced Analytics: Moving Toward AI, Machine Learning, and Nat ural Language Processing, TDWI
13
Herramientas de
Software
14
Herramientas más utilizadas (1)
https://hackr.io/blog/top-data-analytics-tools :
15
Herramientas más utilizadas (2)
https://learning.naukri.com/articles/top-machine-learning-and-data-science-tools-for-non-programmers-2/ :
• RapidMiner (https://rapidminer.com/products/studio/ )
• DataRobot (https://www.datarobot.com/ )
• Tableau (https://www.tableau.com/es-es/products/desktop )
• Minitab (https://www.minitab.com/es-mx/products/minitab/ )
• Trifacta (https://www.trifacta.com/ )
• BigML (https://bigml.com/ )
• MLBase (http://www.mlbase.org/ )
• Google Cloud AutoML (https://cloud.google.com/automl/ )
16
Machine Learning Open Source Tools
17
Magic Quadrant for Data Science and
Machine Learning Platforms
18
Magic Quadrant for Data Science and
Machine Learning Platforms
19
Ejemplos de Aplicaciones Típicas
20
Aplicaciones de la ciencia de datos
• Customer relationship management (CRM). Se puede
utilizar una combinación de análisis de regresión y técnicas
de conglomerados para crear grupos de clientes, basándose
en datos demográficos y en la posición de los clientes en su
ciclo de vida, permitiendo enfocar de forma más efectiva los
esfuerzos de mercadotecnia.
21
Aplicaciones de la ciencia de datos
• Detección de valores atípicos y fraudes. Mientras que
muchas aplicaciones analíticas predictivas buscan patrones
subyacentes en los datos, la detección de anomalías busca
datos que destaquen de los demás. Empresas de la banca y
de seguros han usado estas técnicas por años para detectar
fraudes. Las mismas técnicas son útiles también para otras
aplicaciones tales como la investigación médica y
farmacéutica.
22
Aplicaciones de la ciencia de datos
• Predicción de demanda. Este es uno de los grandes retos en
negocios, predecir la demanda para nuevos productos y
servicios. Existen técnicas de series de tiempo para hacer
pronósticos generales, pero los negocios de comercio al
detalle están aplicando técnicas de búsqueda en datos
anonimizados para predecir las ventas de un producto dado
hasta el nivel de región.
23
Aplicaciones de la ciencia de datos
• Mejora de procesos. En sectores que utilizan maquinaria
sensible y compleja, el análisis de los datos de las
condiciones de operación de los equipos en tiempo real,
junto con los datos históricos de desempeño, ayuda a tomar
decisiones de mantenimiento con anticipación
(mantenimiento predictivo). Estas decisiones contribuyen a
reducir los tiempos de paros y a mejorar la calidad.
24
Aplicaciones de la ciencia de datos
• “Máquinas de recomendación”. Utilizan una combinación de
datos del comportamiento histórico y de similitudes con otros
usuarios para generar recomendaciones, también pueden
utilizar características de los productos para filtrar las
recomendaciones. Tiendas en línea, sitios de citas,
proveedores de streaming, utilizan esta tecnología.
25
Aplicaciones de la ciencia de datos
• Mejoramiento de procesos de contratación y retención de
empleados. Se pueden utilizar datos de los sistemas de
recursos humanos para identificar automáticamente
candidatos con potencial para ser exitosos. Algunas
empresas utilizan una mezcla de datos del desempeño y de
perfiles de personalidad para identificar cuándo es probable
que un empleado renuncie, o incluso para anticipar conflictos
potenciales.
26
Aplicaciones de la ciencia de datos
• “Market Basket Analysis”. Es una de las técnicas básicas
utilizadas por lo grandes detallistas. Se trata de encontrar
asociaciones entre diferentes productos que se pueden
vender juntos. Los resultados se pueden aplicar para decidir
la ubicación de los productos en el supermercado, o para
diseñar promociones. En esta aplicación se procesan los
datos de tickets de compra, para descubrir cuáles artículos se
compran al mismo tiempo. Por ejemplo, puede ser que sea
frecuente que los clientes compren juntos pan y mantequilla,
este conocimiento se puede aprovechar para diseñar una
promoción para que compren otro producto, por ejemplo,
huevo. 27
Aplicaciones de la ciencia de datos
• “Group Technology”. Se utilizan algoritmos de aprendizaje
automático para agrupamiento, con el fin de identificar
familias de productos en una empresa de manufactura. Las
familias se forman encontrando similitudes en las
características físicas del producto y/o de sus procesos de
manufactura. El objetivo de formar las familias o grupos
tecnológicos es diseñar células de manufactura
especializadas para fabricar cada familia.
28
Flujo de trabajo en un proyecto de
Ciencia de Datos
29
Ciclo de vida de un proyecto de ciencia de datos
30
Microsoft Machine
Learning (workflow) Input data
Data Transformation
Train Model
Score (prediction)
Evaluate Model
31
CRISP methodology/process
model
Cross-Industry Standard
Process for Data Mining
32
CRISP methodology/process model
• Business understanding – What does the business need?
• Data understanding – What data do we have / need? Is it
clean?
• Data preparation – How do we organize the data for
modeling?
• Modeling – What modeling techniques should we apply?
• Evaluation – Which model best meets the business
objectives?
• Deployment – How do stakeholders access the results?
https://www.datascience-pm.com/crisp-dm-2/
33
Microsoft Team Data Science Process
• Business Understanding: define objectives and identify data
sources
• Data Acquisition and Understanding: ingest data and determine if
it can answer the presenting question (effectively combines Data
Understanding and Data Cleaning from CRISP-DM)
• Modeling: feature engineering and model training (combines
Modeling and Evaluation)
• Deployment: deploy into a production environment
• Customer Acceptance: customer validation if the system meets
business needs (a phase not explicitly covered by CRISP-DM)
https://www.datascience-pm.com/tdsp/
34
https://docs.microsoft.com/en-us/azure/machine-learning/team-data-science-
process/overview Microsoft Team Data Science Process
35
Introducción a Machine Learning
- Aprendizaje Supervisado
- Aprendizaje No Supervisado
- Aprendizaje por Reforzamiento
36
Tipos de aprendizaje automático
• Aprendizaje supervisado. Busca que la máquina
aprenda a través de ejemplos. El operador
proporciona al algoritmo de aprendizaje automático un
conjunto de datos conocidos que incluye las entradas
y salidas conocidas correspondientes. El algoritmo
debe encontrar un método para determinar cómo
llegar a esas entradas y salidas.
• Mientras el operador conoce las respuestas
correctas al problema, el algoritmo identifica patrones
en los datos, aprende de las observaciones y hace
predicciones. El algoritmo realiza predicciones y
puede ser corregido por el operador, y este proceso
sigue hasta que el algoritmo alcanza un alto nivel de
precisión y rendimiento.
37
Modelos supervisados
Aju s tes
D a tos
Algoritmo
Predicción
Científico de
datos
Valor Esperado
38
Modelos supervisados
• Redes neuronales • SVM
39
Tipos de aprendizaje automático
•Aprendizaje sin supervisión. El algoritmo de aprendizaje automático estudia
los datos para identificar patrones. No hay una clave de respuesta o un
operador humano para proporcionar instrucción. La máquina determina las
correlaciones y las relaciones mediante el análisis de los datos disponibles.
•En este proceso, se deja que el algoritmo de aprendizaje automático interprete
grandes conjuntos de datos. El algoritmo intenta organizar esos datos de
alguna manera para describir su estructura. A medida que evalúa más datos,
su capacidad para tomar decisiones sobre los mismos mejora gradualmente y
se vuelve más refinada.
40
Modelos no supervisados
Ajuste
E nt ra da Algoritmo Salida
41
Modelos no supervisados
42
Tipos de aprendizaje automático
•Aprendizaje por refuerzo: Es el
entrenamiento de modelos de aprendizaje
automático para tomar una secuencia de
decisiones. El agente aprende a lograr un
objetivo en un entorno incierto y
potencialmente complejo. En el aprendizaje
por refuerzo, la máquina de aprendizaje se
enfrenta a una situación similar a un juego.
La computadora emplea prueba y error
para encontrar una solución al problema.
La máquina de aprendizaje obtiene
recompensas o penalizaciones por las
acciones que realiza. Su objetivo es
maximizar la recompensa total.
43
Resumen de tipos de aprendizaje
Aprendizaje Tarea Máquinas (algoritmos) más usuales
Regresión logística binaria
Regresión logística multinomial
Árboles de decisión y Random Forest
Clasificación Redes Neuronales
Naive Bayes
K- Nearest Neighbor
Supervisado Análisis discriminante
Regresión lineal
Red Neuronal
Series de tiempo (ARMA, ARIMA, IGARCH… )
Aprendizaje Pronóstico
automático Red Neuronal
Hierarchical clustering
K-Means
Agglomerative Clustering
Agrupación
Affinity propagation
OPTICS
No Supervisado Spectral Clustering
Apriori (y Apriori TID)
Asociación Max-Miner
SETM (Set-oriented Mining)
Naive Bayes
K- Nearest Neighbor
Análisis discriminante
Regresión lineal
Estimación Árbol de decisión CART (classification and regression tree)
Red Neuronal
Series de tiempo (ARMA, ARIMA, IGARCH… )
Pronóstico
Red Neuronal
https://www.ibm.com/cloud/learn/supervised-learning 45
Resumen de tipos de aprendizaje
Aprendizaje Tarea Máquinas (algoritmos) más usuales
Hierarchical clustering
K-Means
Agglomerative Clustering
Agrupación
Affinity propagation
No Supervisado
OPTICS
Spectral Clustering
Apriori (y Apriori TID)
Asociación Max-Miner
SETM (Set-oriented Mining)
Reducción de Principal Components Analysis
dimensiones SVD Singular Value Decomposition
https://www.ibm.com/cloud/learn/unsupervised-learning 46
Actividad 1: Clasificación con
Minitab
47
Clasificación multinomial con CART
• Tarea: Construir un modelo para clasificar un conjunto de
automóviles en 4 categorías de aceptabilidad, a partir de 6 variables
que representan diversas características del auto.
• En este caso todas las variables involucradas son categóricas, pero
el procedimiento admite predictores continuos también.
• Se trabajará con 3 conjuntos de datos:
• Un conjunto de datos de entrenamiento para construir el árbol de decisión, con los
datos de las variables predictoras y las categorías de aceptabilidad conocidas.
• Un conjunto de datos de validación (muestra aleatoria del total de datos disponibles)
que tiene datos de las variables predictoras y sus categorías de aceptabilidad.
• Un conjunto de datos nuevos, es decir, un conjunto de autos para los cuales se
conocen los valores de las variables predictoras y se predecirá su categoría de
aceptabilidad.
48
Diccionario de Datos
# Variable Levels Description
1 buying vhigh, high, med, low The purchase cost of the car
2 maint vhigh, high, med,low Maintenance costs
3 doors 2, 3, 4, 5 , more Number of doors
4 persons 2, 4, more Number of occupants
5 lug_boot small, med, big. Trunk capacity for luggage
6 safety low, med, high Safety rating
7 Car Evaluation unacc, acc, good, vgood Acceptability of the car
https://dataaspirant.com/decision-tree-classifier-implementation-in-r/
49
Procedimiento con Minitab (1)
• Cargar el conjunto de datos completo de “car acceptability.xlsx” (hoja
“Muestra Completa” )
• Seleccionar el procedimiento CART Classification (Classification and
Regression Tree):
50
Procedimiento con Minitab (2)
• Seleccionar la variable de respuesta y las variables predictoras
(todas son categóricas en este ejemplo):
51
Procedimiento con Minitab (3)
• Validación: Partir el conjunto de datos en 80% para entrenamiento
y 20% para validación:
52
Procedimiento con Minitab (4)
• Gráficas: En la opción de “Gráficas” seleccionar las primeras 4:
53
Procedimiento con Minitab (5)
• Gráficas: En la opción de “Resultados” seleccionar los primeros 5:
54
Procedimiento con Minitab (6)
• Almacenamiento: En la opción de “Almacenamiento” seleccionar
la probabilidad de predicción de cada respuesta y la respuesta
predicha:
55
Resultados (1)
• El árbol completo tiene 28 nodos terminales.
56
Resultados (2)
• Métricos de desempeño:
57
Resultados (3)
• Matrices de confusión:
58
Resultados (4)
• Curva característica de operación (ejemplo para resultado = acc):
59
Predicciones (1)
•Al final de los resultados aparece la opción de “Predecir”.
•En el libro “car acceptability.xlsx” está una hoja con 15 nuevos autos por
clasificar. Antes de proceder con las predicciones, copiar esos datos y pegarlos
en la misma tabla de Minitab, en columnas a la derecha.
60
Predicciones (2)
• Ir al procedimiento “Predecir”.
• Asignar la columna correspondiente a cada una de las variables predictoras.
• En “Resultados” y “Almacenamiento” seleccionar todas las opciones.
61
Predicciones (3) Probabilidades de
cada clase, la
numeración es en
• Resultados. ID del nodo
orden alfabético
terminal en el
árbol
Clase
predicha
62
Métricas de evaluación de
algoritmos de clasificación
63
Ejemplo a partir de una matriz de confusión
Predicha
Clases
A B C Suma
A 125 18 5 148
Real B 24 150 19 193
C 12 10 87 109
Suma 161 178 111 450
TP = 125
TN = 266
FP = 36
FN = 23
65
Métricos más usuales
TP = 125
TN = 266
FP = 36
FN = 23
F1 SCORE= 0.8091
66
Área bajo la curva ROC (receiver operating characteristic)
Mejor
desempeño
67
Actividad 2: Clasificación y
cálculo de métricas
68
Actividad 2: Clasificación y métricas
• Utilizando los datos de la tabla “weight-height.csv” aplica el
procedimiento CART para construir un árbol de decisión útil para
predecir el sexo de una persona a partir de su peso y su
estatura.
• En este ejemplo las variables predictoras son continuas y la
variable a predecir es binaria.
• Interpreta los valores de Precision, Accuracy, Sensitivity y
Specificity. Si el software no los reporta haz los cálculos a partir
de la matriz de confusión. Utiliza “Female” como clase de
referencia (Evento de respuesta en Minitab).
• Discute sobre la efectividad del modelo resultante.
69
Actividad 3: Estimación con
CART
70
Actividad 3: Estimación usando CART
• Tarea: Estimar las pérdidas esperadas por una institución financiera por
créditos otorgados a clientes, basándose en características de los clientes que
se registran al momento de solicitar el crédito. La muestra es de 15290
clientes que han generado pérdidas.
• Diccionario de datos:
Variable Description Data Type
Ac_No ID account number Text
Age Age when applying for the loan Numeric integer
Years of Experience Year of experiencie at work Numeric integer
Number of Vehicles Vehicles owned by the applicant Numeric integer
Gender Binary (Female, Male) Text
Marital Status Binary (Married, Single) Text
Losses in Thousands Amount of money lost Numeric continuous
https://www.kaggle.com/soumik11/case-study-loss-given/download
71
Actividad 3: Estimación usando CART (Minitab)
• Los datos están en el archivo
“Bank credit loss.csv”
• Copiar los datos a una hoja de
trabajo en Minitab
• Elegir el método CART
Regression (CART =
Classification and Regression
Tree)
72
Actividad 3: Estimación usando CART (Minitab)
• Seleccionar las variables para el modelo.
• En “Validación”, seleccionar el 30% de los datos para validar, el 70% para
entrenamiento.
• En “Opciones”, “Almacenamiento” seleccionar Ajuste.
• “Aceptar” para ejecutar el procedimiento.
73
Actividad 3: Estimación
usando CART (Minitab)
• Resultados: El árbol completo tiene
5 nodos terminales, es decir, 5
valores estimados de la pérdida
esperada de acuerdo a los valores de
las variables predictoras.
74
Actividad 3: Estimación usando CART (Minitab)
75
Actividad 3: Estimación usando CART (Minitab)
76
Actividad 3: Estimación usando CART (Minitab)
• PREDICCIONES
• En el archivo “Bank credit loss new applicants.csv” se encuentran los
datos de 10 nuevos solicitantes de crédito. Se desea predecir la pérdida
esperada si esos clientes no cumplen con sus pagos.
• Para hacer la predicción primero se introducen los datos de los nuevos
solicitantes en la misma hoja de trabajo de Minitab, en las columnas
vacías a la derecha de la tabla.
• Al final de la ventana de resultados está el botón de “Predecir”.
Seleccionar esa opción.
• Seleccionar las columnas correspondientes a las variables de los nuevos
solicitantes.
• “Aceptar” para ejecutar el proceso.
• Los valores estimados aparecen en una columna adicional.
77
Actividad 3: Estimación usando CART (Minitab)
Pérdida
ID del nodo predicha
Datos de
terminal
los
solicitantes
78
Métricas de evaluación de
algoritmos de estimación
79
Métricas más comunes (1)
σ𝑁
𝑖=1 𝑌𝑟𝑒𝑎𝑙 𝑖 − 𝑌𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑖
𝑀𝐴𝐷 𝑀𝑒𝑎𝑛 𝐴𝑏𝑠𝑜𝑙𝑢𝑡𝑒 𝐷𝑒𝑣𝑖𝑎𝑡𝑖𝑜𝑛 =
𝑁
2
σ𝑁
𝑖=1 𝑌𝑟𝑒𝑎𝑙 𝑖 − 𝑌𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑖
𝑀𝑆𝐸 𝐸𝑟𝑟𝑜𝑟 𝐶𝑢𝑎𝑑𝑟𝑎𝑑𝑜 𝑀𝑒𝑑𝑖𝑜 =
𝑁
2
σ𝑁
𝑖=1 𝑌𝑟𝑒𝑎𝑙 𝑖 − 𝑌𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑖
𝑅𝑀𝑆𝐸 𝑅𝑎í𝑧 𝑑𝑒𝑙 𝐸𝑟𝑟𝑜𝑟 𝐶𝑢𝑎𝑑𝑟𝑎𝑑𝑜 𝑀𝑒𝑑𝑖𝑜 =
𝑁
80
Métricas más comunes (2)
𝑅𝑆𝑆
𝑅2 =1−
𝑇𝑆𝑆
2
𝑅𝑆𝑆 = σ𝑁
𝑖=1 𝑌𝑟𝑒𝑎𝑙 𝑖 − 𝑌𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑖
𝑇𝑆𝑆 = σ𝑁 ത
𝑖=1 𝑌𝑟𝑒𝑎𝑙 𝑖 − 𝑌𝑟𝑒𝑎𝑙
2
81
Actividad 4: Clasificación con
Análisis Discriminante
82
Actividad 4: Análisis Discriminante
• Se utiliza este procedimiento cuando se desea clasificar un
conjunto de datos en categorías, a partir de variables
predictoras continuas.
• Utilizando los datos de la tabla “weight-height.csv” aplica el
procedimiento de Análisis Discriminante para construir un
modelo que permita predecir el Sexo de una persona a partir de
su estatura y su peso.
83
Actividad 4: Análisis Discriminante
• Introducir los datos en una hoja de trabajo de Minitab.
• Elegir Análisis discriminante. Seleccionar las variables.
• En “Opciones”, “Presentación de resultados”, elegir la última
opción.
84
Actividad 4: Análisis Discriminante
• Resultados. La función discriminante lineal se evalúa para un caso
en particular, tanto para Female como para Male, la mayor
probabilidad corresponde a la función que tenga el valor mayor.
Matriz de confusión
Colocar en
un grupo Grupo verdadero
Female Male
Female 4596 403
Male 404 4597
N Total 5000 5000
N correcta 4596 4597
Proporción 0.919 0.919
85
Actividad 4: Predicción con A.D.
• Se desea predecir el Sexo para un
conjunto de 6 personas, con Estatura y
Peso conocidos. New Height New Weight
• Agregar los nuevos datos a la hoja de trabajo de 70 181
Minitab, en columnas adicionales a la derecha 72 190
• Elegir el procedimiento de Análisis Discriminante 68 186
• En “Opciones”, colocar en la ventana “Pronosticar 64 136
membresía del grupo” los nombres de las columnas 65 137
donde están los nuevos datos New Height y New 63 123
Weight.
• “Aceptar” para ejecutar el procedimiento.
• Las predicciones aparecen en la ventana de
resultados.
86
Actividad 4: Resultados de la predicción
87
Actividad Integradora:
Minicaso
88