data mining e open data
DESCRIPTION
Slides introduttive presentate il 16 novembre 2013 a Bari in occasione del laboratorio su Data Mining e Open Data nel contesto di Open Data in Action!TRANSCRIPT
![Page 1: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/1.jpg)
Data Mining e Open Data
Duccio Schiavon(Statistica@Ning)
Bari, 16 novembre 2013
![Page 2: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/2.jpg)
Cos’è il Data Mining
![Page 3: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/3.jpg)
Enunciazioni autorevoli
‘We’re drawning in information and starving for knowledge’
John Naisbittstudioso e futurologo di fama internazionale, ha collaborato con le amministrazioni
Kennedy e Johnson, ha insegnato presso le Università di Mosca e Harvard.
![Page 4: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/4.jpg)
Enunciazioni autorevoli‘Data Mining is the art and science of finding interesting
and useful patterns in data’
Gregory Piatetsky-Shapiromassimo esperto di Data Mining, fondatore di KDD (Knowledge Discovery
Conferences), cofondatore di ACM SIGKDD, (professional association on Knowledge Discovery and Data Mining), e amministratore di KDnuggets.com
http://www.kdnuggets.com/faq/what-is-data-mining.html
![Page 5: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/5.jpg)
Definizione‘Data Mining rappresenta l’attività di elaborazione in forma
grafica o numerica di grandi raccolte o di flussi continui di dati con lo scopo di estrarre informazioni utili a chi detiene i dati stessi’
Adelchi Azzaliniprofessore di Statistica presso il Dipartimento di Statistica dell’Università degli Studi di
Padova e autore di Analisi dei dati e data mining.
![Page 6: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/6.jpg)
Sfide minerarie nella moderna società dell’informazione
Gli ultimi anni hanno visto una proliferazione delle sorgenti di dati ad alta capacità di archiviazioneAlcuni esempi:
• Supermercati: market basket analysis basata sugli scontrini emessi e geo-localizzazione attraverso le carte fedeltà
• Compagnie telefoniche: raccolta dei dati di utilizzo, studio di offerte progettate sulla base dei consumi, individuazione dei clienti target
• Ricerca scientifica: nella microbiologia, l’analisi delle sequenze di porzioni di DNA porta alla costruzione di gigantesche tabelle, dette ‘DNA microarray’
• Rilevazioni di natura fisica e chimica: analisi dell’evoluzione del clima terrestre e di altri fenomeni naturali
![Page 7: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/7.jpg)
Sfide minerarie nella moderna società dell’informazione
• Il Web: enorme deposito di informazioni, contenute in tanti documenti di forma differente. La ricchezza e la varietà dei contenuti contraddistinguono questo ambito dai precedenti. Quando vi è la possibilità di accedere ad informazioni strutturate (o strutturabili) le possibilità di studio divengono innumerevoli così come le relazioni osservabili
![Page 8: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/8.jpg)
Il Web: la sfida più impegnativaPurtroppo, i maggiori vantaggi offerti dal Web rappresentano spesso anche i peggiori svantaggi:
- la quantità di dati è continuamente aggiornata per cui è anche difficilmente numerabile
- la gran parte dei dati è organizzata in forma non-strutturata
- all’interno del singolo documento, gli elementi oggetto di ricerca non sempre forniscono una pertinenza precisa sulla loro collocazione e sulla relazione con gli altri elementi in esso contenuti
![Page 9: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/9.jpg)
Problemi minerari e particolareapproccio analitico
Maledizione della dimensionalità: il problema principale del DM è rappresentato da un possibile rischio: ovvero sia che una tale abbondanza di dati non consenta in realtà l’estrazione dell’informazione utile
‘Informazione utile’: espressione volutamente generica in quanto nel DM non è quasi mai specificato a priori quale sia l’oggetto di interesse, che spesso si cerca d’individuare proprio “scavando” tra i dati
‘Il DM è una disciplina recente, collocata al punto d’intersezione di varie aree scientifiche, e specialmente la statistica, l’intelligenza artificiale (machine learning, pattern recognition, ecc.) e la gestione dei database’
A. Azzalini
![Page 10: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/10.jpg)
Ritrosia degli statistici verso il DM1) In molti casi i dati sono raccolti per motivi diversi da quello della loro analisi statistica. Ad esempio, in molte imprese, la raccolta avviene per fini puramente contabili. I dati in questi casi non rispondono a nessun piano di campionamento o piano sperimentale
2) Dato che l’obiettivo spesso non è dichiarato a priori, la situazione classica è che andando alla ricerca “di qualcosa” si finisca col trovare comunque “qualcosa”… anche se questo “qualcosa” in realtà non esiste.
‘If you torture the data long enough, Nature will always confess’
Ronald H. Coase, premio Nobel 1991 per l’economia
![Page 11: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/11.jpg)
Cosa distingue il data mining dalla statistica
La statistica viene tradizionalmente considerata un’analisi primaria (sperimentale) dei dati raccolti per verificare ipotesi specifiche. La statistica viene quindi classificata come un’analisi (confermativa) condotta dall’alto, una verifica o valutazione d’ipotesi
Il data mining è considerato generalmente come un tipo di analisi secondaria (osservazionale) dei dati raccolti per altre ragioni. Il DM viene quindi classificato come analisi (esplorativa) condotta dal basso, un processo di generazione d’ipotesi e di conoscenze (knowledge discovery).
![Page 12: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/12.jpg)
Il modello‘All Models Are Wrong But Some Are Useful’
George E.P. Bpx pioniere del controllo di qualità dei processi, nella analisi delle serie storiche, disegno
degli esperimenti e inferenza bayesiana
Il DM è un processo complesso d’identificazione nei dati di tendenze, strutture, modelli o trend validi, potenzialmente utili ed infine comprensibili che consentano all’utente di prendere decisioni cruciali.
- complesso: non si tratta del calcolo diretto di quantità predefinite come la media di un insieme di numeri- validi: i modelli devono “funzionare”, ovvero sia devono fornire buoni risultati se applicati su dati nuovi- potenzialmente utili: i modelli devono essere di qualche utilità per l’utente- comprensibili: i risultati devono essere interpretabili e comprensibili
![Page 13: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/13.jpg)
Gli obiettivi del data mining
![Page 14: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/14.jpg)
Principali funzioni
![Page 15: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/15.jpg)
Classificazione predittiva• Costruzione del modello: descrizione di un insieme pre-determinato di classi
– Ogni unità appartiene ad una classe predefinita, identificata da una precisa etichetta di classe
– L’insieme di unità utilizzato per la costruzione del modello è chiamato insieme di addestramento
– Il modello può essere rappresentato da regole di classificazione, alberi decisionali, formule matematiche, ecc.
• Utilizzo del modello: per la classificazione di oggetti futuri o non noti– Accuratezza della stima del modello
• Il modello viene testato attraverso un insieme di test di cui sono note le etichette di output
• Il tasso di accuratezza è la percentuale di unità dell’insieme di test correttamente classificate dal modello
• L’insieme di test deve essere indipendente dall’insieme di addestramento – Se l’accuratezza è accettabile, si utilizza il modello per classificare i dati di cui
non sono note le etichette
![Page 16: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/16.jpg)
Costruzione del modello
Dati di addestramento
NOME POSIZIONE ANNI DI RUOLOMichele Assistente Prof 3 noMaria Assistente Prof 7 siLuca Professore 2 siGiovanni Prof. Associato 7 siDavide Assistente Prof 6 noAnna Prof. Associato 3 no
Algoritmi di Classificazione
IF posizione = ‘professore’OR anni > 6THEN di ruolo = ‘si’
Modello
![Page 17: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/17.jpg)
Accuratezza della stimaUtilizzo dell’insieme di test per costruirci la seguente MATRICE DI CONFUSIONE: i
dati sulla var. DI RUOLO sono noti, ma noi applichiamo il modello facendo previsioni su di essi “censurandoli”
DI RUOLOPrevisti
DI RUOLO Osservati
SI
SI
NO
NOTasso di Accuratezza: Numero di unità
classificate correttamente su numero totale di unità
(a+d)/(a+b+c+d)
![Page 18: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/18.jpg)
Applicazione del modello
Modello
Dati di test
NOME POSIZIONE ANNI DI RUOLOTom Assistente Prof. 2 noMelissa Prof. Associato 7 noGiorgio Professore 5 siAlessandroAssistente Prof. 7 si
Data Sconosciuti
(Guido, Professore, 4)
Di Ruolo?
SI
![Page 19: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/19.jpg)
Tecniche di classificazione predittiva
• Regressione lineare• Analisi discriminante• Metodi non parametrici• Alberi di classificazione• Reti neurali• Combinazioni di classificatori (bagging, boosting, voting)
![Page 20: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/20.jpg)
Regressione predittiva• La previsione tramite regressione consiste in
– Costruire un modello secondo una procedura molto simile a quella della classificazione predittiva
– usare il modello per prevedere valori continui o ordinali per un dato input• La regressione predittiva è differente dalla classificazione predittiva
– La classificazione consente di prevedere etichette di classe categoriali– La regressione consente di modellare funzioni di base numerico-continua
• Principale metodo predittivo: Regressione– modella la relazione tra una o più variabili indipendenti o predittori ed una variabile
dipendente o di risposta• Analisi di regressione
– Regressione lineare e multipla – Regressione non-lineare– Altri metodi di regressione: modelli lineari generalizzati, regressione di Poisson,
modelli log-lineari
![Page 21: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/21.jpg)
Misure di accuratezza della previsione• Misura di accuratezza predittiva: misura quanto il valore previsto si scosta
dal valore noto• Funzione di perdita: misura l’errore esistente tra il valore osservato yi e
l’errore previsto yi’ (valori residui)
– Errore assoluto: | yi – yi’|
– Errore quadratico: (yi – yi’)2
• Errore di test (errore di generalizzazione): perdita media sull’insieme di test– Err. assoluto medio: Err. quadratico medio:
– Err. ass. relativo: Err. quad. relativo:
I più popolari indicatori di accuratezza sono la radice dell’errore quadratico medio (RMSE) così come la radice dell’errore quadratico relativo
d
yyd
iii
1
|'|
d
yyd
iii
1
2)'(
d
ii
d
iii
yy
yy
1
1
||
|'|
d
ii
d
iii
yy
yy
1
2
1
2
)(
)'(
![Page 22: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/22.jpg)
Complessità vs. Bontà di adattamento
x
yDati di addestramento
![Page 23: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/23.jpg)
Complessità vs. Bontà di adattamento
x
y
x
yTroppo semplice?Dati di addestramento
![Page 24: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/24.jpg)
Complessità vs. Bontà di adattamento
x
y
x
y
x
y
Troppo semplice?
Troppo complesso?
Dati di addestramento
![Page 25: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/25.jpg)
Complessità vs. Bontà di adattamento
x
y
x
y
x
y
x
y
Troppo semplice?
Troppo complesso? Ci siamo?
Dati di addestramento
![Page 26: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/26.jpg)
Complessità e Generalizzazione
Errore diAddestramento
Errore di Test
Complessità = gradidi libertà del modello(ad es. numero di variabili)
Funzione di perditaAd es., errore quadratico
ComplessitàOttimale del modello
![Page 27: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/27.jpg)
Altre tecniche di regressione predittiva(o meglio: di previsione di una
variabile quantitativa)
• Spline• Modelli addittivi e GAM• Alberi di regressione• Reti neurali
![Page 28: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/28.jpg)
L’intero processo deldata mining
![Page 29: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/29.jpg)
Definizione del problemaDefinizione del
problemaDefinizione del
problemaRispondi alle seguenti domande:
Cosa stai cercando? Quali tipi di relazioni intendi trovare? La soluzione che stai cercando è in linea con i tuoi
reali obiettivi? Desideri costruire un modello per scopi previsionali
oppure sei interessato ad indagare andamenti e associazioni?
Quali attributi desideri prevedere? Quale tipo di relazione esiste tra le colonne del tuo
dataset? Se disponi di diverse tabelle, queste come sono
relazionate? In che forma sono disponibili i dati? I dati sono stagionali?
Fase comune ai comuni processi di modellazioneFase comune ai comuni processi di modellazione
![Page 30: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/30.jpg)
Preparazione dei datiDefinizione del
problemaDefinizione del
problemaLa pulitura dei dati non è solo rimozione dei dati mal-codificati, ma anche trovare correlazioni nascoste nei dati, identificare sorgenti di dati che siano sufficientemente accurate, e determinare quali colonne sono le più appropriate per l’analisi. Per esempio, desideri conservare la data di ordine o, in alternativa, la data di spedizione?
Dati incompleti, dati errati ed input possono sembrare separati tra loro ma nei fatti possono influenzare i risultati del modello in modo inatteso. Quindi, prima d’iniziare occorre identificare i problemi e correggerli
Preparazione dei dati
Preparazione dei dati
Fase comune ai comuni processi di modellazioneFase comune ai comuni processi di modellazione
![Page 31: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/31.jpg)
Esplorazione dei datiDefinizione del
problemaDefinizione del
problemaLe tecniche di esplorazione includono il calcolo dei valori massimi e minimi, della media e delle deviazioni standard, così come l’osservazione della distribuzione dei dati.
Dall’osservazione dei massimi, dei minimi e delle medie potreste ad esempio verificare che i dati non sono rappresentativi dei processi caratteristici della vs. attività di business. A questo punto sarà necessario ottenere dati più bilanciati o rivedere gli assunti alla base della vs. analisi.
Valori elevati di deviazione standard possono indicare la necessità di aggiungere altri dati al fine di migliorare il modello, ecc.
Preparazione dei dati
Preparazione dei dati
Esplorazione dei dati
Esplorazione dei dati
Fase comune ai comuni processi di modellazioneFase comune ai comuni processi di modellazione
![Page 32: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/32.jpg)
Costruzione del modelloDefinizione del
problemaDefinizione del
problemaPrima dell’elaborazione del modello, un modello di data mining è soltanto un contenitore in cui sono riconoscibili le colonne da utilizzare come input e l’attributo che si desidera prevedere.
L’elaborazione di un modello è chiamato – come visto – addestramento. L’addestramento consiste nel processo di applicazione ai dati di uno specifico algoritmo matematico al fine di estrarne tendenze.
Le tendenze trovate nel processo di addestramento dipendono dalla selezione dei dati di addestramento, dall’algoritmo scelto, e dal modo in cui l’algoritmo è stato configurato.
Preparazione dei dati
Preparazione dei dati
Esplorazione dei dati
Esplorazione dei dati
Costruzione del modello
Costruzione del modello
Fase tipica del data miningFase tipica del data mining
![Page 33: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/33.jpg)
Validazione del modelloDefinizione del
problemaDefinizione del
problemaPrima di eseguire il deployment di un modello sarà necessario testare la sua bontà. Inoltre, in fase di costruzione generalmente si costruiscono più modelli basati su tecniche differenti: quindi si vorrà verificare anche quali tra questi si adatta meglio ai dati.
Per fare ciò si ricorrerà ad un insieme di dati di test (o “di verifica”) per osservare quale tra i modelli (“competitivi”) prodotti funzioni meglio
Preparazione dei dati
Preparazione dei dati
Esplorazione dei dati
Esplorazione dei dati
Costruzione del modello
Costruzione del modello
Fase tipica del data miningFase tipica del data mining
Validazione del modello
Validazione del modello
![Page 34: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/34.jpg)
Deployment del modelloDefinizione del
problemaDefinizione del
problemaUna volta ottenuto il modello, sono diverse le cose che si possono fare a seconda delle necessità:
1)Usare il modello per creare previsioni2)Interrogare i dati per estrarne statistiche o formule3)Integrare le funzionalità del modello direttamente in una qualsiasi applicazione (file PMML; Predictive Model Markup Language)4)Aggiornare il modello dinamicamente mano a mano che arrivano dati nuovi, e applicare modifiche costanti per migliorare l’efficacia della soluzione.
Preparazione dei dati
Preparazione dei dati
Esplorazione dei dati
Esplorazione dei dati
Costruzione del modello
Costruzione del modello
Fase tipica del data miningFase tipica del data mining
Validazione del modello
Validazione del modello
Deployment del modello
Deployment del modello
![Page 35: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/35.jpg)
Il data mining e il Web
![Page 36: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/36.jpg)
Il caso Netflix PrizeNetflix è una società degli Stati
Uniti, nata nel 1997, che offre un servizio di noleggio di DVD e videogiochi via Internet. La spedizione dei dischi è effettuata tramite il servizio postale, che viene utilizzato dai clienti anche per la restituzione. Dal 2008 Netflix offre anche un servizio di streaming online ai propri clienti, accessibile tramite un apposito abbonamento.
Secondo Compete.com, netflix.com è stato mediamente visitato almeno da 194 millioni di visitatori all’anno dal 2008. Cinque volte il numero di visitatori di blockbuster.com.Nell’Aprile 2011, Netflix ha annunciato di aver raggiunto la quota di 26 milioni e 600 mila sottoscrittori. Dall’ottobre del 2012 è presente sul mercato europeo, in Irlanda ed in Scandinavia.
![Page 38: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/38.jpg)
Il caso Netflix PrizeIl Netflix Prize è una competizione aperta per il migliore
algoritmo collaborativo di previsione dei giudizi espressi (voti) dagli utenti nei confronti dei film visti. L’algoritmo si basa sui giudizi passati e deve fornire la base per un sistema di “raccomandazione”.
Netflix ha reso pubblico ai partecipanti un insieme di addestramento composto da 100.480.507 giudizi forniti da 480.189 utenti su 17.770 titoli. Ogni record del dataset era composto da 4 variabili (utente, film, data di giudizio, giudizio). I campi utente e film sono stati popolati da ID interi, mentre i giudizi erano espressi in una scala da 1 a 5 stelle.
L’insieme di dati di qualificazione conteneva 2.817.131 record di tre variabili (utente, film, data di giudizio), con giudizi noti solo alla giuria. I team di partecipanti dovevano eseguire le previsioni sull’intero set di qualificazione, ma dovevano essere informati solo del punteggio ottenuto su meta di esso (insieme di quiz; 1.408.342 giudizi). L’altra metà avrebbe costituito l’insieme di test (1.408.789), e la prestazione offerta su di esso avrebbe costituito il reale giudizio da parte della giuria. A solo i membri della giuria era noto sia il risultato sull’insieme di quiz che sull’insieme di test.
![Page 39: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/39.jpg)
Il caso Netflix PrizeL’accuratezza delle previsioni fornite era espresso in termini di
Radice dell’Errore Quadratico Medio (RMSE) e l’obiettivo era ovviamente ridurre per quanto possibile il valore di tale errore.
Il concorso aveva l’obiettivo di migliorare la capacità di raccomandazione di quello che fino ad allora era stato l’algoritmo in uso in Netflix, e che si chiamava Cinematch. Un algoritmo elementare di previsione – se applicato all’insieme di quiz – produce in media un RMSE pari a 1,054. Cinematch si basava su semplici algoritmi a modelli lineari con un alto numero di vincoli sui dati.
Dopo la costruzione del modello sui dati di addestramento, Cinematch produceva un RMSE pari a 0,9514 sui dati di quiz, con un miglioramento di oltre il 10% rispetto ad un qualsiasi algoritmo elementare.Cinematch aveva una performance simile sull’insieme di test (RMSE=0,9525). Per vincere il premio di 1 milione di dollari messo in palio, i team partecipanti dovevano migliorare almeno di un 10% la performance sull’insieme di test (per arrivare a RMSE=0,8572). Sull’insieme si quiz tale miglioramento corrisponde a RMSE=0,8563.
![Page 40: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/40.jpg)
Il caso Netflix Prize
Il concorso fu indetto nell’ottobre del 2006, e per molto tempo il premio non fu vinto da nessuno. Fu messo in palio un premio minore (di 50.000 dollari) a chiunque ogni anno avesse raggiunto il risultato migliore. Tuttavia per vincere questo premio, un algoritmo doveva migliorare di almeno l’1% la prestazione rispetto a quella del vincitore dell’anno prima.
Per vincere i partecipanti dovevano fornire alla giuria il codice sorgente ed una descrizione dell’algoritmo con una sua descrizione. Dopo la verifica il vincitore avrebbe dovuto rilascare una licenza NON-ESCLUSIVA a Netflix. Netflix avrebbe pubblicato solo la descrizione, e non il codice sorgente. Un team poteva, se preferiva, non reclamare il premio se desiderava mantenere segreto il codice.
A giugno 2007 si erano iscritti 20.000 team provenienti da 150 paesi. 2.000 team hanno inviato 13.000 insiemi di previsioni.
![Page 41: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/41.jpg)
Il caso Netflix Prize
http://www.netflixprize.com//community/
![Page 42: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/42.jpg)
Il caso Netflix Prize
http://www.timelydevelopment.com/demos/NetflixPrize.aspx
![Page 43: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/43.jpg)
Il caso Netflix Prize
http://www.cs.uic.edu/~liub/KDD-cup-2007/NetflixPrize-description.pdf
![Page 44: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/44.jpg)
Il caso Netflix Prize
http://www.the-ensemble.com/content/netflix-prize-movie-similarity-visualization
![Page 45: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/45.jpg)
Il caso Netflix Prize
http://abeautifulwww.com/2007/04/03/another-visualization-of-the-netflix-prize-dataset/
![Page 46: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/46.jpg)
Il caso Netflix Prize
http://www.nytimes.com/2008/11/23/magazine/23Netflix-t.html?_r=1&pagewanted=all
![Page 47: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/47.jpg)
Netflix Prize leaderboard
http://www.netflixprize.com//leaderboard
Il 18 settembre 2009, Netflix ha annunciato il vincitore del premio: il team chiamato "BellKor's Pragmatic Chaos” ha vinto 1 milione di dollari per avere raggiunto un RMSE Test pari a 0,8567. Il team “The Ensemble” ha ottenuto il medesimo risultato ma avendo loro presentato i dati 20 minuti più tardi, a loro è spettata solo la seconda posizione.
![Page 48: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/48.jpg)
Altri casi di “algoritmi collaborativi”
Heritage Health Prize
http://www.heritagehealthprize.com/c/hhp
![Page 49: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/49.jpg)
Lista delle “competizioni algoritmiche”
TUNEDIThttp://tunedit.org/challenges
![Page 50: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/50.jpg)
Come Facebook utilizza il data mining
Le prime considerazioni in merito rilasciate da un analista-sviluppatore di Fb risalgono al 2009, quando al Predictive Analytics World nello spazio riservato al Bay Area R Users Group, Itamar Rosenn ha illustrato quali tecniche di analisi predittiva erano in uso all’interno di Fb nel 2007
Nel 2007 i due principali obiettivi analitici di Fb erano:(i) stabilire quali fossero le principali ragioni all’origine dell’abbandono di Fb
da parte degli utenti (Disattivazione account)(ii) prevedere quali fossero i motivi per cui un utente appena iscritto
rimaneva in Fb per almeno 3 mesi
http://www.lecturemaker.com/2009/02/r-kickoff-video/
![Page 51: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/51.jpg)
Come Facebook utilizza il data miningPer il primo obiettivo Fb ha utilizzato tecniche di partizionamento ricorsivo
(pacchetto rpart di R) al fine di stabilire se due precise variabili potevano essere significativamente predittive della possibilità che un utente rimanesse su Fb:
(i) l’avere compiuto più di una procedura d’iscrizione a Fb(ii) l’avere inserito le informazioni di base del profilo
Per il secondo obiettivo, è stato adattato ai dati un particolare modello logistico secondo l’approccio della least angle regression (pacchetto lars di R), trovando che l’attività dei tre mesi successivi all’iscrizione era “spiegata” da tre variabili associate alle seguenti classi di comportamento: (i) numero di volte che un utente è stato raggiunto da altri utenti, (ii) frequenza nell’utilizzo di applicazioni esterne, e (iii) il grado di apertura dell’utente nei confronti del sito (“recettività”).
![Page 52: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/52.jpg)
Come Facebook utilizza il data miningNel maggio 2011, in occasione di un convegno presso il Laboratorio
d’Intelligenza Artificiale del Jožef Stefan Institute, Lars Backstrom (Responsabile dei sistemi di analisi dei dati e di machine learning presso Fb) fornisce alcune utili indicazioni sui metodi di analisi attualmente adottati
La natura dei dati in Fb
Dati strutturati- Gli oggetti generalmente possono essere collegabili tra loro
- La funzione di amicizia consente di collegare due persone- La funzione di tag associa una foto ad una persona- Il collegamento ad una pagina consente di associare una pagina ad una persona
- Tutti questi oggetti possono essere facilmente riassunti visivamente e analiticamenteDati destrutturati- Principalmente contenuti testuali e visivi (immagini, foto)- Difficoltà di analisi
http://videolectures.net/eswc2011_backstrom_facebook/ (Dealing with structured and unstructured data at Facebook)
![Page 53: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/53.jpg)
Come Facebook utilizza il data mining
Obiettivi analitici di Fb nell’immediato- Disporre di una maggiore quantità di dati strutturati di migliore
qualità per scopi di data mining
Obiettivi analitici futuri di Fb- Trovare modi più efficaci di analizzare i dati destrutturati con
l’obiettivo di migliorare i “punteggi” ed approntare nuovi servizi
![Page 54: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/54.jpg)
Fb: come analizzare i dati destrutturatiUtilizzo di tecniche automatizzate per l’estrazione d’interessanti diagrammi
Esempio di monitoraggio degli eventi principali:
Frequenza della parola “Influenza” pubblicata in bacheca
Esempio di monitoraggio degli eventi principali con associazione:
Frequenza di parole pubblicate per nazione di provenienza (registrate nelle 2 ore successiva al terremoto in Giappone)
![Page 55: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/55.jpg)
Fb: dati strutturati + dati destrutturatiVodka Map
Percentuale di maschi
Età
![Page 56: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/56.jpg)
Fb: un problema di classificazioneMolti utenti si trovano a disporre di troppi contenuti provenienti dagli amici.
Un problema mostrarli tuttiFB deve quindi riuscire a filtrare e classificare tali contenuti in modo da
generare i Newsfeed. La sfida quindi si riduce a prevedere quanto possano essere interessanti i contenuti sulla base del tipo di relazione che l’utente ha verso un amico, un luogo, un dettaglio, un’attività, ecc.
Il modello che Fb costruisce è quindi relativo ad un problema di classificazione il cui obiettivo è prevedere i clic, i “Mi piace”, i commenti, ecc.
Feedback Vs.
Distanza
![Page 57: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/57.jpg)
Fb: come suggerire gli amiciLa maggior parte delle amicizie si crea secondo la logica dell’ “amico
dell’amico” (FOF: “friends of friends”)- I dati sui maggiori social network dimostrano come le amicizie create
secondo FOF (a 2 salti) siano 5 volte maggiori rispetto alle amicizie a più di 3 salti (gradi di conoscenza)
Da un punto di vista pratico prevedere i suggerimenti di amicizia a più di 2 salti è praticamente impossibile:
Ogni utente ha in media 130 amici quindi:- 130x130=16.900 FOF- 130x130x130=2.197.000 FOFOF- ecc.
![Page 58: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/58.jpg)
Fb: come suggerire gli amiciProblema: Dato un utente “sorgente” trovare i FOF migliori da
suggerire Sfida: un utente tipico in genere presenta decine di migliaia di amici di
amici (FOF): come abbiamo visto, mediamente 17.000 circa.
Soluzione: certamente osservare le amicizie in comune degli amici è un buon punto di partenza
Altre caratteristiche del social network potrebbero essere d’aiuto (ad es., se il tuo migliore amico ha da poco stretto amicizia con una persona è probabile che questa persona divenga anche tua amica)
![Page 59: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/59.jpg)
Fb: come suggerire gli amiciIl modello: Il sistema esamina tutti i FOF e genera una lista di 100
candidati Il modello prevede la
costruzione di una previsione in tempo reale basata:
1) sulla costruzione di punteggi prodotti da un algoritmo ad alberi decisionali
2) sulla pubblicazione della lista che servirà a ri-classificare i FOF in tempo reale e sulla base delle visite alle singole pagine eseguite dall’utente sorgente
CTR: Click-through Rate
![Page 60: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/60.jpg)
Fb: come suggerire gli amiciPredittori:
- Le amicizie comuni pesate- Caratteristiche demografiche(età, nazionalità, tempo trascorso in Fb, sesso, numero di amici, ecc.)
I più importanti: - Tempo di amicizia stretta dagli amici più vicini- Nazionalità e tempo trascorso in Fb dell’utente sorgente- Numero di amici
Modello introdotto a marzo 2011Risultati:- Numero ridotto di guasti (singhiozzi)- Aumento medio delle nuove amicizie del 60%- Il sistema di analisi del CTR ha ridotto di 1/3 i ricaricamenti della
pagina prima della creazione dell’amicizia
![Page 61: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/61.jpg)
Google Prediction ApiGoogle ha creato un set di API (Application programming interface)che permettono di accedere ed utilizzare i suoi algoritmi di
machine learning. E' nato così Google Prediction API.Attraverso queste API si ha accesso a capacità di analisi predittiva, attraverso le quale è quindi possibile creare applicazioni intelligenti come, ad esempio:
- Identificare lo SPAM- Classificare autonomamente messaggi di posta- Proporre film sulla base dei gusti dell'utente- Giudicare quali post su un blog hanno carattere positivo o
negativo- Identificare la lingua scritta o parlata- Riconoscere in quali zone della casa si concentra
maggiormente lo sporco
Le API sono accessibili tramite interfaccia RESTful (Representational State Transfer)
L’utente deve (1) ricostruire il problema in un formato che le API possano gestire; (2) preparare un insieme di addestramento per far apprendere al programma in modo appropriato il problema.
http://code.google.com/intl/it-IT/apis/predict/
![Page 62: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/62.jpg)
Google Prediction ApiGoogle fornisce anche diverse librerie e script per poter accedere alle API
attraverso diversi linguaggi come .NET, Java, PHP, Ruby e Python. E' interessante notare come esista una libreria specifica per R.
Per accedere a Google Prediction API è necessario innanzitutto disporre di un account Google e secondariamente attivare sia Google Prediction API che Google Storage nella console delle API.
![Page 63: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/63.jpg)
Google Prediction Api
Esempio di utilizzo di Google Prediction Api per scopi di modellazione e previsione attraverso R:
http://moderntoolmaking.blogspot.com/2011/08/using-google-prediction-api-from-r.html
![Page 64: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/64.jpg)
Ford e Google Prediction API: perun’auto ecologica di nuova generazione
http://www.youtube.com/watch?v=gamITudh6DI&feature=youtu.be
![Page 65: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/65.jpg)
Ford e Google Prediction API: perun’auto ecologica di nuova generazione
A maggio 2011, in occasione della Google I/O developer conference 2011, i ricercatori della Ford hanno presentato il loro progetto di utilizzo di Google Prediction API per il miglioramento delle prestazioni di un prototipo di veicolo elettrico ibrido. Il sistema prevederebbe:
1) un servizio criptato di utilizzo dei dati forma un profilo dell’automobilista costruito sulla base dei percorsi e dei tempi di viaggio. In sostanza, il sistema apprende le principali informazioni sia del conducente che del veicolo stesso.
2) durante la corsa del veicolo, Google utilizzerà Prediction per valutare il comportamento di guida, raccogliere i dati sui tempi di percorrenza fino alla destinazione ed indicare come ottimizzare le prestazioni di guida.
3) il computer di bordo, dialoga con il conducente. In base alle risposte, indicherà all’utente come migliorare lo stile di guida, indicherà il percorso migliore e tenterà di sfruttare quanto più possibile la carica elettrica, in modo da risparmiare benzina.
![Page 66: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/66.jpg)
I software
![Page 67: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/67.jpg)
R: riferimenti su tecniche di Data Mining eweb scraping e web crawling
http://azzalini.stat.unipd.it/Libro-DM/index.html
Dataset e codicehttp://azzalini.stat.unipd.it/Libro-DM/programmi.html
Librerie di RRCurl – XML – scrapeR - SSOAP
![Page 68: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/68.jpg)
Altri Software - Gratuiti
Rattle (Interfaccia utente per il data mining con R)http://rattle.togaware.com/
KNIME(offre anche un’integrazione con R)http://www.knime.org/
![Page 69: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/69.jpg)
Altri Software - Gratuiti
RapidMiner(Interfaccia utente per il data mining con R)http://rapid-i.com/content/view/181/190/lang,en/
Orangehttp://orange.biolab.si/
ADaMSoft(italianissimo)http://adamsoft.caspur.it/
![Page 70: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/70.jpg)
Provate ZunZun!Abbiamo caricato su zunzun.com i dati che vedete sopra, gli abbiamo detto di costruire un’equazione 2D y = f(x) e gli abbiamo dato l’ok.Ebbene, dopo che ZZ ha adattato una serie di modelli calcolando per ognuno la somma quadratica degli errori assoluti come indice di bontà d’adattamento (nota: è possibile scegliere tra diverse misure d’errore così come selezionare le famiglie di modelli da adattare!) questo è stato il risultato:
Come primo modello è stato adattato un modello “Hockey-Sherby” secondo la seguente equazione:y = b - (b-a) * exp(-c * (x^d))con un indice di bontà d’adattamento pari a 40,545Come secondo modello è stato adattato un modello “Weibull” secondo la seguente equazione: y = a - b*exp(-cx^d)con indice di bontà d’adattamento pari a 40,545
![Page 71: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/71.jpg)
…per aggiornamenti futuri
Statistica@Ninghttp://statistica.ning.com/groups
Gruppi•Data mining•R•OpenData•Strumenti per Modellazione•Tutorials•Grafici e visualizzazioni
![Page 72: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/72.jpg)
Laboratorio con RattleSito web:http://rattle.togaware.com/Per installazione:http://www.togaware.com/datamining/survivor/Installation_Details.htmlAttenzione: assicurarsi di eseguire il seguente comando in R:install.packages(c("ada", "amap", "arules", "bitops“, "cairoDevice", "cba", "combinat", "doBy", "ellipse", "fEcofin", "fCalendar", "fBasics", "fpc“, "gdata", "gtools", "gplots", "Hmisc", "kernlab", "mice", "network", "pmml", "randomForest", "reshape“, "rggobi", "ROCR", "RODBC", "rpart", "RSvgDevice", “XML"))
Tutorial:http://zoo.cs.yale.edu/classes/cs445/misc/mar13lae08.pdf
![Page 73: Data Mining e Open Data](https://reader031.vdocuments.us/reader031/viewer/2022012922/556a24dad8b42a2f3f8b4cee/html5/thumbnails/73.jpg)
fine