Abbiamo visto che il Data Mining è una fase dell’intero processo di KDD. Consiste in un insieme di tecniche e metodi fondati su modelli statistico-matematici che permettono di estrarre da grandi quantità di dati informazioni di valore di carattere descrittivo o predittivo per finalità di supporto alle decisioni. Il Data Mining è un area vastissima che annovera al suo interno svariati modelli e algoritmi che trovano applicazione in una variegata platea di problemi. Il data mining stesso è una disciplina che prende vita dall’unione di altre aree scientifiche quali la statistica, l’intelligenza artificiale, l’apprendimento automatico, la tecnologia dei database ed il calcolo distribuito e parallellizzato tanto per citarne alcune. Questa genesi poliedrica fornisce l’intuizione della complessità sottostante ai modelli elaborati e ai problemi che ci si appresta ad analizzare.
L’esplosione esponenziale dei dispositivi digitali connessi alla rete ed il crollo del costo dei supporti di memorizzazione sono i due principali fattori che negli ultimi 20 anni hanno determinato una crescita vertiginosa dei dati raccolti da aziende pubbliche e private. Queste ingenti quantità di dati, strutturati e non,
hanno evidenziato le limitazioni delle analisi tradizionali e posto nuove sfide per gli analisti. Tutto ciò ha spinto verso lo sviluppo delle tecniche di data mining che ha quindi sopperito alle problematiche portate alla luce dal nuovo scenario data centered. Di seguito illustriamo le principali:
• Scalabilità: oggigiorno dataset delle dimensioni di terabytes o petabytes sono divenuti frequenti. Gli algoritmi di data mining devono scalare velocemente su questi grandi quantitativi di dati implementando strategie che riducano lo spazio di ricerca che cresce esponenzialmente rispetto al numero di variabili interessate. Il problema della scalabilità interessa anche le strutture dati impiegate necessarie per accedere ai singoli record in modo efficiente quando per le loro dimensioni non possono essere interamente caricate nella memoria principale. Lo sviluppo di algoritmi parallellizzati e distribuiti è una possibile strada per andare incontro alle necessità poste dalla scalabilità.
• Alta dimensionalità: i dataset moderni possono avere un numero di attributi nell’ordine delle centinaia o migliaia di attributi. Dato che la complessità computazionale di certi algoritmi cresce esponenzialmente rispetto al numero di attributi, le tecniche di analisi che andavano bene per basi di dati con una bassa dimensionalità adesso sono divenute obsolete.
• Dati eterogenei e complessi: le tecniche di analisi tradizionali si prestavano bene a tipologie di dati strutturati, ad esempio tabelle. I dataset moderni sono caratterizzati da attributi eterogenei e complessi. Basti pensare agli ambiti di studio della medicina dove i dati possono essere sequenze (DNA), al web-mining dove i dati sono grafi o allo studio dei cambiamenti climatici dove i dati sono serie temporali di misurazioni multidimensionali. Le tecniche di data mining moderne devono essere in grado di manipolare dati complessi in cui si descrivono rapporti di correlazione quali appunto i nodi attraversati in un grafo o le relazioni parent-child in dati semistrutturati o anche testuali. • Proprietà e localizzazione: non è un fatto insolito che i dati necessari per
un’analisi siano geograficamente localizzati in sorgenti molteplici la cui pro- prietà è distribuita tra aziende private o pubbliche differenti. Per far fronte a questa sfida si richiede lo sviluppo di tecniche di data mining distribuite che riducano al minimo la quantità di dati scambiare, siano in grado di consolidare i risultati ottenuti da sorgenti diverse e che non espongano i dati a problemi di sicurezza e privacy.
• Analisi non tradizionali: l’approccio statistico tradizionale si basa sul paradig- ma con formulazione di ipotesi e test. Questo procedimento è molto laborioso e le analisi moderne richiedono la formulazione di una moltitudine di ipotesi.
CAPITOLO 4. IL PROCESSO DI KDD In questo contesto il data mining emerge come soluzione di automazione della formulazione e verifica delle ipotesi.
Gli obiettivi dei modelli di data mining si inquadrano in due macro categorie: • Predittivi: rientrano in questa categoria tutte le attività di predizione del valore di un attributo, detto variabile target oppure variabile dipendente, basandosi sul valore di altri attributi detti explanatory oppure variabili indipendenti.
• Descrittivi: rientrano in questa categoria tutte le attività che hanno come obiettivo la derivazione di pattern (correlazioni, trend, cluster, traiettorie, anomalie etc) che sintetizzino ed evidenzino le relazioni sottostanti nei da- ti. Questa tipologia di attività richiede una fase di post-processing in cui attraverso delle tecniche vengono validati e spiegati i modelli ottenuti. I due obiettivi di cui sopra vengono raggiunti attraverso una serie di metodologie di cui di seguito forniamo una sintesi:
• Classification: assegnazione di un oggetto ad una tra le classi predeterminate in base agli attributi osservati. L’input di un modello di classificazione è un insieme di record. Ogni record è definito come una tupla (x, y) dove x è l’insieme degli attributi e y è la classe di appartenenza del record. La classificazione è la modellazione di una funzione f che mappa l’insieme degli attributi x con una delle classi predeterminate y detta variabile target. Il rilevamento delle mail spam in base al loro contenuto, la classificazione delle galassie in base alla loro forma o la classificazione degli animali vertebrati in una delle categorie tra mammiferi, uccelli, pesci, rettili e anfibi in base ad alcune proprietà quali temperatura corporea, metodo riproduttivo, capacità di volare e capacità di nuotare sono alcuni esempi dell’applicazione di questo modello. Gli attributi possono essere variabili discrete o continue ma la classe di destinazione è una variabile discreta. Questo è cio che differenzia la classificazione dalla regressione in cui l’attributo target y è una variabile continua.
• Regression: predizione di una variabile a valori continui sulla base del valore di altre variabili assumendo un modello di dipendenza. Come nella classificazione si modella una funzione che mappa gli attributi di un oggetto con una variabile target. Nella regressione la variabile target è una variabile continua che può assumere anche infiniti valori mentre nella classificazione la variabile target è di tipo discreto categorico. L’utilizzo della regressione per predire la redditività di un nuovo prodotto in base agli investimenti in marketing è una possibile applicazione del modello.
• Time Series: i dati sono un’insieme di osservazioni effettuate sequenzialmente rispetto all’unità di tempo. La prossima osservazione può essere predetta sulla base di quelle precedenti.
• Clustering: i dati vengono suddivisi in gruppi che catturano la caratteristiche di similarità e correlazione nei dati. Gli elementi appartenenti ad ogni gruppo dovrebbero essere caratterizzati dal fatto di avere una forte similarità intra-gruppo e una forte dissimilarità inter-gruppo.
• Association rules: evidenzia le correlazioni e le associazioni tra i dati nella forma di regole logiche del tipo X → Y . Sono descritte dalle misure di supporto e confidenza.
• Anomaly detection: identificazione di oggetti le cui caratteristiche osservate sono significatamene diverse dal resto dei dati. Questi oggetti prendono il nome di outliers. L’obiettivo di questo modello è scoprire le vere anomalie nei dati evitando il più possibile l’assegnazione della categoria “anomalo” ad oggetti “normali” che prendono il nome di falsi positivi. Questo modello può essere applicato nei sistemi antifrode e in quello di rilevamento di intrusioni nei sistemi informatici.
Oltre a questi modelli una prospettiva interessante per il nostro caso di studio è offerta dai pattern sequenziali che vengono di seguito introdotti e descritti.