Clustering Salvatore Orlando Data Mining. - S. Orlando Cos è un analisi di clustering Cluster: collezione di oggetti/dati Simili rispetto a ciascun oggetto nello stesso cluster Dissimili rispetto agli oggetti in altri cluster Analisi di clustering Raggruppare oggetti in cluster Clustering è anche definito come unsupervised classification: Non abbiamo classi predefinite Applicazioni tipiche Come uno strumento stand-alone per cercare di capire come i dati sono distribuiti Come passo di preprocessing per altri algoritmi Data Mining. - S. Orlando
Applicazioni Image Processing & Pattern Recognition Analisi di dati spaziali Creazione di mappe tematiche nei GIS Scienze Economiche (market research) WWW Classificazione di documenti Clustering di Weblog per scoprire gruppi di pattern accessi simili Data Mining. - S. Orlando 3 Esempi Marketing: Scopri gruppi distinti, e poi usa questa conoscenza per sviluppare programmi di targeted marketing Land use: Identifica aree terrestri simili rispetto al loro uso all interno di database di osservazione della terra (satellite) Assicurazioni: Identifica gruppi di assicurati con caratteristiche comuni City-planning: Identifica gruppi di case sulla base di tipo, valore, e localizzazione geografica Studi di terremoti: Clustering di epicentri Data Mining. - S. Orlando 4
Bontà del clustering Un buon metodo di clustering produrrà cluster di alta qualità con Alta similarità intra-class Bassa similarità inter-class La qualità del risultato del clustering dipende dalla misura di similarità usata dallo specifico algoritmo usato La qualità del clustering è anche misurato in base alla sua abilità di scoprire alcuni o tutti i pattern nascosti Data Mining. - S. Orlando 5 Requisiti di un buon metodo di clustering Scalabilità Abilità di trattare con tipi di attributi differenti Scoprire cluster con forme arbitrarie Dovrebbe essere minima la conoscenza di dominio per determinare gli attributi in input Robusto per poter trattare con rumori e outlier Non sensibile all ordinamento dei record in input Capacità di trattare con alta dimensionalità Capacità di incorporare vincoli specificati dagli utenti Interpretabilità e usabilità dei risultati Data Mining. - S. Orlando 6
Tipi di dati Matrice dei dati (two modes) n oggetti con p attributi Tabella relazionale i n f if nf p ip np Matrice di dissimilarità (one mode) d(i, j) misura di dissimilarità tra oggetti i e i d(i, j) 0 oggetti molto simili 0 d(,) d(3, ) : d ( n,) 0 d (3,) : d ( n,) 0 : 0 Data Mining. - S. Orlando 7 Misura la qualità del clustering Metrica di Dissimilarità/Similarità: Similarità espressa in termini di una funzione di distanza: d(i, j) Funzione qualità che misura la bontà di un cluster. Le definizioni di funzioni di distanza sono molto differenti per interval-scaled, booleane, categoriche, ordinali, ecc. Pesi dovrebbero essere associati con variabili differenti in base all applicazione o alla semantica dei dati Data Mining. - S. Orlando 8
Tipi di dati Variabili numeriche Variabili binarie Variabili categoriche: nominali, ordinali Variabili di tipo misto Data Mining. - S. Orlando 9 Variabili numeriche (interval-scaled) Standardizzazione dei dati per evitare la dipendenza sull unità di misura scelta per ogni variabile f Calcola la deviazione assoluta media: dove: s f = ( n m n + m m = ( + + + f f f nf + + f f f f nf f ). m ) Calcola la misura standardizzata (z-score) z if = if m s f f La deviazione assoluta media è più robusta della deviazione standard if -m f non è elevato al quadrato, riducendo i problemi dovuti a outliers Data Mining. - S. Orlando 0
Data Mining. - S. Orlando Variabili numeriche: distanza Distanze per misurare similarità o dissimilarità tra coppie oggetti Minkowski distance dove i = ( i, i,, ip ) e j = ( j, j,, jp ) sono due oggetti p- dimensionali, e q è un intero positivo Se q =, d è la distanza Manhattan q q p p q q j i j i j i j i d ) ( ), ( + + + = ) (, p p j i j i j i j i d + + + = Data Mining. - S. Orlando Variabili numeriche: distanza (cont.) Se q =, d è la Distanza Euclidea: Proprietà d(i,j) 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,j) d(i,k) + d(k,j) Possiamo pesare le variabili, ottenendo così una misura di distanza pesata ) ( ), ( p p j i j i j i j i d + + + =
Variabili binarie Una tabella di contingenza per coppie di dati binari: Oggetto j 0 sum Oggetto i 0 q s r t q+ r s+ t sum q+ s r + t p Coefficiente di matching semplice (variabili simmetriche): Coefficiente di Jaccard (variabili asimmetriche, valori 0 sono meno significativi): d ( i, j) = r + p s d ( i, j) = r s q + + r + s Data Mining. - S. Orlando 3 Dissimilarità usando Jaccard Esempio Nome Sesso Febbre Tosse Test- Test- Test-3 Test-4 Jack M Y N P N N N Mary F Y N P N P N Jim M Y P N N N N Sesso è un attributo simmetrico (non considerato) Gli altri attributi sono asimmetrici Y e P corrispondono a, mentre N corrisponde a 0 d d ( jack ( jack, mary, jim d ( jim, mary ) = 0 + + 0 + = 0.33 ) = + + + = 0.67 ) = + + + = 0.75 Data Mining. - S. Orlando 4
Variabili nominali Una variabile che può avere più stati Es.: rosso, giallo, blu, verde Possiamo pensare ad una generalizzazione delle var. binarie, da a n Anche le misure ottenute sono generalizzazioni m: # di matches, p: # totale di variabili d ( i, j) = p p m Possiamo decodificare le variabili nominali con un gran numero di variabili binarie Una nuova var. binaria per ciascuno dei valori assunti da una variabile nominale Possiamo così usare le stesse misure usate per le var. binarie Data Mining. - S. Orlando 5 Variabili ordinali Una variabile ordinale è in pratica una variabile nominale con un ordine tra i valori assunti Può essere discreta o continua Possiamo assegnare un rango numerico (rank) ad ogni valore assunto Possiamo così trattare tali variabili come interval-based rimpiazziamo if con il suo rango, dove M f sono i valori diversi assunti da if r {,, M if f Mappiamo i valori di ciascuna variabile sull intervallo [0, ] rimpiazzando l i-esimo valore della f-esima variabile con z if = r M if f } Possiamo quindi calcolare la dissimilarità tra variabili ordinali come se fossero variabili numerico di tipo interval-scaled Data Mining. - S. Orlando 6
Variabili numeriche (ratio-scaled) Sono valori numerici misurati su una scala non lineare di valori Scala esponenziale Questo può essere problematico per le misure di distanza associate, a causa della distorsione della scala Distanze piccole tra valori consecutivi vicini allo zero Distanze grandi tra valori lontani dallo zero Soluzioni applicare una trasformazione (logaritmica) in modo da trasfomarli in interval-scaled, oppure considerare i valori come ordinali, assegnando un rango e applicare la distanza usata per variabili numeriche di tipo interval-scaled Data Mining. - S. Orlando 7 Variabili di tipo diverso Oggetti caratterizzati da p attributi diversi Numerici, nominali, ordinali, ecc. Si può usare una formula pesata per rappresentare gli effetti delle distanze calcolate con metodi diversi d ( i, j ) = Σ p f Σ = p f δ = ( ij f δ ) ( ij d f ( ij ) f ) δ ij (f) = 0 se if o jf non esistono nei due oggetti i e j se if = jf =0 ed f è binaria asimmetrica altrimenti δ ij (f) = Data Mining. - S. Orlando 8
Variabili di tipo diverso Σ p δ ( f ) d ( f ) d ( i, j ) = f = ij ij Σ p δ ( f ) f = ij Se f è binaria o nominale: d (f) ij = 0 se if = jf, d (f) ij = altrimenti Se f è numerica interval-based: usa distanza normalizzata d ( f ) ij = ma h if hf f è ordinale o ratio-scaled: calcola i ranghi r if e tratta z if come numerica interval-scaled z r = if if M f jf min In pratica tutti i vari d (f) ij saranno compresi nell intervallo [0-] il denominatore sarà maggiore del numeratore, e sarà uguale a p, dove p < p è il numero di variabili che esistono in entrambi gli oggetti, e che non sono binarie asimmetrici Una categorizzazione dei più importanti metodi di clustering h hf Data Mining. - S. Orlando 9 Partitioning algorithms: Costruisci varie partizioni e poi valutali sulla base di qualche criterio. Metodi iterativi. Hierarchy algorithms: Crea una decomposizione gerarchica degli oggetti sulla base di qualche criterio Density-based: basata su funzioni di densità degli oggetti Grid-based: basata su una discretizzazione dello spazio multi-dimensionale (griglia composta da celle che ospitano i vari oggetti) Model-based: Metodo statistico. Si ipotizza via via un modello per ciascun cluster: l idea è quella di trovare il migliore assegnamento dei dati rispetto al modello Data Mining. - S. Orlando 0
Partional vs. Hierarchical Una prima distinzione è tra un tipo di clustering hierarchical o partitional Partitional Clustering Gli oggetti sono suddivisi in sottoinsiemi (cluster) che non si sovrappongono Ciascun oggetto appartiene ad un solo cluster Hierarchical clustering I cluster sono annidati, e organizzati all interno di albero gerarchico Data Mining. - S. Orlando Partitional clustering 6 6 4 4 5 5 3 3 Punti originali Partitional Clustering Data Mining. - S. Orlando
Hierarchical Clustering 6 4 3 4 5 5 0. 0.5 0. 3 0.05 0 3 5 4 6 Traditional Hierarchical Clustering Traditional Dendrogram Data Mining. - S. Orlando 3 Altre caratterizzazioni dei metodi di clustering Esclusivo vs. Non-esclusivo Nel clustering non esclusivo, i punti possono appartenere a più cluster Fuzzy vs. non-fuzzy (fuzzy=sfuocato) In fuzzy clustering, un punto appartiene ad ogni cluster con un peso compreso tra 0 e La somma dei pesi deve essere Probabilistic clustering Parziale vs. completo In alcuni casi vogliamo soltanto effettuare il clustering di una parte dei dati Ad esempio, possiamo tralasciare punti che sono outliers rispetto agli altri Data Mining. - S. Orlando 4
Tipi di Cluster: Ben-Separati Cluster ben-separati Un cluster è costituito da un insiemi di punti tali che per ogni punto appartenente ad un cluster, questo punto è più vicino (o più simile) ad ogni altro punto del proprio cluster rispetto a tutti gli altri punti Data Mining. - S. Orlando 5 Tipi di Cluster: Center-based Center-based Un cluster è costituito da un insiemi di punti tali che per ogni punto appartenente ad un cluster, questo punto è più vicino (più simile) al centro del proprio cluster rispetto a tutti gli altri centri Possibili centri: Centroid: è una media di tutti i punti nel cluster Medoid: il punto più rappresentativo Data Mining. - S. Orlando 6
Tipi di Cluster: Contiguos Cluster Contiguous Cluster (Nearest neighbor) Un cluster è costituito da un insiemi di punti tali che per ogni punto appartenente ad un cluster, questo punto è più vicino (più simile) ad uno o più punti appartenenti al proprio cluster rispetto a tutti gli altri punti Data Mining. - S. Orlando 7 Tipi di Cluster: Density based Density-based Un cluster è una regione densa di punti I cluster sono separati da regioni a bassa densit Si usa questa nozione se i cluster sono irregolari, e se sono presenti rumori o outlier Nota che, rispetto alla slide precedente Le tre curve non formano dei cluster, e diventano rumore scartato dall algoritmo Non abbiamo il collegamento tra i due piccoli cluster circolari Data Mining. - S. Orlando 8
Partitioning method Partitioning method: Partiziona il database D di n oggetti in un insieme di k cluster Dato un k, trova un partizionamento in k cluster che ottimizza il criterio di partizionamento scelto Ricerche dell ottimo globale (non fattibili): enumerazione esaustiva di tutte le partizioni possibili Metodi di ricerca euristici (più fattibili): algoritmi k-means e k- medoids k-means (MacQueen 67): Ogni cluster è rappresentato dal centro (media) del cluster k-medoids o PAM (Partition around medoids) (Kaufman & Rousseeuw 87): Ogni cluster è rappresentato da uno degli oggetti del cluster Data Mining. - S. Orlando 9 Algoritmo K-Means Dato k, l algoritmo k-means è implementato in passi iterativi: Scegli in modo casuale k punti che rappresentano i centroidi (means) iniziali dei cluster Repeat. Assegna ciascun oggetto al cluster più vicino (il cui centro risulta il più vicino all oggetto dato). Calcola i centroidi (punti medi) dei cluster. Until Gli assegnamenti non cambiano (o cambiano poco) Data Mining. - S. Orlando 30
Algoritmo K-Means Esempio Data Mining. - S. Orlando 3 Commenti sul K-Means Forze Relativamente efficiente: O(tknd), dove n è il # di oggetti, k è il # di cluster, t è il # di iterazioni, e d è il # di attributi. Normalmente abbiamo che k e t << n. Il calcolo può diventare oneroso per valori di d grandi. Spesso termina su un ottimo locale. L ottimo globale può essere trovato usando tecniche come: deterministic annealing e genetic algorithm Debolezze Può essere applicato solo quando il tipo di dato permette di definire la media (che serve per determinare i centroidi del cluster) Problemi con dati categorici Bisogna specificare in anticipo k, il numero di cluster Ha altri problemi che dipendono dalle caratteristiche dei cluster presenti nei dati Data Mining. - S. Orlando 3
Variazioni dei metodi K-Means Esistono alcune varianti di k-means che hanno a che fare con La selezione dei k means iniziali Nuove misure di dissimilarità per trattare dati categorici Strategie per calculare i centroidi dei cluster Data Mining. - S. Orlando 33 Valutare il clustering prodotto La misura di valutazione più comune è Sum of the Squared Error (SSE) Calcolo di SSE Per ciascun punto, l errore è la distanza rispetto al centro (centroide, medoide) del cluster di appartenenza Per ottenere SSE, eleviamo al quadrato e sommiamo i vari errori Dati due clustering ottenuti con diversi run di K-means, possiamo scegliere quello che minimizza l errore Un modo semplicistico per ridurre SSE è aumentare K, il numero di cluster In ogni caso un buon clustering (con una valore piccolo di K) può risultare avere un SSE migliore di un clustering cattivo (con un grande valore di K) Data Mining. - S. Orlando 34
Problemi legati ai cluster presenti nei dati K-means ha problemi quando i cluster hanno differenti Dimensioni Densità Forma non globulare K-means ha ancora problemi quando i dati presentano outliers Una soluzione è usare K alti (molti clusters) I cluster trovati sono partizioni dei cluster effettivamente presenti Necessario rimettere assieme le partizioni trovate Data Mining. - S. Orlando 35 Limiti di K-means: Dimensioni differenti Original Points K-means Clusters Data Mining. - S. Orlando 36
Limiti di K-means: Densità differenti Original Points K-means Clusters Data Mining. - S. Orlando 37 Limiti di K-means: Forme non globulari Original Points K-means Clusters Data Mining. - S. Orlando 38
Aumentiamo K per superare i problemi di K-means Original Points K-means Clusters Data Mining. - S. Orlando 39 Aumentiamo K per superare i problemi di K-means Original Points K-means Clusters Data Mining. - S. Orlando 40
Aumentiamo K per superare i problemi di K-means Original Points K-means Clusters Data Mining. - S. Orlando 4 Algoritmo K-Medoids Trova oggetti rappresentanti, chiamati medoids, per ogni cluster cluster Rispetto a K-means, possiamo applicare l algoritmo anche se il tipo di dato non permette di definire la media (es. dati categorici) Metodo più robusto in presenza di outliers PAM (Partitioning Around Medoids, 987) Inizia da un insieme iniziale di medoids Iterativamente tenta di rimpiazzare uno dei medoid con un non-medoids se il rimpiazzamento migliora la distanza totale del nuovo clustering, mantieni la modifica PAM funziona bene per piccoli dataset, ma non scala bene Data Mining. - S. Orlando 4
Algoritmo K-medoids Scegli in modo arbitrario k medoids dagli oggetti da raggruppare Repeat. Assegna i rimanenti oggetti al medoid più vicino (o più simile). Seleziona in modo random un oggetto non-medoid (o random ) da scambiare con o j (vecchio medoid) 3. Calcola il costo totale SSE relativo allo nuovo clustering ottenuto scambiando o j con o random 4. Se guadagno rispetto ad SSE, allora mantieni lo scambio Until non riusciamo a modificare i medoid Data Mining. - S. Orlando 43 Casi possibili in seguito al riassegnamento di un medoid Scambiamo O j con O random O i P O j O i O i O i O j O j P O j P P O random O random O random O random P riassegnato a O i P riassegnato a O random P non viene riassegnato P riassegnato a O random Oggetto Medoid Relazione prima dello scambio Relazione dopo lo scambio Data Mining. - S. Orlando 44
Hierarchical Clustering Due tipi di clustering gerarchico Agglomerative: Inizia con punti considerati come cluster individuali A ciascun passo, unisci le coppie di clusters più vicini Fino a quando rimane un solo cluster (o k cluster) E necessaria una nozione di prossimità tra cluster Divisive: Inizia con un singolo cluster che ingloba tutti i punti A ciascun passo, spezza un cluster Fino a quando ogni cluster contiene un punto (o ci sono k cluster) E necessario scegliere quale cluster spezzare ad ogni passo I metodi agglomerativi sono più usati Data Mining. - S. Orlando 45 Hierarchical Clustering Usa la matrice delle distanze come criterio di clustering. Non bisogna specificare il numero k di cluster come input, ma è necessaria una condizione di terminazione Step 0 Step Step Step 3 Step 4 a a b b a b c d e c c d e d d e e Step 4 Step 3 Step Step Step 0 agglomerative (AGNES) divisive (DIANA) Data Mining. - S. Orlando 46
AGNES (Agglomerative Nesting) Usa il metodo Single-Link (MIN) e la matrice delle distanze relative Unisci i nodi che hanno la dissimilarità minima Alla fine tutti i nodi appartengono allo stesso cluster Sensibile a rumori e outlier 6 4 3 4 5 5 0. 0.5 0. 3 0.05 0 3 5 4 6 Hierarchical Clustering Dendrogram Data Mining. - S. Orlando 47 Tipico algoritmo gerarchico agglomerativo L algoritmo è semplice. Calcola la matrice di prossimità. All inizio, ogni punto è un singolo cluster 3. Repeat 4. Unisci i cluster più vicini 5. Aggiorna la matrice di prossimità 6. Until fino a quando rimane un singolo cluster L operazione chiave è il calcolo della vicinanza tra due cluster Questo concetto di vicinanza costituisce la differenza principale tra algoritmi differenti Data Mining. - S. Orlando 48
Algoritmo gerarchico agglomerativo: inizio Iniziamo con cluster costituiti da punti individuali e una matrice di prossimità p p p3 p4 p5.. p p p3 p4 p5.... Proimity Matri Data Mining. - S. Orlando 49 Algoritmo ger. agglomerativo: fase intermedia Dopo qualche passo abbiamo dei cluster C C C3 C4 C5 C3 C4 C C C3 C C4 C5 C C5 Proimity Matri Data Mining. - S. Orlando 50
Algoritmo ger. agglomerativo: fase intermedia Vogliamo unire C e C5, ma dobbiamo aggiornare la matrice C C C3 C4 C5 C3 C4 C C C3 C C4 C5 C C5 Proimity Matri Data Mining. - S. Orlando 5 Algoritmo ger. agglomerativo: dopo l unione Il problema è come aggiornare la matrice Diverse misure per stabilire distanza/similarità C C U C5 C3 C4 C? C3 C4 C U C5 C3????? C C4? Proimity Matri C U C5 Data Mining. - S. Orlando 5
Come definire la similarità Inter-Cluster? p p p3 p4 p5... Similarity? p p MIN MAX Group Average Distance Between Centroids Proimity Matri p3 p4 p5... Data Mining. - S. Orlando 53 Come definire la similarità Inter-Cluster? p p p3 p p p3 p4 p5... MIN MAX Group Average Distance Between Centroids p4 p5... Proimity Matri Data Mining. - S. Orlando 54
Come definire la similarità Inter-Cluster? p p p3 p p p3 p4 p5... MIN MAX Group Average Distance Between Centroids p4 p5... Proimity Matri Other methods driven by an objective function Ward s Method uses squared error Data Mining. - S. Orlando 55 Come definire la similarità Inter-Cluster? p p p3 p p p3 p4 p5... MIN MAX Group Average pi Clusteri p Cluster distance(p,p j j distance(clusteri,clusterj) = Cluster Cluster i i j ) j p4 p5... Proimity Matri Distance Between Centroids Data Mining. - S. Orlando 56
Confronto tra metodi gerarchici 5 3 4 4 5 3 6 MIN MAX 5 4 5 3 6 3 4 4 5 3 4 3 5 6 Group Average Data Mining. - S. Orlando 57 DIANA (Divisive Analysis) Algoritmo gerarchico divisive introdotto nel 990 Ordine inverso rispetto ad AGNES Alla fine ciscun node forma un cluster 0 9 8 7 6 5 4 3 0 0 3 4 5 6 7 8 9 0 0 9 8 7 6 5 4 3 0 0 3 4 5 6 7 8 9 0 0 9 8 7 6 5 4 3 0 0 3 4 5 6 7 8 9 0 Data Mining. - S. Orlando 58
Complessità dei metodi gerarchici Non scala bene: la complessità in tempo è O(n ), dove n è il numero totale di oggetti Una volta che una decisione è stata presa relativamente all agglomerazione/divisione di cluster, non possiamo disfarla Schemi differenti hanno mostrato uno o più di questi problemi: Sensibilità al rumore o agli outliers Difficoltà nel gestire cluster di dimensioni differenti e forme convesse Grandi cluster possono risultare suddivisi Data Mining. - S. Orlando 59 Metodi di clustering basati sulla densità Clustering basato sulla densità Concetto di punti connessi sulla base della densità Caratteristiche principali Scopre cluster di forma arbitraria Gestisce bene i rumori presenti nel dataset Singola scansione Abbiamo bisogno di parametri riguardanti la densità come condizione di terminazione Data Mining. - S. Orlando 60
Density-Based Clustering: Background Due parametri per definire la densità: Eps: Massimo raggio di vicinato di un certo punto MinPts: Minimo numero di punti all interno di un certo raggio Eps Numero di punti all interno di un certo raggio: N Eps (p): {q D dist(p,q) Eps} Directly density-reachable: Un punto p è directly density-reachable da un punto q rispetto a (Eps, MinPts) se ) p N Eps (q) ) q è un punto core, ovvero: N Eps (q) MinPts q p MinPts = 5 Eps = cm Data Mining. - S. Orlando 6 Density-Based Clustering: Background (II) Density-reachable: (proprietà transitiva) Un punto p è density-reachable da q se c è una catena di punti p,, p n dove p = q e p n = p tali che p i+ è directly density-reachable da p i q p p Density-connected Un punto p è density-connected ad un punto q se c è un punto o tale che sia p e sia q sono density-reachable da o p o q Data Mining. - S. Orlando 6
DBSCAN: Density Based Spatial Clustering of Applications with Noise DBSCAN si basa sulla nozione di cluster basata sulla densità Un cluster è definito come l insieme massimo di punti connessi rispetto alla nozione di densità Scopre cluster di forma arbitraria in database spaziali con rumore/outlier Data Mining. - S. Orlando 63 DBSCAN: L algoritmo Seleziona arbitrariamente un punto p Individua tutti i punti density-reachable da p rispetto a Eps e MinPts. Se p è un punto core, forma un cluster Se p è un punto border, nessun punto è density-reachable da p, per cui passa a considerare il prossimo punto del database. Continua fino alla completa visita di tutti i punti Data Mining. - S. Orlando 64
DBSCAN: esempio di funzionamento corretto Original Points Clusters Data Mining. - S. Orlando 65 DBSCAN: punti core, border e noise Original Points Point types: core, border and noise Eps = 0, MinPts = 4 Data Mining. - S. Orlando 66
Conclusioni Le analisi di clustering raggruppano oggetti in base alla loro similarità Abbiamo visto che è possibile valutare la similarità rispetto a vari tipi di dati E possibile categorizzare gli algoritmi di clustering in metodi partitioning, hierarchical, density-based, grid-based, e model-based Abbiamo solo visto una parte di questi metodi La scoperta di outlier è utile per vari campi, come scoperta di frodi ecc. Algoritmi per la scoperta di outlier sono collegati a quelli di clustering Esistono metodi basati sulla distanza, ma anche metodi basati su misure statistiche Clustering con vincoli Le analisi di clustering possono avere vincoli da rispettare Ad esempio, vincoli naturali esistono in database spaziali (ponti o strade in un GIS) che impediscono il clustering di oggetti vicini Clustering in database spazio-temporali Necessitano di nuove nozioni di distanza, che considerino anche la dimensione tempo Data Mining. - S. Orlando 67