Está en la página 1de 76

MINERÍA DE DATOS Y EL PROCESO DE KDD

Fayyad (1996)

 Técnicas de Minería de Datos


ARBOL REGLAS AGRUPAMIENTO RED NEURONAL
AGRUPAMIENTO O CLUSTERING
 El clustering es uno de los métodos de aprendizaje no supervisado
más importantes y busca caracterizar conceptos desconocidos a partir
de los ejemplos disponibles.
 Generalmente, en un problema real se desconoce la clase y es allí
donde el agrupamiento puede ayudar a identificar las características
comunes entre instancias.
 Al no disponer de la clase utiliza una medida de similitud para
determinar el parecido entre instancias.
¿CÓMO LOS AGRUPARÍAS?
¿CÓMO LOS AGRUPARÍAS?
ELEMENTOS BÁSICOS DEL AGRUPAMIENTO
 Identificar las características relevantes de cada tipo de elemento.
 Indicar la manera en que se realizará la comparación (DISTANCIA)
AGRUPAMIENTO O CLUSTERING
 El resultado de aplicar una técnica de clustering es una serie de
agrupamientos o clusters formados al particionar las instancias.
Long.eje mayor

Color
AGRUPAMIENTO DE DATOS (CLUSTERING)
 Permite encontrar grupos de datos con características similares.
 Aplicaciones
 Identificar clientes con características similares para ofrecer servicios
adecuados.
 Identificar alumnos con rendimientos académicos similares con el objetivo de
reducir la deserción escolar.
 Seguridad: detección de fraudes.
 Clasificación de documentos.

 Requiere de una medida de similitud o distancia.


AGRUPAMIENTO - OBJETIVO
MÉTRICAS DEL AGRUPAMIENTO OBTENIDO
 Un buen método de agrupamiento producirá grupos de alta calidad
en los cuales
 El parecido entre los elementos que componen un mismo grupo
es alto (intra-cluster).
 El parecido entre los elementos de grupos distintos es bajo
(inter-cluster).
AGRUPAMIENTO - OBJETIVO
 Minimizar la distancia entre los elementos de un mismo cluster
(intra-cluster)
 Maximizar la distancia entre clusters (inter-cluster)
TIPOS DE ALGORITMOS DE AGRUPAMIENTO
 Algoritmo Partitivo
 Particionan los datos creando un número K de clusters.
 Una instancia pertenece a un único grupo.

 Algoritmo Jerárquico
 Generan una estructura jerárquica de clusters que
permiten ver las particiones de las instancias con distinta
granularidad.
 Una instancia pertenece a un único grupo.
MEDIDAS DE DISTANCIA
 Se utilizan para estimar la similitud entre instancias al momento de
decidir si deben ser incluidas en el mismo grupo o en grupos diferentes.
 La más utilizada suele ser la Distancia Euclídea

n
distancia ( X , Y )   (x  y )
i 1
i i
2

Analizar otras medidas


de distancia
PROCESO DE AGRUPAMIENTO
 Seleccionar las características relevantes
 Definir una representación adecuada.
 Definir la medida de similitud a utilidad (medida de distancia).
Depende del problema.
 Aplicar un algoritmo de agrupamiento
 Validar los grupos obtenidos y de ser necesario volver a repetir el
proceso.
PROCESO DE AGRUPAMIENTO
ALGORITMOS DE CLUSTERING PARTITIVOS
 Obtiene una única partición de los datos
K-MEDIAS
 El algoritmo K-Medias fue propuesto por MacQueen, en 1967.
 Requiere conocer a priori el número K de grupos a formar.
 El algoritmo está basado en la minimización de la distancia interna
(la suma de las distancias de los patrones asignados a un
agrupamiento al centroide de dicho agrupamiento).
 De hecho, este algoritmo minimiza la suma de las distancias al
cuadrado de cada patrón al centroide de su agrupamiento.
K-MEDIAS
 Características
 El algoritmo es sencillo y eficiente.
 Procesa los patrones secuencialmente (por lo que requiere un
almacenamiento mínimo).
 Está sesgado por el orden de presentación de los patrones (los
primeros patrones determinan la configuración inicial de los
agrupamientos)
 Su comportamiento depende enormemente del parámetro K.
DEMOSTRACIÓN DE K-MEANS MEDIANTE UN EJEMPLO DE
CARTAS DE PÓKER

https://www.youtube.com/watch?v=zHbxbb2ye3E
ALGORITMO K-MEDIAS
 Elegir aleatoriamente K vectores de entrada como centros
iniciales.
 Repetir
 Calcular los centros de los K clusters.
 Redistribuir los patrones entre los clusters utilizando la mínima
distancia euclídea al cuadrado como clasificador.
hasta que no cambien los centros de los clusters

K_Medias.py
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

El proceso inicia
tomando k=3
ejemplos como
centros iniciales
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

Calcular la
distancia de cada
ejemplo a cada
centro y tomar la
menor

𝑿 = 𝒙𝟏 , 𝒙𝟐
C = 𝒄𝟏 , 𝒄 𝟐
dist2(C,X) = (𝒄𝟏 − 𝒙𝟏 )𝟐 + (𝒄𝟐 − 𝒙𝟐 )𝟐
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

Calcular la
distancia de cada
ejemplo a cada
centro y tomar la
menor
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

Asignar cada
ejemplo al centro
más cercano
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

Recalcular la
posición de los
centros.

 Cada centro se reubica


promediando los valores
de los atributos de los
ejemplos que los
conforman.
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

Recalcular la
posición de los
centros.

 Cada centro se reubica


promediando los valores
de los atributos de los
ejemplos que los
conforman.
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

 Repetir ambos pasos


 Asignar cada ejemplo al
centro más cercano
 Recalcular los centros
hasta que los centros
no cambien
Agrupando los ejemplos de PuntosClusters.csv usando
k-medias con k = 3 clusters

El modelo resultante
estará definido por los
centros (individuos
promedio) de cada grupo.

𝐶1 = 4.9972 , 4.9380

𝐶2 = 7.5672 , 5.9504

𝐶3 = 6.4782 , 7.9324
Utilizando el modelo obtenido con k-medias

 A qué grupo asignaría el nuevo ejemplo? A cuál de los 3 se parece más?

Calcular la
distancia del nuevo
ejemplo a cada
centro y asignarlo
al cluster más
cercano
K-MEDIAS DESDE RAPIDMINER
Utilice los datos del
archivo
PuntosClusters.csv
K-MEDIAS DESDE RAPIDMINER
K-MEDIAS DESDE RAPIDMINER
K-MEDIAS DESDE RAPIDMINER
 Modelo obtenido como resultado del agrupamiento con k=3
VISUALIZACIÓN DE LOS GRUPOS
VISUALIZACIÓN DE LOS GRUPOS
USANDO EL ID DE GRUPO COMO ETIQUETA (LABEL)
 Puede utilizarse un árbol para explicar cómo se forman los grupos
USANDO EL ID DE GRUPO COMO ETIQUETA (LABEL)
VISUALIZANDO LOS VALORES DE CLASE EN CADA GRUPO

Es preciso disponer del label original y


de la etiqueta de cluster por lo que no
debe estar tildada esta opción
VISUALIZANDO LOS VALORES DE CLASE EN CADA GRUPO

Falta configurarlo
VISUALIZANDO LOS VALORES DE CLASE EN CADA GRUPO
VISUALIZANDO LOS VALORES DE CLASE EN CADA GRUPO
RESULTADO DE LA AGREGACIÓN
EJEMPLO 2 - AGRUPANDO FLORES DE IRIS

 Se dispone de información 3 tipos de flores Iris

Setosa Versicolor Virginica

https://archive.ics.uci.edu/ml/datasets/Iris
EJEMPLO 2 - AGRUPANDO FLORES DE IRIS

Id sepallength sepalwidth petallength petalwidth class


1 5,1 3,5 1,4 0,2 Iris-setosa
2 4,9 3,0 1,4 0,2 Iris-setosa
… … … … … …
95 5,6 2,7 4,2 1,3 Iris-versicolor
96 5,7 3,0 4,2 1,2 Iris-versicolor
97 5,7 2,9 4,2 1,3 Iris-versicolor
… … … … … …
149 6,2 3,4 5,4 2,3 Iris-virginica
150 5,9 3,0 5,1 1,8 Iris-virginica

https://archive.ics.uci.edu/ml/datasets/Iris
EJEMPLO 2 - AGRUPANDO FLORES DE IRIS
 Sebusca identificar atributos con valores distintos entre
grupos
EJEMPLO 2 - AGRUPANDO FLORES DE IRIS
EJEMPLO 2 - AGRUPANDO FLORES DE IRIS
MÉTRICAS DE VALIDACIÓN DEL AGRUPAMIENTO
 Como el objetivo del clustering es agrupar objetos
similares en el mismo cluster y objetos diferentes en
distintos clusters, las métricas de validación están
basadas usualmente en los siguientes criterios:
 Cohesión
 Separación
CRITERIOS DE LAS MÉTRICAS DE VALIDACIÓN

 Cohesión
 Se busca que los miembros de un mismo grupo se encuentren lo
más cerca que sea posible unos de otros.

 Separación
 Los clusters deben estar ampliamente separados entre ellos.
Existen varios enfoques para medir esta distancia entre clusters:
distancia entre los miembros más cercanos, distancia entre los
miembros más distantes o la distancia entre los centroides.
INDICE SILHOUETTE
Dado un punto x del conjunto de datos :
 Cohesión a(x) : distancia promedio de x a todos
los demás puntos en el mismo cluster.

 Separación b(x) : distancia promedio de x a todos los demás


puntos en el cluster más cercano.
INDICE SILHOUETTE DE UN ELEMENTO
 El índice silhouette para el punto x está definido como

𝑏 𝑥 − 𝑎(𝑥)
𝑠 𝑥 =
max{𝑏 𝑥 , 𝑎(𝑥)}

 El valor de s(x) puede variar entre -1 y 1.


-1 = mal agrupamiento
0 = indiferente
1 = bueno
INDICE SILHOUETTE DEL AGRUPAMIENTO

 El índice Silhouette para todo el agrupamiento es

𝑁
1
𝑆𝐶 = ෍ 𝑠(𝑥𝑖 )
𝑁
𝑖=1

 Será mejor cuanto mayor sea el valor del índice.


SILHOUETTE EN RAPIDMINER
Instale el operador Silhouette copiando el archivo
CPPlugin-0.3.jar
en el directorio lib/plugins dentro del directorio
de instalación de Rapidminer

o en el directorio
C:\Users\Alumnos\.RapidMiner\extensions
SILHOUETTE EN RAPIDMINER

Operador (Average)
Performance
EJERCICIO

Cantidad de grupos Indice


(Valor de k) Silhouette

2.0 0.6808
3.0 0.5510
4.0 0.4951
5.0 0.4885
OPERADOR LOOP PARAMETERS

 Este Operador itera sobre sus


subprocesos para todas las
combinaciones de parámetros
definidos
OPERADOR LOOP PARAMETERS
INDICE DAVIES-BOULDIN

 Este índice compara a cada cluster con su vecino más


cercano.
 Para medir la calidad del agrupamiento tiene en cuenta los
siguientes dos conceptos
 dispersión de cada cluster.
 distancia entre clusters.
INDICE DAVIES-BOULDIN - DISPERSIÓN

 Ladispersión 𝑆𝑖 del cluster 𝐶𝑖 se define como la distancia promedio


entre los ejemplos que pertenecen al cluster y el centro del mismo.
1
𝑆𝑖 = ෍ 𝑑𝑖𝑠𝑡(𝑥, 𝑚𝑖 )
|𝐶𝑖 |
𝑥∈𝐶𝑖

donde |Ci | es la cantidad de elementos que pertenecen al cluster


Ci , x es un elemento y mi es el centroide de dicho cluster.
 Cuanto más cerca del centro estén los ejemplos, menor será la
dispersión del cluster.
INDICE DAVIES-BOULDIN - DISTANCIA

 La distancia entre los centros de los clusters 𝐶𝑖 y 𝐶𝑗 se calcula de


la siguiente forma
𝐷𝑖𝑗 = 𝑑𝑖𝑠𝑡(𝑚𝑖 , 𝑚𝑗 )
donde 𝑚𝑖 y 𝑚𝑗 son los centroides de los clusters 𝐶𝑖 y 𝐶𝑗
respectivamente.
INDICE DAVIES-BOULDIN – COMPARACIÓN

 Dadosdos clusters 𝐶𝑖 y 𝐶𝑗 , para calificar la manera en que los


elementos quedan distribuidos se define la siguiente expresión
𝑆𝑖 + 𝑆𝑗
𝑅𝑖𝑗 =
𝐷𝑖𝑗
 Mientras más compactos sean los clusters 𝐶𝑖 y 𝐶𝑗 menores serán
𝑆𝑖 y 𝑆𝑗 , y mientras más separados estén, mayor será 𝐷𝑖𝑗 .
 Porlo tanto, cuanto más compactos sean los grupos y más
separados se encuentren, menor será el valor de 𝑅𝑖𝑗
INDICE DAVIES-BOULDIN

 El índice Davies-Bouldin se define como


𝑘
1
𝐷𝐵 = ෍ max 𝑅𝑖𝑗
𝑘 𝑖≠𝑗
𝑖=1
donde
 k es el número de clusters
 max 𝑅𝑖𝑗 es el “peor caso” para el cluster 𝐶𝑖
𝑖≠𝑗
 Será mejor cuanto menor sea el valor del índice Davies-Bouldin.
 El valor del índice no está acotado. Puede tomar un valor
arbitrario.
DAVIES-BOULDIN EN RAPIDMINER

Operador Cluster Distance


Performance
OPERADOR CLUSTER DISTANCE PERFORMANCE

Tildar para que no aparezca


un índice negativo
EJERCICIO

Cantidad de grupos Indice


(Valor de k) Davies-Bouldin

2.0 0.4048
3.0 0.6664
4.0 0.7545
5.0 0.8062
EJERCICIO
 El archivo SEMILLAS.csv contiene información de granos que
pertenecen a tres variedades de trigo: Kama, Rosa y Canadiense.
 Para cada grano se midieron las siguientes características:
 área A,
 perímetro P,
 compacidad C = 4 * pi * A / P ^ 2,
 longitud del núcleo,
 ancho del núcleo,
 coeficiente de asimetría
 longitud del surco del núcleo

 Describa los tipos de semillas inspeccionados utilizando una técnica de


clustering.

También podría gustarte