27
reglas de asociaci´ on minado de secuencias clustering Text Mining Introducci´ on a Miner´ ıa de Datos Laura Alonso i Alemany Facultad de Matem´ atica, Astronom´ ıa y F´ ısica UNC, C´ ordoba (Argentina) http://www.cs.famaf.unc.edu.ar/ laura SADIO 12 de Marzo de 2008 Laura Alonso i Alemany Introducci´ on a Miner´ ıa de Datos

Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

Text MiningIntroduccion a Minerıa de Datos

Laura Alonso i Alemany

Facultad de Matematica, Astronomıa y FısicaUNC, Cordoba (Argentina)

http://www.cs.famaf.unc.edu.ar/∼laura

SADIO12 de Marzo de 2008

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 2: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

que es la minerıa de datos?

A technique using software tools geared for the user who typicallydoes not know exactly what he’s searching for, but is looking forparticular patterns or trends.http://www.dmreview.com/rg/resources/glossary.cfmDiscovery mode of data analysis, or analyzing detail data tounearth unsuspected or unknown relationships, patterns andassociations that might be of value to the organization. Most oftenassociated with predictive analysis.http://it.csumb.edu/departments/data/glossary.htmlareas relacionadas:

I exploratory data analysis

I machine learning

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 3: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

que es la minerıa de datos?

A technique using software tools geared for the user who typicallydoes not know exactly what he’s searching for, but is looking forparticular patterns or trends.http://www.dmreview.com/rg/resources/glossary.cfmDiscovery mode of data analysis, or analyzing detail data tounearth unsuspected or unknown relationships, patterns andassociations that might be of value to the organization. Most oftenassociated with predictive analysis.http://it.csumb.edu/departments/data/glossary.htmlareas relacionadas:

I exploratory data analysis looking at data to form hypothesesworth testing

I machine learning

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 4: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

que es la minerıa de datos?

A technique using software tools geared for the user who typicallydoes not know exactly what he’s searching for, but is looking forparticular patterns or trends.http://www.dmreview.com/rg/resources/glossary.cfmDiscovery mode of data analysis, or analyzing detail data tounearth unsuspected or unknown relationships, patterns andassociations that might be of value to the organization. Most oftenassociated with predictive analysis.http://it.csumb.edu/departments/data/glossary.htmlareas relacionadas:

I exploratory data analysisI machine learning discover patterns in the data that relate data

attributes with a target (class) attribute. These patterns arethen utilized to predict the values of the target attribute infuture data instances. ← The data have no target attribute.We want to explore the data to find some intrinsic structuresin them.

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 5: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

diferencias entre minerıa de datos y minerıa de texto

en la minerıa de texto encontramos

I input no estructurado, es necesarioI identificar entidadesI identificar relaciones

I falta de abstraccion, porque los ejemplos no estan clasificados(etiquetados) o las clases son muy chicas

→ alta dimensionalidad→ difıcil de interpretar→ no esta conectado con otros tipos de conocimiento

I rango de resultados totalmente desconocido

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 6: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

algunas tecnicas de minerıa de datos

I tecnicas no supervisadasI reglas de asociacion vs. reglas orientadas a clasesI minado de secuenciasI clustering vs. clasificacion

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 7: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

reglas de asociacion

las reglas de asociacion son el ejemplo prototıpico de minerıa dedatos, y su aplicacion tıpica, el analisis de la canasta de mercado

I los datos son categoricos (y los contınuos?)

I I = {i1, i2, ..., in} un conjunto de itemsI la transaccion t es un conjunto de items t ⊆ II la base de datos es un conjunto de transacciones

T = {t1, t2, ..., tn}

¿ que serıan items, transacciones, etc. en una base de datos deun hipermercado?

¿ que serıan items, transacciones, etc. en una base de datos deun e-comerciante?

¿ que serıan items, transacciones, etc. en una base de datos dedocumentos?

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 8: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

el modelo: las reglas

I un itemset X es un conjunto de items en I , X ⊆ Iel concepto de frequent itemset es basico para variosalgoritmos

I una transaccion t contiene un itemset X si X ⊆ tI una regla es una implicacion de forma X → Y , donde

X , I ⊂ I y X ∩ Y = ∅I en un conjunto de transacciones T ,

I el soporte de una regla es el porcentaje de transacciones Tque contienen X ∪ Y (s = Pr(X ∪ Y ))

I la confianza de una regla es el porcentaje de transacciones deT que contienen X y tambien Y (c = Pr(Y |X ))

→ el usuario especifica un soporte y confianza mınimos→ puede haber diferentes valores (especialmente de soporte) para

diferentes items, condicionados por la probabilidad deocurrencia de cada item (ası recuperamos reglas con items queocurren poco)

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 9: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

cuestiones sobre las reglas

I se encuentran todas las reglas (pueden ser muchas)I se representa a los items de forma atomica, simplificando (sin

atributos como precio, cantidad, etc.)I muchos algoritmos: Apriori es uno de los mas eficientes, se

basa en frequent itemsetsRakesh Agrawal, Ramakrishnan Srikant. 1994. Fast

Algorithms for Mining Association Rules. Proc. 20th

Int. Conf. on Very Large Data Bases, VLDB.

← no se puede aplicar si se usan diferentes valores de soporteI no hay objetivos predefinidos en la parte derecha de la regla→ por eso es no supervisado

← si el usuario esta interesado en ciertos items usa reglas deasociacion de clases (CARs)

ejemplos de clases que nos podrıan interesar en un hipermercado?en una coleccion de documentos?Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 10: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

reglas de asociacion vs. reglas de asociacion declase (CARs)

I en las CARs, hay que encontrar los ruleitems que superan elsoporte mınimo especificado

I un ruleitem es una tupla (conjunto de condiciones, clase)I un conjunto de condiciones es un itemsetI una CAR tiene la forma conjunto de condiciones → clase

I se pueden usar diferentes soportes y confianzas mınimos paradiferentes clases

I si no queremos que se generen reglas para una clase, podemosdeterminar que su soporte mınimo sea de 100%

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 11: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

minado en secuencias

asuncion basica: el orden importa (vs. reglas simples, sin orden)objetivo: encontrar patrones en secuencias, por ejemplo:

I orden de compra de productos (para eso las tarjetas defidelizacion!)

I comportamiento navegacional de usuarios

I uso de disco, red, etc.

I adn, proteınas

I el texto es una secuencia!!!!

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 12: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

el modelo en minado de secuencias

I una secuencia es una lista ordenada de itemsets, donde cadaitemset es un elemento de la secuencia

I el tamano de una secuencia es su cantidad de elementos(itemsets)

I la longitud de una secuencia es su cantidad de items

I el soporte de una secuencia es el porcentaje de secuenciasque la contienen en un conjunto de secuencias S

I las secuencias frecuentes (o patrones secuenciales) son lassubsecuencias de una secuencia que tienen un soporte mınimo

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 13: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

que es clustering?

Clustering is a process of partitioning a set of data into subsets orclusters such that a data element belonging to a cluster is moresimilar to data elements belonging to the same cluster than thedata elements belonging to other clusters.http://www.dmreview.com/rg/resources/glossary.cfm

I como se representan los objetos?

I como se calcula la semejanza?

I como se agrupan los elementos?

I como sabemos si una solucion de clustering es buena?

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 14: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

que es clustering?

Clustering is a process of partitioning a set of data into subsets orclusters such that a data element belonging to a cluster is moresimilar to data elements belonging to the same cluster than thedata elements belonging to other clusters.http://www.dmreview.com/rg/resources/glossary.cfm

I como se representan los objetos?

I los objetos se representan como vectores, donde cadacaracterıstica es una dimension

I se requiere buen conocimiento del dominioI y tambien de como funcionan las tecnicas de clustering

I como se calcula la semejanza?

I como se agrupan los elementos?

I como sabemos si una solucion de clustering es buena?

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 15: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

que es clustering?

Clustering is a process of partitioning a set of data into subsets orclusters such that a data element belonging to a cluster is moresimilar to data elements belonging to the same cluster than thedata elements belonging to other clusters.http://www.dmreview.com/rg/resources/glossary.cfm

I como se representan los objetos?

I como se calcula la semejanza?

I medidas de distancia geometrica en un espacio vectorial:distancia euclıdea, coseno de los vectores, etc.

I medidas de diferencia de distribuciones de probabilidad:divergencia de Kullback-Leibler

I como se agrupan los elementos?

I como sabemos si una solucion de clustering es buena?

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 16: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

que es clustering?

Clustering is a process of partitioning a set of data into subsets orclusters such that a data element belonging to a cluster is moresimilar to data elements belonging to the same cluster than thedata elements belonging to other clusters.http://www.dmreview.com/rg/resources/glossary.cfm

I como se representan los objetos?

I como se calcula la semejanza?

I como se agrupan los elementos?

I metodos jerarquicos vs. planosI metodos partitivos vs. aglomerativosI k-meansI diferentes criterios (algoritmos) para crear o dividir clusters: el

cluster con mayor semejanza, con mayor disparidad, media

I como sabemos si una solucion de clustering es buena?

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 17: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

que es clustering?

Clustering is a process of partitioning a set of data into subsets orclusters such that a data element belonging to a cluster is moresimilar to data elements belonging to the same cluster than thedata elements belonging to other clusters.http://www.dmreview.com/rg/resources/glossary.cfm

I como se representan los objetos?I como se calcula la semejanza?I como se agrupan los elementos?I como sabemos si una solucion de clustering es buena?

I un experto inspecciona el contenido de los clustersI se ofrece contenido representativo: el medoide, las

caracterısticas mas frecuentesI pureza: mayor semejanza entre los elementos de un cluster,

mayor disparidad entre los elementos de distintos clustersI poder clasificador del modelo resultanteI comparacion con algunas clases ← parcialmente supervisado

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 18: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

para que sirve el clustering?

I agrupar clientes con el mismo comportamiento → con losmismos gustos, para recomendar a unos lo que gusto a losotros (p.ej., Netflix Prize)

I detectar clientes con un alto riesgo para una companıaaseguradora

I detectar pacientes con un alto riesgo de desarrollar cancerI predecir el tiempo? ;)

en tratamiento del lenguaje naturalI agrupar palabras que se comportan igual

I co-ocurren con las mismas palabrasI ocurren en las mismas estructuras sintacticasI ocurren en los mismos contextos de documentos

I identificar grupos de significados parecidosI identificar temas (topics), posiblemente armando una

jerarquıa de temas (deportes → futbol → Bundesliga...)

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 19: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

k-means: el metodo mas simple

1. el usuario determina k = numero de clusters

2. se eligen como centros de clusters (centroides) iniciales kpuntos en el espacio de objetos (al azar o con algun criterio)

3. cada objeto se asigna al centroide mas cercano

4. se re-calculan los centroides en base a la poblacion de cadacluster

5. si no se llego al criterio de convergencia, volver a 2.criterio de convergencia: no hay ningun cambio en loscentroides o en la assignacion de objetos a clusters

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 20: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 21: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 22: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

propiedades de k-means

I se puede usar con datos en disco, no necesariamente enmemoria

I muy simple, facil de entender e implementarI eficienteI converge a un optimo local (el global es muy difıcil de

encontrar, mucha complejidad)I es sensible a las semillas iniciales, principal razon para

converger a un optimo globalI solo se puede aplicar si se puede definir una media de los

valores de las caracterısticas (dimensiones de los vectores) →difıcil para valores categoricos

I k es especificado por el usuarioI es sensible a outliers ← se puede usar samplingI no es capaz de reconocer formas distintas a gaussianos

(hiper-esferas)

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 23: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 24: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 25: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 26: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

clustering jerarquico

produce una secuencia de clusters anidados, un arbol(dendrograma)

Laura Alonso i Alemany Introduccion a Minerıa de Datos

Page 27: Text Mining Introducción a Minería de Datoslaura/page14/tm08/files/page10_3.pdf · I machine learning discover patterns in the data that relate data attributes with a target (class)

reglas de asociacionminado de secuencias

clustering

k-meansclustering jerarquico

tipos de clustering jerarquico

I aglomerativo (bottom-up): une los dos elementos (o clusters)mas semejantes

I partitivo (top-down): divide el cluster que contiene elementosmas distintos

diferentes criterios para medir la semejanza entre clusters:

I single link: distancia entre los dos puntos mas cercanos, unode cada cluster→ produce clusters con forma alargada → O(n2)

I complete link: distancia entre los dos puntos mas lejanos, unode cada cluster→ sensible a outliers → O(n2logn)

I average link: la distancia entre dos clusters es la media de lasdistancias entre todos los pares de puntos, uno de cada cluster→ O(n2logn)

I centroides: la distancia entre dos clusters es la distancia entresus centroides

para reducir complejidad, se puede usar sampling o metodos deescalado

Laura Alonso i Alemany Introduccion a Minerıa de Datos