Data Mining Con KNime

PROGRAMA PROFESIONAL EN DATA SCIENCE AND BUSINESS ANALYTICS Escuela Corporativa de Análisis de Datos (c) 2018 - DATO I

Views 105 Downloads 0 File size 6MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROGRAMA PROFESIONAL EN DATA SCIENCE AND BUSINESS ANALYTICS

Escuela Corporativa de Análisis de Datos

(c) 2018 - DATO Institute www.dato.com.py/institute

AGENDA •

Conceptos Generales – – –

• •

Tipos de modelos. Técnicas y algoritmos principales – – – – –





Árboles de clasificación (Gini Index / Gain Ratio), Redes Neuronales, Time Series y Regresion (LAG Techniques), Apriori, K-Means

Métodos de Evaluación de modelos – –



Metodología CRISP-DM Técnicas de Clasificación, Agrupamiento y Asociación Métodos de entrenamiento y validación

Matriz de Clasificación y Matriz de Contingencia, Curvas Lift y curvas ROC

Caso práctico con KNime, para el desarrollo, evaluación e implementación de un modelo predictivo, descriptivo y prescriptivo. Pre-procesamiento y Transformaciones.

(c) 2018 - DATO Institute www.dato.com.py/institute

INTELIGENCIA DE NEGOCIOS

(c) 2018 - DATO Institute www.dato.com.py/institute

INTELIGENCIA DE NEGOCIOS

• Conjunto de productos y servicios que permiten a los usuarios finales acceder y analizar de manera rápida y sencilla, la información para la toma de decisiones de negocio a nivel operativo, táctico y estratégico.

(c) 2018 - DATO Institute www.dato.com.py/institute

INTELIGENCIA DE NEGOCIOS

Madurez y Valor

Standard Reports Qué sucede?

Ad-Hoc Reports Cuánto, cuándo, donde?

Query Drilldown (OLAP) Dónde está el problema?

Dashboard Qué acciones se necesitan?

Statistical Analysis Por qué sucede?

(c) 2018 - DATO Institute www.dato.com.py/institute

Forecasting Qué pasa si continúa la tendencia?

Predictive Modelling Qué sucederá o podría suceder?

Optimisation Qué es lo mejor que puede suceder?

INTELIGENCIA DE NEGOCIOS

Una arquitectura estándar y dónde encaja el Data Mining

(c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

(c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

• Es el estudio y tratamiento de datos para extraer conclusiones e informaciones relevantes para aportar a las acciones tácticas y estratégicas del negocio.

(c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

Por qué minar los datos • La cantidad de datos recolectados y almacenados minuto a minuto:

– Datos generados en la nube, redes sociales. – Compras en negocios con diversos departamentos: e-commerce, tiendas virtuales, etc. – Transacciones bancarias / Tarjetas de Crédito. – Machine generated data: sensores, web logs, etc.

• Frecuentemente hay información “oculta” en los datos que no es directamente evidente a los ojos de un analista, o simplemente es tal el volumen de información que nunca llega a ser analizada. • El GAP entre el volumen de información y el número de analista crece exponencialmente. • La presión competitiva es cada vez mayor, y los datos deben ser entendidos como un activo que le permitirá a las organizaciones proporcionar más y mejores servicios, predecir eventos futuros, anticiparse a ellos, etc. (c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

El ciclo de vida de los datos Buscando patrones

Relación entre datos

(c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

Qué NO es Data Mining • No es un producto de SW que se compra sino una disciplina que debe ser dominada. • No es una solución mágica ni mucho menos instantánea a los problemas de negocio. • No es un fin en sí mismo, sino un proceso. • No es un dogma de fe, es una disciplina con sustento matemático y estadístico. • Algunos ejemplos de lo que NO es Data Mining:

– Buscar en una base de datos todas las personas mayores a 20 años que viven en Asunción y no han cursado estudios universitarios. – Determinar la bebida gaseosa más vendida en cada región. – Armar el forecast de ventas para el próximo año fiscal basado en políticas y reglas del negocio. (c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

Qué SI es Data Mining • Determinar la probabilidad de que un cliente solicite la baja de su servicio en los próximos 3 meses. • Determinar que clientes son más propensos a responder afirmativamente a una determinada acción de MKT con una oferta determinada. • Antes de otorgar un préstamo, determinar la probabilidad de que esa persona no pueda hacer frente al pago del mismo en tiempo y forma, cayendo en mora. • Segmentar nuestra cartera de clientes para encontrar grupos de clientes con características de comportamiento similares. • Analizar el comportamiento de compras de nuestros clientes para la confección de ofertas de productos. (c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

Knowledge Discovery in Database "KDD es el proceso no trivial de identificar patrones en los datos, en forma válida, novedosa, potencialmente útil y entendible" Fayyad et al.

(c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING Interpretación/ Evaluación

Data Mining

Conocimiento Transformación Patrones Preprocesamiento ……… ……… … … ...

Selección

Datos

Datos Preprocesados

Datos Transformados

Datos Seleccionados

Experto

Proceso interactivo e iterativo que envuelve varios pasos y con decisiones a ser tomadas por el usuario (c) 2018 - DATO Institute www.dato.com.py/institute

DATA MINING

KDD - Esfuerzo vs. Importancia 60 50 40 30 20 10 0 Entendimiento del dominio

Preparación de los Datos Esfuerzo

(c) 2018 - DATO Institute www.dato.com.py/institute

Data Mining

Importancia

Interpretación y Consolidación del Conocimiento

DATA MINING

CRISP - DM Método standard que ha sido desarrollado para ayudar en la realización de proyectos de DM. Fue creado por un consorcio de compañías, principalmente en Europa, y se llamó Cross-Industry Standard Process for Data Mining, o CRISP-DM.

(c) 2018 - DATO Institute www.dato.com.py/institute

CRISP - DM

(c) 2018 - DATO Institute www.dato.com.py/institute

Ejercicio Análisis de un caso de uso. Parte 1. Desarrollo y debate de un análisis de requerimiento Mi nombre es Juan Pérez y soy el Gte de Marketing de la Cía. de Supermecado OnLine - SMO. Como Cía. estamos buscando poder entender el consumo de nuestros clientes con el fin de generar campañas efectivas de fidelización y retención. En los últimos tiempos hemos detectado que vienen bajando los pedidos on-line, por el cual queremos poder, además de entender las causas, entender qué producto se dejará de comprar. Para el efecto podemos proveer un conjunto de muestras con los datos de ciertos clientes y sus compras en ciertas fechas. Saludos cordialmente Juan Pérez (c) 2018 - DATO Institute www.dato.com.py/institute

CRISP - DM

(c) 2018 - DATO Institute www.dato.com.py/institute

CRISP - DM

(c) 2018 - DATO Institute www.dato.com.py/institute

CRISP - DM

(c) 2018 - DATO Institute www.dato.com.py/institute

CRISP - DM

(c) 2018 - DATO Institute www.dato.com.py/institute

CRISP - DM

(c) 2018 - DATO Institute www.dato.com.py/institute

CRISP – DM (roles)

(c) 2018 - DATO Institute www.dato.com.py/institute

(c) 2018 - DATO Institute www.dato.com.py/institute

KNIME - who are they?

• University of Konstanz • Michael Berthold – CEO & Spare time programmer

• Bernd Wiswedel – KNIME‘s Chief Technology Officer

• And many others (c) 2018 - DATO Institute www.dato.com.py/institute

KNIME – what is it?

• Open Source Framework for visual data analysis • Developed at University of Konstanz since 2006 • The #1 satisfying open source analytics platforms – According to 2012 Rexer survey

(c) 2018 - DATO Institute www.dato.com.py/institute

KNIME – what is it?

(c) 2018 - DATO Institute www.dato.com.py/institute

KNIME – Tool

(c) 2018 - DATO Institute www.dato.com.py/institute

KNIME – CRISP DM

(c) 2018 - DATO Institute www.dato.com.py/institute

METODOLOGÍAS

Fuente www.kdnuggets.com

(c) 2018 - DATO Institute www.dato.com.py/institute

DM (Objetivos)

y = f(x) Predictivo

Descriptivo

Consiste en utilizar algunas variables o Se centra en encontrar patrones campos de la Base de Datos para predecir interpretables por el ser humano, a partir de valores desconocidos o futuros de otras la descripción de los datos. variables de interés. (c) 2018 - DATO Institute www.dato.com.py/institute

DM – Tareas vs Técnicas

Objetivos

Tareas

Técnicas

Algoritmos

(c) 2018 - DATO Institute www.dato.com.py/institute

• • • • •

Clasificación Asociación Agrupamiento Regresión Visualización • • • • • • •

Árboles de Decisión Redes Neurales Reglas de Inducción Reglas de Asociación Vecino más cercano Regresión Visualización

DM – Técnicas de Visualización

(c) 2018 - DATO Institute www.dato.com.py/institute

DM – Técnicas de Visualización

(c) 2018 - DATO Institute www.dato.com.py/institute

Data Understanding & Data Preparation

(c) 2018 - DATO Institute www.dato.com.py/institute

CASO DE ESTUDIO Análisis de un caso de uso. Parte 1. Desarrollo y debate de un análisis de requerimiento Mi nombre es Juan Pérez y soy el Gte de Marketing de la Cía. de Supermecado OnLine - SMO. Como Cía. estamos buscando poder entender el consumo de nuestros clientes con el fin de generar campañas efectivas de fidelización y retención. En los últimos tiempos hemos detectado que vienen bajando los pedidos on-line, por el cual queremos poder, además de entender las causas, entender qué producto se dejará de comprar. Para el efecto podemos proveer un conjunto de muestras con los datos de ciertos clientes y sus compras en ciertas fechas. Saludos cordialmente Juan Pérez (c) 2018 - DATO Institute www.dato.com.py/institute

CASO DE ESTUDIO CLIENTE CABECERA DE VENTA ID Cabecera ID Cliente Fecha Hora de Compra Cantidad de Productos Forma de Pago Monto T otal Cajero ID

NUMBER(16)

NUMBER(16)

DATE NUMBER(16) NUMBER(16) NUMBER(24,9) NUMBER(16)

0..*

ID Cliente Estado Civil ID Nombre Apellido CI Sexo Fecha Nacimiento Telefono Celular Lugar de Trabajo Tel. de Oficina Hijos

NUMBER(16)

NUMBER(2)

VARCHAR2(256) VARCHAR2(256) VARCHAR2(32) VARCHAR2(1) DATE VARCHAR2(64) VARCHAR2(64) VARCHAR2(256) VARCHAR2(64) NUMBER(2)

0..* 0..* DETALLE DE VENTA ID Detalle ID Cabecera ID Producto Cantidad Precio Unitario SubTotal IVA Total Fecha Hora de Lectura

NUMBER(16)

NUMBER(16)

NUMBER(16) NUMBER(16) NUMBER(24,9) NUMBER(24,9) NUMBER(24,9) NUMBER(24,9) DATE

(c) 2018 - DATO Institute www.dato.com.py/institute

ESTADO CIVIL Estado Civil ID NUMBER(2)

Descripcion VARCHAR2(256)

Técnicas de Limpieza •

Selección de columnas (también llamados variables o atributos) para el análisis.



Eliminación de registros repetidos.



Operaciones básicas de eliminación de ruidos en los datos.

Preprocesamiento ……… ……… … … ...

Selección

Datos

Datos Preprocesados

– – – –

Datos Seleccionados



Definición de estrategias en caso de campos ausentes en los datos. – – –



Promedios Promedios acotados Técnica del vecino Logaritmo Natural

Promedios Promedios acotados Técnica del vecino

Consideración de secuencias temporales en los datos.

(c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Técnicas de Transformación •

Búsqueda de características útiles en los datos teniendo en cuenta los objetivos a los que se enfocan. Ej. convertir una columna fecha del tipo 'dd/mm/yyyy hh24:mi' en

Dia_De_La_Semana, Mes, Hora. Discretizar valores numéricos, por ejemplo, edad entre 1318 es 'menor_de_edad', entre 19-25 es 'nivel_post_secundario', ... –

Técnicas Bind

• Transformación

Preprocesamiento ……… ……… … … ...

Selección

Datos

Datos Preprocesados Datos Seleccionados



Datos Transformados

Búsquedas de representaciones categóricas para los datos. Ej. agrupar

los nombres de productos por categorías en un supermercado, y no por nombre real, en fin lo que interesa es saber si el cliente consumió pañal y cerveza y no exactamente la marca para encontrar una relación inicial. – –

Diccionarios Técnicas de Similitud

Utilización de métodos de transformación con vista a la reducción del número efectivo de variables en consideración. – Técnicas de Normalización – PCA (Principal Component Analysis) (c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Modelos de Clasificación

(c) 2018 - DATO Institute www.dato.com.py/institute

Ejercicio

(c) 2018 - DATO Institute www.dato.com.py/institute

Ejercicio

(c) 2018 - DATO Institute www.dato.com.py/institute

Ejercicio X1 5 Z1

X1 3

X2

Z2

4

Z1

Z2 (c) 2018 - DATO Institute www.dato.com.py/institute

Ejercicio

(c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Modelos Predictivos

(c) 2018 - DATO Institute www.dato.com.py/institute

Procesos del modelado predictivo

(c) 2018 - DATO Institute www.dato.com.py/institute

Procesos del modelado predictivo

(c) 2018 - DATO Institute www.dato.com.py/institute

Procesos del modelado predictivo

(c) 2018 - DATO Institute www.dato.com.py/institute

Resumen de Modelado

(c) 2018 - DATO Institute www.dato.com.py/institute

Técnicas de Clasificación •

Árboles de decisión: estructuras de forma de árbol que representan conjuntos de decisiones. Estas decisiones generan reglas para la clasificación de un conjunto de datos. Métodos específicos de árboles de decisión incluyen Árboles de Clasificación y Regresión.

(c) 2018 - DATO Institute www.dato.com.py/institute

Árbol de Decisión Formalmente un árbol de decisión es un grafo acíclico dirigido en el cual cada nodo es un nodo de decisión con dos o mas sucesores, o un nodo hoja. El nodo de decisión contiene una pregunta sobre un atributo concreto (con un hijo por cada posible respuesta) y, el nodo hoja se refiere a una decisión y es etiquetado con una clase. Las diferencias principales entre los distintos algoritmos de construcción de árboles de decisión radican en las estrategias de poda y en la regla adoptada para particionar nodos.

(c) 2018 - DATO Institute www.dato.com.py/institute

Árbol de Decisión Reglas adoptadas para particionar nodos J48.J48 y J48.Part - Entropía: Dado una distribución de probabilidad P = (p1, p2, ..., pn), se define la Entropía de P como la información que conlleva a dicha distribución, tal que: I(P) = -(p1*log2(p1) + p2*log2(p2) + … + pn*log2(pn)) - Info(T): Si un conjunto T de registros es particionado en un conjunto disjunto de clases C1, C2, ..., Ck sobre la base de los valores del atributo objetivo, entonces la información necesitada para identificar las clases de un elemento de T es Info(T) = I(P), donde P es la distribución de probabilidad de las particiones (C1, C2, ..., Ck): P = (|C1|/|T|, |C2|/|T|, ..., |Cn|/|T| ) - Info(X, T): Si primeramente se particiona T en base a los valores de los atributos no objetivos X en conjuntos T1, T2, ..., Tn entonces la información necesitada para identificar la clase de un elemento de T está definida como el promedio de la información necesitada para identificar las clases de un elemento Ti: Info(X, T) = i=1..n (|Ti| / |T|) * Info(Ti) (c) 2018 - DATO Institute www.dato.com.py/institute

Árbol de Decisión Reglas adoptadas para particionar nodos J48.J48 y J48.Part Dado un conjunto de ejemplo sobre un juego de golf, con cuatro atributos no objetivos (X1, X2, X3, X4) y una clase (Y) definida. Info(T) = I(P) = I(p1, p2) = I(|C1|/|T|, |C2|/|T|) = I(9/14, 5/14) = = - ((9/14)*log2(9/14) + (5/14)*log2(5/14)) = 0.94 Info(perspectiva, T) = 5/14*I(2/5, 3/5) + 4/14*I(4/4, 0) + + 5/14*I(3/5, 2/5) = 0.694

(c) 2018 - DATO Institute www.dato.com.py/institute

Árbol de Decisión Reglas adoptadas para particionar nodos

J48.J48 y J48.Part - Ganancia: La ganancia está definida como la diferencia entre la información necesitada para identificar un elemento de T y la información necesitada para identificar un elemento de T después de la obtención del valor del atributo X: Gain(X,T) = Info(T) – Info(X, T) Por ejemplo, Gain(perspectiva,T) = Info(T) – Info(perspectiva, T) = = 0.94 – 0.694 = 0.246 Gain(viento,T) = Info(T) – Info(viento, T) = = 0.94 - 0.892 = 0.048

(c) 2018 - DATO Institute www.dato.com.py/institute

Árbol de Decisión Reglas adoptadas para particionar nodos

J48.J48 y J48.Part - Radio de Ganancia: La noción de ganancia introduce tendencias primitivas a favor de los atributos que tiene un gran número de valores. Para compensar esto, el J48 hace uso de la definición de radio de ganancia, tal que: GainRatio(D, T) = Gain(D,T) / SplitInfo(D, T) donde la función SplitInfo(D, T) es la información necesaria para dividir el conjunto T sobre la base del valor del atributo objetivo D. Así, SplitInfo(D, T) es: I(|T1|/|T|, |T2|/|T|, ..., |Tm|/|T| ) donde {T1, T2, ..., Tm} es la partición de T inducida por el valor de D. Por ejemplo, GainRatio(perspectiva,T) = 0.246 / I(5/14, 4/14, 5/14) = = 0.246 / 1.577 = 0.156 GainRatio(viento,T) = 0.048 / I(6/14, 8/14) = = 0.048 / 0.985 = 0.049 (c) 2018 - DATO Institute www.dato.com.py/institute

Árbol de Decisión Reglas adoptadas para particionar nodos

CART-Gini - Impureza: Se basa en una función para medir la impureza del nodo/s del árbol generado, definida como: i(t) = 1 - i=1..n (pi)2 donde pi es la probabilidad de ocurrencia de una clase dada. Cuando un atributo es examinado, la impureza promedio del nodo/s descendiente implicado es sustraído de la función i(t) y el atributo que resulta de entre las impurezas mínimas es seleccionado. Por ejemplo, i(perspectiva = nublado) = 1 – (4/4)2 = 0 (mínima impureza) i(perspectiva != nublado) = 1 – [(5/10)2 + (5/10)2)] = 0.5 i(perspectiva = lluvioso) = 1 – [(2/5)2 + (3/5)2)] = 0.48 i(perspectiva = soleado) = 1 – [(3/5)2 + (2/5)2)] = 0.48 i(temperatura > 73) = 1 – [(2/6)2 + (4/6)2)] = 0.44 i(viento = no) = 1 – [(2/8)2 + (6/8)2)] = 0.375 (c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Técnicas de Clasificación Las técnicas más comúnmente usadas en Data Mining para cumplir con algunas de las tareas ya descritas son: •

Redes neuronales artificiales: modelos predecibles no-lineales que aprenden a través del entrenamiento y semejan la estructura de una red neuronal biológica. Con frecuencia son usadas bajo tareas de Clasificación. 0.4

Valores aj

0.3 0.8234

0.15 Atributo

Valor Valnor

Edad No. Rec. Repar Clima Cochera Terreno Construc. Sector3

20 3 2 D 2 400 350 0.65

0.4 0.3 0.15 0.25 0.33 0.4 0.35

0.25

0.79612

-0.24

0.33

0.71315

0.937

0.4

0.5824 0.6136

1.23 0.35

0.65

(c) 2018 - DATO Institute www.dato.com.py/institute

-1.325

Pesos Wij

$2,255,000

Técnicas de Clasificación •

Regresión: consiste en dado un conjunto de puntos encontrar una función que aproxime los puntos.

(c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Técnicas de Clasificación

Técnicas de Entrenamientos y Evaluación. • • • •

Igual conjunto de entrenamiento y prueba. Dividir el conjunto (en un porcentaje definido) para entrenamiento y para prueba. Diferentes conjuntos para entrenamiento y prueba. Usar Validaciones Cruzadas. Uso de los Folds.

Validaciones de Modelos y Patrones • • • • • •

Validaciones Estadísticas. Validaciones mediante el uso de SQL. Matriz de Clasificación o de Confusión y Medidas de Validación. Lift Chart ROC Chart Validaciones de Reglas mediante Medidas de la Literatura. Uso de Matriz de Contingencia. (c) 2018 - DATO Institute www.dato.com.py/institute

Matriz de Clasificación

(c) 2018 - DATO Institute www.dato.com.py/institute

Matriz de Clasificación Otra manera de ver la Matriz de Confusión es la mostrada en el gráfico más abajo. En ella se definen cuatro valores o categorías en la matriz. TP: True Positive (son para la clase estudiada los valores que son predichos en forma correcta). FN: False Negative (valores de la clase estudiada que clasifican hacia otra clase). FP: False Positive (valores de otras clases que clasifican por la clase estudiada). TN: True Negative (valores de otras clases que clasifican para sus respectivas clases)

(c) 2018 - DATO Institute www.dato.com.py/institute

Lift Chart • Es una curva que permite medir la ganancia del modelo con respecto al centil poblacional y la probabilidad de acierto de un elemento de clase

(c) 2018 - DATO Institute www.dato.com.py/institute

Lift Chart

(c) 2018 - DATO Institute www.dato.com.py/institute

Lift Chart

Lift Yes 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

(c) 2018 - DATO Institute www.dato.com.py/institute

0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Lift Chart

Lift No 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2

(c) 2018 - DATO Institute www.dato.com.py/institute

0.1 0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

ROC Chart

(c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Matriz de Contigencia Dado una regla R: B → H, y un ejemplo Ti = (xi, yi) con sus respectivas clases yi, se puede aplicar la regla al ejemplo y comparar el resultado previsto en H con la verdadera clase yi del ejemplo. De dicha comparación surge la matriz denominada “contingencia”.

(c) 2018 - DATO Institute www.dato.com.py/institute

Matriz de Contigencia

B

(c) 2018 - DATO Institute www.dato.com.py/institute

H

Deployment

(c) 2018 - DATO Institute www.dato.com.py/institute

Algunos Modelos

(c) 2018 - DATO Institute www.dato.com.py/institute

Integración al Ciclo de Vida del Cliente

• • •

• • • • •

Customer Segmentation Product Pricing Invetory Control Demand Forecasting Target Marketing/Response Modeling

• •

Market Basket Analysis Cross Sell and Up Sell



Churn Prediction

Customer Lifetime Value (CLV) Customer Potential Campaign/Promotion Effectiveness Analysis

• • • •

Customer Loyalty Analysis Customer Lifetime Value (CLV) Customer Segmentation Customer Potential

(c) 2018 - DATO Institute www.dato.com.py/institute

Integración al Ciclo de Vida del Producto

(c) 2018 - DATO Institute www.dato.com.py/institute

Integración 360

(c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Modelos de Asociación

(c) 2018 - DATO Institute www.dato.com.py/institute

Conjunto de ejemplos para una tarea de Asociación o Agrupación

Dado un conjunto de datos T con n ejemplos y cada ejemplo con m atributos, tal como se muestra en la figura, se define una linea i como el iésimo ejemplo (i= 1, 2, ...,n) y una entrada xij como el valor del j-ésimo (j= 1, 2, ...,m) atributo Xj del ejemplo i. Así, los ejemplos se definen como Ti= (xi1, xi2, ..., xim) = (xi).

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Asociación • A priori [Agrawal] 1) Identificación de los conjuntos frecuentes (de ítems) con suporte >= MinSup 2) Construcción de reglas a partir de esos conjuntos con confianza >= MinConf. Conjuntos frecuentes (Large itemsets) – Todos los subconjuntos de cada transacción son candidatos (en el peor de los casos )

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Asociación

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Asociación

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Asociación

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Asociación

(c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Modelos de Segmentación

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

• Kmeans [J.B. MacQueen, 1967] 1.) Determinar el número de clusters (classes) k 2.) Seleccionar k centroides iniciales 3.) Determinar las fronteras de cada cluster 4.) Asignar cada registro al cluster cuyo centroide esté más cercano a ese registro 5.) Repetir los pasos 3 y 4 hasta que las fronteras de los clusters no cambien significativamente

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

X1 Datos iniciales. Número de clusters posibles K=3 (c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

centroide 1

centroide 3

centroide 2

X1 Centroides iniciales, uno por cada cluster

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

Cluster 1

Cluster 3

centroide 1

centroide 3

centroide 2

Cluster 2 X1 Asignar cada registro al centroide más cercano

(c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

X1 Calcular las fronteras de cada cluster: trazar una recta entre cada par de centroides y trazar una perpendicular (c) 2018 - DATO Institute a la recta www.dato.com.py/institute equidistance de ambos centroides

Algoritmos utilizados - Agrupación

X2

X1 Calcular las fronteras de cada cluster (c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

Cluster 1

R Cluster 3 Cluster 2 X1 Fronteras de los clusters (c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

Cluster 1

Cluster 3

R

Cluster 2 X1 Asignar cada registros a clusters . El registro R cambió del cluster 2 al cluster 1 (c) 2018 - DATO Institute www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

Cluster 1 Cluster 3

R

Cluster 2 X1 Recalcular los centroides: promedio (c) 2018 - DATO Institute en cada eje x1, x2

www.dato.com.py/institute

Algoritmos utilizados - Agrupación

X2

Cluster 1 Cluster 3

R

Cluster 2 X1 Recalcular las fronteras de los clusters El registro R está ahora en el(c)cluster 2018 - 2 DATO Institute

www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute

Lenguajes de Programación para DATA SCIENCE

(c) 2018 - DATO Institute www.dato.com.py/institute

Lenguajes Populares

(c) 2018 - DATO Institute https://www.kdnuggets.com/

www.dato.com.py/institute

(c) 2018 - DATO Institute www.dato.com.py/institute

Lenguaje Python para Data Science

(c) 2018 - DATO Institute www.dato.com.py/institute

Características

• Lenguaje interpretado o Flexibilidad y legibilidad del código • Multiplataforma o Windows o Linux o Mac OS

• Dinámico o Puede ejecutarse de a una línea a la vez • Compilado o Empaquetar códigos para ciertas plataformas o arquitecturas • Licencia de Código Abierto • Versiones actuales 2.7.x y 3.x o Futura migración completa a la versión 3.x (c) 2018 - DATO Institute www.dato.com.py/institute

Entornos de Desarrollo

IDLE GUI

(c) 2018 - DATO Institute www.dato.com.py/institute

Librerías para DM/ML • Computación Científica/ML • Soporte para vectores y matrices • Funciones matemáticas de alto nivel

• Manipulación y análisis de Datos • Estructuras de datos. DataFrames

• Ecosistema de softwares Open - Source • Funciones matemáticas de optimización • Procesamiento de señales e imágenes • Biblioteca de paquetes para ML • Interoperación con NumPy y SciPy • K-Means, Clasificación, Regresión (c) 2018 - DATO Institute www.dato.com.py/institute

Librerías Gráficas

WEB

Basado en Matplotlib

(c) 2018 - DATO Institute www.dato.com.py/institute

Integración con Plataformas

(c) 2018 - DATO Institute www.dato.com.py/institute

Integración con Plataformas

(c) 2018 - DATO Institute www.dato.com.py/institute

Integración con Plataformas

(c) 2018 - DATO Institute www.dato.com.py/institute

Integración con Plataformas

(c) 2018 - DATO Institute www.dato.com.py/institute

Práctica con

(c) 2018 - DATO Institute www.dato.com.py/institute