Articulo de referencia

SUBCLU

SUBCLU es un algoritmo para agrupar datos de alta dimensión creado por Karin Kailing, Hans-Peter Kriegel y Peer Kröger. [ 1 ] Es un algoritmo de agrupamiento de subespacios que ...

SUBCLU es un algoritmo para agrupar datos de alta dimensión creado por Karin Kailing, Hans-Peter Kriegel y Peer Kröger. [ 1 ] Es un algoritmo de agrupamiento de subespacios que se basa en el algoritmo de agrupamiento basado en densidad DBSCAN . SUBCLU puede encontrar clústeres en subespacios paralelos a los ejes y utiliza una estrategia voraz de abajo hacia arriba para mantener la eficiencia.

Acercarse

SUBCLU utiliza criterios de monotonicidad : si se encuentra un clúster en un subespacioS{\displaystyle S}, entonces cada subespacioTS{\displaystyle T\subseteq S}También contiene un clúster. Sin embargo, un clústerdoDB{\displaystyle C\subseteq DB}en el subespacioS{\displaystyle S}no es necesariamente un grupo enTS{\displaystyle T\subseteq S}, dado que se requiere que los clústeres sean máximos y se podrían contener más objetos en el clúster enT{\displaystyle T}que contienedo{\displaystyle C}. Sin embargo, un conjunto conectado por densidad en un subespacioS{\displaystyle S}es también un conjunto conectado por densidad enTS{\displaystyle T\subseteq S}.

Esta propiedad de cierre descendente es utilizada por SUBCLU de manera similar al algoritmo Apriori : primero, todos los subespacios unidimensionales se agrupan. Todos los clústeres en un subespacio de dimensión superior serán subconjuntos de los clústeres detectados en este primer agrupamiento. SUBCLU produce recursivamentek+1{\displaystyle k+1}subespacios candidatos de dimensión mediante la combinaciónk{\displaystyle k}Subespacios de dimensión con clústeres que compartenk1{\displaystyle k-1}atributos. Después de eliminar los candidatos irrelevantes, se aplica DBSCAN al subespacio candidato para determinar si aún contiene clústeres. Si es así, el subespacio candidato se utiliza para la siguiente combinación de subespacios. Para mejorar el tiempo de ejecución de DBSCAN , solo se utilizan los puntos que se sabe que pertenecen a clústeres en unok{\displaystyle k}Se consideran subespacios de dimensión (que se elige para contener la menor cantidad posible de clústeres). Debido a la propiedad de cierre hacia abajo, otro punto no puede ser parte de unk+1{\displaystyle k+1}-clúster dimensional de todos modos.

Pseudocódigo

SUBCLU toma dos parámetros,ϵ{\displaystyle \epsilon \!\,}yMETROinortePAGts{\displaystyle MinPts}, que cumplen la misma función que en DBSCAN . En un primer paso, DBSCAN se utiliza para encontrar clústeres 1D en cada subespacio abarcado por un único atributo:

SUBdoLU(DB,mipags,METROinortePAGts){\displaystyle {\mathtt {SUBCLU}}(DB,eps,MinPts)}

S1:={\displaystyle S_{1}:=\emptyset }
do1:={\displaystyle C_{1}:=\emptyset }
FormiadohaAttribtmis{\displaystyle {\mathtt {para\,cada}}\,a\in Atributos}
do{a}=DBSdoAnorte(DB,{a},mipags,METROinortePAGts){\displaystyle C^{\{a\}}={\mathtt {DBSCAN}}(DB,\{a\},eps,MinPts)\!\,}
iF(do{a}){\displaystyle {\mathtt {si}}(C^{\{a\}}\neq \emptyset )}
S1:=S1{a}{\displaystyle S_{1}:=S_{1}\cup \{a\}}
do1:=do1do{a}{\displaystyle C_{1}:=C_{1}\cup C^{\{a\}}}
minortediF{\displaystyle {\mathtt {end\,if}}}
minortedFor{\displaystyle {\mathtt {fin\,para}}}
// En un segundo paso,k+1{\displaystyle k+1}Los clústeres de -dimensiones se construyen a partir dek{\displaystyle k}-dimensionales:
k:=1{\displaystyle k:=1\!\,}
whilmi(dok){\displaystyle {\mathtt {while}}(C_{k}\neq \emptyset )}
doanortedSk+1:=GRAMOminortemiratmidoanortedidatmiSbspagadomis(Sk){\displaystyle {\mathtt {CandS}}_{k+1}:={\mathtt {GenerateCandidateSubspaces}}(S_{k})\!\,}
FormiadohdoanorteddoanortedSk+1{\displaystyle {\mathtt {para\,cada}}\,cand\in {\mathtt {CandS}}_{k+1}}
bmistSbspagadomi:=minsSksdoanorteddoidos|doi|{\displaystyle {\mathtt {bestSubspace:=}}\min _{s\in S_{k}\wedge s\subset cand}\sum _{C_{i}\in C^{s}}|C_{i}|}
dodoanorted:={\displaystyle C^{cand}:=\emptyset }
FormiadohdolstmirdoldobmistSbspagadomi{\displaystyle {\mathtt {para\,cada\,cluster}}\,cl\in C^{\mathtt {bestSubspace}}}
dodoanorted:=dodoanortedDBSdoAnorte(dol,doanorted,mipags,METROinortePAGts){\displaystyle C^{cand}:=C^{cand}\cup {\mathtt {DBSCAN}}(cl,cand,eps,MinPts)}
iF(dodoanorted){\displaystyle {\mathtt {si}}\,(C^{cand}\neq \emptyset )}
Sk+1:=Sk+1doanorted{\displaystyle S_{k+1}:=S_{k+1}\cup cand}
dok+1:=dok+1dodoanorted{\displaystyle C_{k+1}:=C_{k+1}\cup C^{cand}}
minortediF{\displaystyle {\mathtt {end\,if}}}
minortedFor{\displaystyle {\mathtt {fin\,para}}}
minortedFor{\displaystyle {\mathtt {fin\,para}}}
k:=k+1{\displaystyle k:=k+1\!\,}
minortedwhilmi{\displaystyle {\mathtt {fin\,mientras}}}

minorted{\displaystyle {\mathtt {end}}\!\,}

El conjuntoSk{\displaystyle S_{k}}contiene todo elk{\displaystyle k}Subespacios de dimensión que se sabe que contienen cúmulos. El conjuntodok{\displaystyle C_{k}}contiene los conjuntos de clústeres encontrados en los subespacios.bmistSbspagadomi{\displaystyle bestSubspace}Se elige para minimizar las ejecuciones de DBSCAN (y el número de puntos que deben considerarse en cada ejecución) para encontrar los clústeres en los subespacios candidatos.

Los subespacios candidatos se generan de forma muy similar a como el algoritmo Apriori genera los candidatos a conjuntos de ítems frecuentes: pares de losk{\displaystyle k}Se comparan subespacios de dimensión y, si difieren en un solo atributo, forman unk+1{\displaystyle k+1}candidato de dimensión. Sin embargo, también se encuentran varios candidatos irrelevantes; contienen unk{\displaystyle k}Subespacio de dimensión que no contiene un clúster. Por lo tanto, estos candidatos se eliminan en un segundo paso:

GRAMOminortemiratmidoanortedidatmiSbspagadomis(Sk){\displaystyle {\mathtt {GenerateCandidateSubspaces}}(S_{k})}

doanortedSk+1:={\displaystyle {\mathtt {CandS}}_{k+1}:=\emptyset }
Formiadohs1Sk{\displaystyle {\mathtt {para\,cada}}\,s_{1}\in S_{k}}
Formiadohs2Sk{\displaystyle {\mathtt {para\,cada}}\,s_{2}\in S_{k}}
iF(s1anorteds2diFFmirinortemiincógnitaadotlyonortemiattribtmi){\displaystyle {\mathtt {si}}\,(s_{1}\,{\mathtt {y}}\,s_{2}\,\,{\mathtt {difieren\,\,en\,exactamente\,\,un\,\,atributo}})}
doanortedSk+1:=doanortedSk+1{s1s2}{\displaystyle {\mathtt {CandS}}_{k+1}:={\mathtt {CandS}}_{k+1}\cup \{s_{1}\cup s_{2}\}}
minortediF{\displaystyle {\mathtt {end\,if}}}
minortedFor{\displaystyle {\mathtt {fin\,para}}}
minortedFor{\displaystyle {\mathtt {fin\,para}}}
// Poda de subespacios candidatos irrelevantes
FormiadohdoanorteddoanortedSk+1{\displaystyle {\mathtt {para\,cada}}\,cand\in {\mathtt {CandS}}_{k+1}}
Formiadohk-elementosdoanorted{\displaystyle {\mathtt {para\,cada}}\,k{\texttt {-elemento}}\,s\subset cand}
iF(sSk){\displaystyle {\mathtt {si}}\,(s\not \in S_{k})}
doanortedSk+1=doanortedSk+1{doanorted}{\displaystyle {\mathtt {CandS}}_{k+1}={\mathtt {CandS}}_{k+1}\setminus \{cand\}}
minortediF{\displaystyle {\mathtt {end\,if}}}
minortedFor{\displaystyle {\mathtt {fin\,para}}}
minortedFor{\displaystyle {\mathtt {fin\,para}}}

minorted{\displaystyle {\mathtt {end}}\,\!}

Disponibilidad

En el marco de trabajo ELKI se encuentra disponible un ejemplo de implementación de SUBCLU .

Referencias

  1. Karin Kailing, Hans-Peter Kriegel y Peer Kröger. Agrupamiento de subespacios conectados por densidad para datos de alta dimensión . En: Actas de la Conferencia Internacional SIAM sobre Minería de Datos (SDM'04) , págs. 246-257, 2004.
Obtenido de " https://en.wikipedia.org/w/index.php?title=SUBCLU&oldid=1126165023 "