# Data mining

L'estrazione di dati o data mining è l'insieme di tecniche e metodologie che hanno per oggetto l'estrazione di informazioni utili da grandi quantità di dati (es. banche dati, data warehouse, ecc.), attraverso metodi automatici o semi-automatici (es. apprendimento automatico) e l'utilizzo scientifico, aziendale, industriale o operativo delle stesse.

## Descrizione

Per caratterizzare il data mining può essere utile considerare la statistica, la quale può essere definita altrimenti come estrazione di informazione utile da insiemi di dati.
Il concetto di data mining è analogo, ma con una differenza sostanziale: la statistica permette di elaborare informazioni generali riguardo ad una popolazione (es. percentuali di disoccupazione, nascite), mentre il data mining viene utilizzato per cercare correlazioni tra più variabili relativamente ai singoli individui; ad esempio, conoscendo il comportamento medio dei clienti di una compagnia telefonica, si cerca di prevedere quanto spenderà il cliente medio nell'immediato futuro.
In sostanza il data mining è l'analisi, da un punto di vista matematico, eseguita su banche dati di grandi dimensioni, preceduta tipicamente da altre fasi di preparazione, trasformazione o filtraggio dei dati come il data cleaning. Il termine data mining è diventato popolare nei tardi anni novanta come versione abbreviata della definizione appena esposta; oggi il data mining ha una duplice valenza:
* estrazione, con tecniche analitiche all'avanguardia, di informazione implicita, nascosta, da dati già strutturati, per renderla disponibile e direttamente utilizzabile;
* esplorazione ed analisi, eseguita in modo automatico o semiautomatico, su grandi quantità di dati al fine di scoprire pattern (schemi o regolarità) significativi.
In entrambi i casi, i concetti di informazione e di significato sono legati strettamente al dominio applicativo in cui si esegue data mining; in altre parole, un dato può essere interessante o trascurabile a seconda del tipo di applicazione in cui si opera.
Questo tipo di attività è cruciale in molti ambiti della ricerca scientifica, ma anche in altri settori (per esempio in quello delle ricerche di mercato). Nel mondo professionale è utilizzata per risolvere problematiche diverse tra loro, che vanno dalla gestione delle relazioni con i clienti (CRM), all'individuazione di comportamenti fraudolenti, fino all'ottimizzazione di siti web.

### Premesse

I fattori principali che hanno contribuito allo sviluppo del data mining sono:
* le grandi accumulazioni di dati in formato elettronico;
* il data storage poco costoso;
* i nuovi metodi e tecniche di analisi (apprendimento automatico).
Le tecniche di data mining sono fondate su specifici algoritmi. I pattern identificati possono essere, a loro volta, il punto di partenza per ipotizzare e quindi verificare nuove relazioni di tipo causale fra fenomeni; in generale, possono servire in senso statistico per formulare previsioni su nuovi insiemi di dati.
Un concetto correlato al data mining è quello di apprendimento automatico (machine learning); infatti, l'identificazione di pattern può paragonarsi all'apprendimento, da parte del sistema di data mining, di una relazione causale precedentemente ignota, cosa che trova applicazione in ambiti come quello degli algoritmi euristici e dell'intelligenza artificiale. Tuttavia, occorre notare che il processo di data mining è sempre sottoposto al rischio di rivelare relazioni causali che poi si rivelano inesistenti.

### Tecniche

Tra le tecniche maggiormente utilizzate in questo ambito vi sono:
* Clustering;
* Reti neurali;
* Alberi di decisione;
* Analisi delle associazioni (individuazione dei prodotti acquistati congiuntamente).
Un'altra tecnica molto diffusa per il data mining è l'apprendimento mediante classificazione. Questo schema di apprendimento parte da un insieme ben definito di esempi di classificazione per casi noti, dai quali ci si aspetta di dedurre un modo per classificare esempi non noti. Tale approccio viene anche detto "con supervisione" (supervised), nel senso che lo schema di apprendimento opera sotto la supervisione fornita implicitamente dagli esempi di classificazione per i casi noti; tali esempi, per questo motivo, vengono anche detti training examples, ovvero "esempi per l'addestramento". La conoscenza acquisita per apprendimento mediante classificazione può essere rappresentata con un albero di decisione.
L'estrazione dei dati vera e propria giunge quindi al termine di un processo che comporta numerose fasi: si individuano le fonti di dati; si crea un unico set di dati aggregati; si effettua una pre-elaborazione (data cleaning, analisi esplorative, selezione, ecc.); si estraggono i dati con l'algoritmo scelto; si interpretano e valutano i pattern; l'ultimo passaggio va dai pattern alla nuova conoscenza così acquisita.
Vi sono diverse proposte e tecniche aventi ognuna specifiche caratteristiche e vantaggi.
* Alberi di decisione: classificazione, sommatorizzazione (es. mediante gli algoritmi C4.5, CART, ID3, Entropia, CHAID).
* Analisi logica e programmazione intera: classificazione, apprendimento di regole (es. LAD).
* Teoria dei grafi: clustering, classificazione (es. B&C).
* Reti neurali (ANN): classificazione (es. Perceptron, a singolo strato, multi-strato, backpropagation, radial-basis function R&F networks come SNNS e Nevprop).
* Metodi Bayesiani: regressione, classificazione, bayesian learning, bayesian belief network, bayesian classifiers, maximum likelihood.
* Support Vector Machines (SVM): classificazione, pattern recognition (es. RSVM).
* Association/pattern discovery: regole di associazione e dipendenze, partner sequenziali (es. CN2).

### Pre-elaborazione (Pre-Processing)

Prima di poter utilizzare gli algoritmi di data mining, è necessario assemblare un set di dati di destinazione. Poiché il data mining può solo scoprire modelli effettivamente presenti nei dati, il set di dati di destinazione deve essere abbastanza grande da contenere questi modelli, pur rimanendo abbastanza conciso da essere estratto entro un limite di tempo accettabile. Una fonte comune per i dati è un data mart o un data warehouse. La pre-elaborazione è essenziale per analizzare i set di dati multivariati prima del data mining. Il set di obiettivi viene quindi pulito. La pulizia dei dati rimuove le osservazioni contenenti rumore e quelle con dati mancanti.

### Esempi

Che cosa "è" data mining?
* fare una ricerca in rete su una parola chiave e classificare i documenti trovati secondo un criterio semantico (per esempio "corriere": nome di giornale, professione, ecc.);
* scoprire quali sono i clienti che hanno maggiore propensione di acquisto su certi prodotti o campagne pubblicitarie.
Che cosa "non è" data mining?
* cercare un numero di telefono nell'elenco;
* fare una ricerca in Internet su "vacanze alle Maldive".

### Text mining

È una forma particolare di data mining nella quale i dati consistono in testi in lingua naturale: in altre parole, documenti "destrutturati". Il text mining unisce la tecnologia della lingua con gli algoritmi del data mining. L'obiettivo è sempre lo stesso: l'estrazione di informazione implicita contenuta in un insieme di documenti.
Ha avuto un notevole sviluppo, grazie ai progressi delle tecniche di elaborazione del linguaggio naturale (in inglese NLP), della disponibilità di applicazioni complesse attraverso gli Application service provider (ASP) e dell'interesse verso le tecniche automatiche di gestione della lingua mostrato sia dagli accademici, sia dai produttori di software, sia dai gestori dei motori di ricerca.

### Software utilizzati

* SPSS: SPSS Clementine
* SAS: SAS Enterprise Miner e SAS Text Miner
* STATA
* R
* Oracle Data Miner
* Microsoft SQL Server: strumenti di data mining del DBMS prodotto da Microsoft
* Weka, datamining in Java
* RapidMiner

### Sviluppi recenti

Una delle evoluzioni più recenti del data mining è la visualizzazione di dati (in inglese data visualization). Settore specialistico dell'infografica, la visualizzazione di dati si occupa non solamente di rendere graficamente intelligibile un testo, ma entra in relazione più diretta con la strutturazione delle banche dati e l'esportazione di grafici dai dati.
Un'altra nuova frontiera è il social data mining, ovvero l'analisi di informazioni generate dalle reti sociali online, come ad esempio l'analisi del sentiment.

## Applicazioni
### Ricerca di mercato

L'utilizzo del data mining nella ricerca di mercato è volto ad ampliare la conoscenza su cui basare i processi decisionali. Nel contesto aziendale il data mining è considerato parte del processo che porta alla creazione di un data warehouse. È efficace soprattutto per la valorizzazione delle informazioni aziendali residenti in questi grandi depositi di dati. Affinché l'informazione estratta dai dati esistenti sia significativa, e quindi potenzialmente utile, deve essere:
* valida (cioè può agire anche sui nuovi dati);
* precedentemente sconosciuta;
* comprensibile.
In questo contesto, un pattern (schema) non è altro che la rappresentazione delle relazioni chiave che vengono scoperte durante il processo di estrazione dati: sequenze ripetute, omogeneità, emergenza di regole, ecc. Per esempio, se un pattern mostra che i clienti di una certa area demografica sono molto propensi ad acquistare uno specifico prodotto, allora un'interrogazione (query) selettiva ad un data warehouse di probabili compratori può essere usata per generare un elenco di indirizzi promozionali.
L'esempio classico spesso usato nei corsi universitari è quello di una catena non meglio specificata di supermercati (probabilmente statunitense) che avrebbe scoperto, analizzando gli scontrini, qualcosa altrimenti difficilmente immaginabile: le persone che acquistavano pannolini spesso compravano più birra degli altri, per cui mettendo la birra più costosa non lontano dai pannolini, poteva incrementarne le vendite. Infatti, quelle persone che avevano figli piccoli passavano più serate in casa a guardare TV bevendo birra, non potendo uscire con gli amici. È doveroso tuttavia precisare che non è chiaro quale sia la catena di supermercati in questione, e l'esempio, seppur ottimo per scopi didattici e largamente utilizzato anche in ambito giornalistico, potrebbe essere stato inventato così come potrebbe essere vero.

## Legge sul copyright
### Situazione in Europa

In base alle leggi europee sul copyright e sui database, l'estrazione di opere protette da copyright (ad esempio tramite il web mining) senza l'autorizzazione del titolare del copyright non è legale. Laddove un database è costituito da dati puri in Europa, può darsi che non vi sia alcun diritto d'autore, ma possono esistere diritti di database in modo che il data mining diventi soggetto ai diritti dei proprietari di proprietà intellettuale protetti dalla Direttiva sui database. Su raccomandazione della revisione di Hargreaves, ciò ha portato il governo del Regno Unito a modificare la sua legge sul copyright nel 2014 per consentire l'estrazione di contenuti come limitazione ed eccezione. Il Regno Unito è stato il secondo paese al mondo a farlo dopo il Giappone, che ha introdotto un'eccezione nel 2009 per il data mining. Tuttavia, a causa della restrizione della direttiva sulla società dell'informazione (2001), l'eccezione del Regno Unito consente l'estrazione di contenuti solo per scopi non commerciali. La legge sul copyright del Regno Unito inoltre non consente che questa disposizione sia sovrascritta dai termini e condizioni contrattuali.
La Commissione europea ha facilitato la discussione delle parti interessate sull'estrazione di testo e dati nel 2013, sotto il titolo di Licenze per l'Europa. L'attenzione alla soluzione di questo problema legale, come la concessione di licenze piuttosto che limitazioni ed eccezioni, ha portato rappresentanti di università, ricercatori, biblioteche, gruppi della società civile ed editori ad accesso aperto a lasciare il dialogo con le parti interessate nel maggio 2013.