Computers">
Data Mining Con KNime
Data Mining Con KNime
Data Mining Con KNime
PROFESIONAL EN
DATA SCIENCE AND
BUSINESS ANALYTICS
Escuela Corporativa de
Análisis de Datos
• Conceptos Generales
– Metodología CRISP-DM
– Técnicas de Clasificación, Agrupamiento y Asociación
– Métodos de entrenamiento y validación
• 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
– 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.
Madurez y Valor
Query
Standard Ad-Hoc Statistical Forecasting Predictive Optimisation
Drilldown Dashboard
Reports Reports Analysis Modelling
(OLAP) Qué pasa si Qué es lo mejor
Qué acciones se
Cuánto, cuándo, continúa la Qué sucederá o que puede
Qué sucede? Dónde está el necesitan? Por qué sucede?
donde? tendencia? podría suceder? suceder?
problema?
Buscando
patrones
Relación
entre datos
Fayyad et al.
Data Mining
Conocimiento
Transformación
Patrones
Preprocesamiento
………
………
… … ... Datos
Trans-
Selección formados
Datos
Pre-
procesados
Datos Experto
Seleccio-
Datos nados
50
40
30
20
10
0
Entendimiento del Preparación de los Data Mining Interpretación y
dominio Datos Consolidación del
Conocimiento
Esfuerzo Importancia
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.
Saludos cordialmente
Juan Pérez
• University of Konstanz
• Michael Berthold
– CEO & Spare time programmer
• Bernd Wiswedel
– KNIME‘s Chief Technology Officer
Fuente www.kdnuggets.com
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 • Clasificación
• Asociación
• Agrupamiento
• Regresión
Tareas • Visualización
• Árboles de Decisión
Técnicas
• Redes Neurales
• Reglas de Inducción
• Reglas de Asociación
Algoritmos • Vecino más cercano
• Regresión
• Visualización
Saludos cordialmente
Juan Pérez
0..*
0..*
DETALLE DE VENTA
ID Detalle NUMBER(16) <pk>
ID Cabecera NUMBER(16) <fk>
ID Producto NUMBER(16)
Cantidad NUMBER(16) ESTADO CIVIL
Precio Unitario NUMBER(24,9)
Estado Civil ID NUMBER(2) <pk>
SubTotal NUMBER(24,9)
Descripcion VARCHAR2(256)
IVA NUMBER(24,9)
Total NUMBER(24,9)
Fecha Hora de Lectura DATE
Selección
Datos
Pre- • Operaciones básicas de eliminación de ruidos
procesados en los datos.
– Promedios
Datos
– Promedios acotados
Seleccio-
Datos nados – Técnica del vecino
– Logaritmo Natural
• Búsquedas de representaciones
categóricas para los datos. Ej. agrupar
Transformación los nombres de productos por categorías
en un supermercado, y no por nombre
real, en fin lo que interesa es saber si el
Preprocesamiento cliente consumió pañal y cerveza y no
………
exactamente la marca para encontrar una
………
… … ... Datos relación inicial.
Trans- – Diccionarios
Selección formados
Datos – Técnicas de Similitud
Pre-
procesados
Datos
Seleccio-
Datos nados • 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
X1
<= 5 >5
X1 Z1
<= 3 >3
X2 Z2
<= 4 >4
Z1 Z2
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
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
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
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
0.4
Valores aj
0.3
0.8234
0.15
0.65
Pesos Wij
(c) 2018 - DATO Institute
www.dato.com.py/institute
Técnicas de Clasificación
Lift Yes
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
(c) 2018 - DATO Institute 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
www.dato.com.py/institute
Lift Chart
Lift No
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
(c) 2018 - DATO Institute 0
www.dato.com.py/institute 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
ROC Chart
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”.
B H
• A priori [Agrawal]
X2
X1
X2
centroide 1 centroide 3
centroide 2
X1
X2 Cluster 1
Cluster 3
centroide 1 centroide 3
centroide 2
Cluster 2
X1
X2
X1
X2
X1
X2 Cluster 1
Cluster 3
Cluster 2
X1
X2 Cluster 1
Cluster 3
Cluster 2
X1
X2 Cluster 1
Cluster 3
Cluster 2
X1
X2 Cluster 1
Cluster 3
Cluster 2
X1
https://www.kdnuggets.com/
(c) 2018 - DATO Institute
www.dato.com.py/institute
(c) 2018 - DATO Institute
www.dato.com.py/institute
Lenguaje Python
para Data Science
• 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
IDLE GUI