La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Basi di Dati Introduzione al Data Mining Home page del corso:

Presentazioni simili


Presentazione sul tema: "Corso di Basi di Dati Introduzione al Data Mining Home page del corso:"— Transcript della presentazione:

1 Corso di Basi di Dati Introduzione al Data Mining Home page del corso:

2 Introduzione al Data Mining Data Mining : tecniche di apprendimento computerizzato per analizzare ed estrarre conoscenze da collezioni di dati. Pattern e relazioni non note a priori e non immediatamente identificabili. Disciplina complessa: utilizzo di tecniche di machine learning, intelligenza artificiale e statistiche …

3 Previsioni di dati temporali (es. vendite) Market Basket Analysis (vi siete mai chiesti come mai tanti tornei di golf sono sponsorizzati da societa di brokeraggio? ) Scoperta di truffe (es. clonazioni di carte di credito) Campagne pubblicitarie mirate Churn Analysis (analisi della clientela che potrebbe passare alla concorrenza) Segmentazione della clientela … ESEMPI di APPLICAZIONI (aziendali) Introduzione al Data Mining

4 BUSINESS INTELLIGENCE (BI) (def.) Insieme di processi aziendali, metodologie tool per raccogliere i dati di unazienda, ed estrarre informazioni di supporto alla decisioni strategiche. Introduzione al Data Mining DATA MINING componente essenziale del processo di BI, si occupa di estrarre informazioni utili dai dati per aiutare il processo decisionale …

5 BUSINESS INTELLIGENCE (BI) (def.) Insieme di processi aziendali, metodologie tool per raccogliere i dati di unazienda, ed estrarre informazioni di supporto alla decisioni strategiche. Introduzione al Data Mining DATA MINING componente essenziale del processo di BI, si occupa di estrarre informazioni utili dai dati per aiutare il processo decisionale … Sorgente:

6 Q. Da dove derivano i dati da analizzare? Introduzione al Data Mining Dati posseduti da unazienda/organizzazione e custodoti in un DB operazionale. Dati estratti dal Web (es. OPEN DATA) Dati estratti dai social media

7 Q. Da dove derivano i dati da analizzare? Introduzione al Data Mining Dati posseduti da unazienda/organizzazione e custodoti in un DB operazionale. Dati estratti dal Web (es. OPEN DATA) Dati estratti dai social media + +

8 Introduzione al Data Mining Q. Dove memorizzare i dati necessari per lanalisi? ANALISI REPORT Un data warehouse e una collezione di dati (non volatile) finalizzata al supporto del processo decisionale.

9 Introduzione al Data Mining Un data warehouse e un database relazionale finalizzato allanalisi ed al processo decisionale. Q. Che differenza ce tra un data warehouse ed i database operazionali visti fin qui nel corso? R. A basso livello, nessuna (modello relazionale chiavi, tabelle, vincoli integrita, SQL, etc) R. Le differenze principali sono nella progettazione !

10 Introduzione al Data Mining Differenze principali tra database operazionali (visti fin qui) e data warehouse. OPERAZIONI sui DATI Database operazionali Accessi multipli ai dati, aggiornamenti costanti nel tempo, possibile alta concorrenza delle operazioni lettura/scrittura. Data warehouse Accesso in sola lettura, dati storici e non soggetti a cambiamento.

11 Introduzione al Data Mining Differenze principali tra database operazionali (visti fin qui) e data warehouse. RAPPRESENTAZIONI dei DATI Database operazionali I dati delle tabelle sono normalizzati (Prima/Seconda/Terza Forma Normale) per ridurre la ridondanza dei dati. Data warehouse I dati sono rappresentati in forma denormalizzata per evitare operazioni (costose) di join tra le tabelle troppo frequenti.

12 Introduzione al Data Mining Differenze principali tra database operazionali (visti fin qui) e data warehouse. GRANULARITA dei DATI Database operazionali Ogni riga contiene informazioni relative ad operazioni di inserimento ( insert SQL ), eseguite sul database. Data warehouse I dati rappresentano informazioni aggregate, utili per la reportistica, spesso ottenute processando altri dati (del db).

13 Introduzione al Data Mining Esistono opportune metodologie (che non vedremo) per progettare un data warehouse relazionale. MODELLO OLAP MODELLO A STELLA Noi ci concentriamo ora sul processo di analisi dei dati …

14 Introduzione al Data Mining Data mining estrae informazioni da un DB. Data query ( SELECT ) estrae dati da un DB relazionale (in particolare, dalle tabelle della FROM ). Q. Che differenza esiste tra i due approcci? A. Il processo di data mining estrae regolarita e pattern sui dati che non sono note a priori, e che non possono essere ricavate da query SQL.

15 Introduzione al Data Mining Unazienda di telefonia vuole analizzare il data-set dei propri clienti abbonati, in modo da: Costruire una profilazione della clientela, in modo da individuare un possibile nuovo cliente, a partire dai suoi dati (es. eta, sesso, lavoro, etc). Determinare quali utenti abbonati possono essere interessati ad una nuova offerta (es. abbonamento Internet con tecnologia LTE). Q. Da dove partire per effettuare lanalisi? ESEMPIO di PROCESSO di DATA-MINING

16 Introduzione al Data Mining CRISP-DM ( Cross Industry Data Process for Data Mining ) metodologia standard e generale per limplementazione di un processo di data mining. BUSINESS UNDERSTANDING DATA UNDERSTANDING DATA PREPARATION MODELING EVALUATION DEPLOYMENT DB DW

17 Introduzione al Data Mining CRISP-DM ( Cross Industry Data Process for Data Mining ) metodologia standard e generale per limplementazione di un processo di data mining. BUSINESS UNDERSTANDING DATA UNDERSTANDING DATA PREPARATION MODELING EVALUATION DEPLOYMENT DB DW

18 Introduzione al Data Mining In questa fase, e necessario comprendere bene gli obiettivi che il sistema dovrebbe raggiungere (es. modello predizione costi?) ed i requisiti del committente. Inventario delle risorse disponibili. Requisiti, presupposti e vincoli. Analisi dei rischi/imprevisti. Analisi dei costi/benefici. BUSINESS UNDERSTANDING

19 Introduzione al Data Mining Nel caso di studio (azienda di telefonia), la fase di business understanding include la formulazione delle risposte ai seguenti quesiti: Che margine di profitto mi aspetto di ottenere dal modello di previsione dei nuovi clienti? Che margine di risparmio mi aspetto di ottenere effettuando pubblicita mirata delle nuove offerte? Quali sono i costi necessari per implementare il modello di data-mining nel processo decisionale? … ESEMPIO di PROCESSO di DATA-MINING

20 Introduzione al Data Mining CRISP-DM ( Cross Industry Data Process for Data Mining ) metodologia standard e generale per limplementazione di un processo di data mining. BUSINESS UNDERSTANDING DATA UNDERSTANDING DATA PREPARATION MODELING EVALUATION DEPLOYMENT DB DW

21 Introduzione al Data Mining In questa fase, e necessario comprendere bene quali dati sono fondamentali per la costruzione del modello di data mining. Report dei dati disponibili. Costruzione del dataset. Strategie di recupero dati mancanti. Criteri di verifica della qualita dei dati. DATA UNDERSTANDING

22 Introduzione al Data Mining Nel caso di studio (azienda di telefonia), la fase di data understanding include la formulazione delle risposte ai seguenti quesiti: Ho a disposizione tutti i dati necessari per poter classificare gli utenti del mio servizio? Devo prevedere campagne di raccolte dati (es. attraverso survey o interviste telefoniche?) Posso estendere il mio data-set includendo dati provenienti da altre fonti (es. social media)? … ESEMPIO di PROCESSO di DATA-MINING

23 Introduzione al Data Mining CRISP-DM ( Cross Industry Data Process for Data Mining ) metodologia standard e generale per limplementazione di un processo di data mining. BUSINESS UNDERSTANDING DATA UNDERSTANDING DATA PREPARATION MODELING EVALUATION DEPLOYMENT DB DW

24 Introduzione al Data Mining Molti algoritmi di data-mining richiedono di trasformare i dati in un opportuno formato per poter essere eseguiti efficacemente. Es. Gli algoritmi di classificazione lavorano spesso su un numero discreto di classi da riconoscere, sebbene i dati in questione abbiano un dominio continuo. DATA PREPARATION

25 Introduzione al Data Mining DATA PREPARATION CodiceMacchinaEtaCasaRedditoErogazione 1332SI26SI10500SI 2232NO40SI20000SI 4323NO60NO5000NO STORICO EROGAZIONI Se Reddito <= Se Reddito> & Reddito < Se Reddito >= Reddito REGOLE di CLASSIFICAZIONE Costruire un modello di data-mining per decidere lerogazione di una carta di credito sulla base della segmentazione degli utenti.

26 Introduzione al Data Mining Molti algoritmi di data-mining lavorano su dati normalizzati su un intervallo (es. [0,1]). DATA PREPARATION Normalizzazione Massimo/Minimo : ValMin ValMax 0 1

27 Introduzione al Data Mining Molti algoritmi di data-mining lavorano su dati normalizzati in base alla media dei valori. DATA PREPARATION Normalizzazione con Deviazione Standard : Media

28 Introduzione al Data Mining In molti data-set, possono essere presenti dati anomali ( out-lier ) che possono alterare lanalisi. DATA PREPARATION Reddito 1-Rischio Dati anomali … 1)Come identificarli ? 2)Come gestirli ? In molti casi, lobiettivo del processo di data mining consiste nella ricerca degli outlier (es. analisi frodi)!

29 Introduzione al Data Mining In molti data-set, possono essere presenti dati anomali ( outlier ) che possono alterare lanalisi. DATA PREPARATION Reddito 1-Rischio Dati anomali … 1)Come identificarli ? Es. Range valori consentiti: [Media – Y*Dev: Media+Y*Dev] Se X fuori dal range OUTLIER !

30 Introduzione al Data Mining In molti data-set, possono essere presenti dati anomali ( outlier ) che possono alterare lanalisi. DATA PREPARATION Reddito 1-Rischio Dati anomali … 1)Come identificarli ? Es. : Metodo dei vicini X(x 1,y 1 ) e Y (x 2,y 2 ) sono vicini se: Se #Vicini(X) < Soglia OUTLIER !

31 Introduzione al Data Mining In molti data-set, possono essere presenti dati anomali ( outlier ) che possono alterare lanalisi. DATA PREPARATION Reddito 1-Rischio Dati anomali … 1)Come identificarli ? 2)Come gestirli ? Rimovere gli outlier Sostituirli con valori NULL Sostituirli con Media(Val) …

32 Introduzione al Data Mining In molti data-set, possono essere presenti dati incompleti che possono condizionare lanalisi. DATA PREPARATION CodiceMacchinaEtaCasaRedditoErogazione 1332SI ??? SI10500SI 2232NO40 ??? 20000SI 4323 ??? 60NO ??? NO STORICO EROGAZIONI Q. Come gestire i record con informazioni incomplete?

33 Introduzione al Data Mining In molti data-set, possono essere presenti dati incompleti che possono condizionare lanalisi. DATA PREPARATION CodiceMacchinaEtaCasaRedditoErogazione 1332SI ??? SI10500SI 2232NO40 ??? 20000SI 4323 ??? 60NO ??? NO STORICO EROGAZIONI Q. Come gestire i record con informazioni incomplete? Diverse possibilita: Scartare record incompleti Rimpiazzare ??? con valori NULL Rimpiazzare ??? con il valore medio dellattributo Rimpiazzare ??? Con un valore che non alteri la deviazione Standard dei valori dellattributo Rimpiazzare ??? Con valori plausibili dellattributo sulla base di valori simili. …

34 Introduzione al Data Mining In molti contesti e opportuno ridurre il numero di attributi del data-set da analizzare … DATA PREPARATION STORICO EROGAZIONI Ragioni di efficienza + Attributi: > Maggior tempo di computazione Ragioni di accuratezza Alcuni attributi non sono utili per lanalisi CodiceCFMacchinaEtaCasaRedditoErogazione 1332ADFDS802 M SI26SI10500SI 2232FSFSS102MNO40SI20000SI 4323MRGTY43RNO60NO5000NO Informazione non utile per il modello …

35 Introduzione al Data Mining In molti contesti e opportuno ridurre il numero di attributi del data-set da analizzare … DATA PREPARATION STORICO EROGAZIONI Ragioni di efficienza + Attributi: > Maggior tempo di computazione Ragioni di accuratezza Alcuni attributi non sono utili per lanalisi CodiceCFMacchinaEtaCasaRedditoErogazione 1332ADFDS802 M SI26SI10500SI 2232FSFSS102MNO40SI20000SI 4323MRGTY43RNO60NO5000NO Informazione non utile per il modello …

36 Introduzione al Data Mining Lattivita di data preparation e molto delicata, le scelte effettuate possono condizionare lanalisi … DATA PREPARATION STORICO EROGAZIONI CodiceMacchinaEtaCasaRedditoErogazione 1332SI20SI10500SI 2232NO40SI20000SI 4323SI60NO NO SCELTA 1 : Seleziono la riga come outlier e la rimuovo …

37 Introduzione al Data Mining Lattivita di data preparation e molto delicata, le scelte effettuate possono condizionare lanalisi … DATA PREPARATION STORICO EROGAZIONI CodiceMacchinaEtaCasaRedditoErogazione 1332SI20SI10500SI 2232NO40SI20000SI 4323SI60NO NO SCELTA 1 : Seleziono la riga come outlier e la rimuovo … Valore medio Reddito: 15250

38 Introduzione al Data Mining Lattivita di data preparation e molto delicata, le scelte effettuate possono condizionare lanalisi … DATA PREPARATION STORICO EROGAZIONI CodiceMacchinaEtaCasaRedditoErogazione 1332SI20SI10500SI 2232NO40SI20000SI 4323SI60NO NO SCELTA 2 : Non rimuovo la riga, nessun outlier … Valore medio Reddito:

39 Introduzione al Data Mining CRISP-DM ( Cross Industry Data Process for Data Mining ) metodologia standard e generale per limplementazione di un processo di data mining. BUSINESS UNDERSTANDING DATA UNDERSTANDING DATA PREPARATION MODELING EVALUATION DEPLOYMENT DB DW

40 Introduzione al Data Mining Algoritmi diversi, per risolvere problemi diversi: Classificazione Determinare se gli attributi di una certa istanza appartengono o meno ad una classe. Predizione Predire il valore di una serie temporale (valori continui). Associazione Determinare regole del tipo: Se X allora Y. Segmentazione Scoprire pattern sui dati, raggruppare istanze simili in gruppi (cluster) di istanze.

41 Introduzione al Data Mining Algoritmi diversi, per risolvere problemi diversi: Classificazione Determinare se gli attributi di una certa istanza appartengono o meno ad una classe. Predizione Predire il valore di una serie temporale (valori continui). Associazione Determinare regole del tipo: Se X allora Y. Segmentazione Scoprire pattern sui dati, raggruppare istanze simili in gruppi (cluster) di istanze.

42 Introduzione al Data Mining Algoritmi diversi, per risolvere problemi diversi: Classificazione Determinare se gli attributi di una certa istanza appartengono o meno ad una classe. Predizione Predire il valore di una serie temporale (valori continui). Associazione Determinare regole del tipo: Se X allora Y. Segmentazione Scoprire pattern sui dati, raggruppare istanze simili in gruppi (cluster) di istanze.

43 Introduzione al Data Mining Data unistanza (record) di dati su N attributi : A(x 1,x 2,x 3,x 4,x 5, … x N ) Dato un insieme di M possibili classi : C={c 1,c 2, … c M } INPUT OUTPUT Determinare la classe c j cui appartiene listanza A. COME? Mediante apprendimento supervisionato …

44 Introduzione al Data Mining Un Training-Set e definito come un insieme di record: T={(A j,c jk )} A j e un record su N attributi: (x j1,x j2, … x jN ) c jk e la classe cui appartiene il record A j TRAINING-SET Q. Da dove ottengo il Training-Set? A.Spesso disponibile come storico di dati disponibili nel DB o nel DW, o costruito da fonti esterne.

45 Introduzione al Data Mining Un Training-Set e definito come un insieme di record: T={(A j,c jk )} A j e un record su N attributi: (x j1,x j2, … x jN ) c jk e la classe cui appartiene il record A j TRAINING-SET DATA-SET ALGORITMO CLASSIFICAZIONE + MODELLO Istanza A i CjCj Fase di TRAINING Fase di TESTING { }

46 Introduzione al Data Mining Esempio. Determinare se un certo cliente puo essere interessato o meno ad acquistare un auto berlina, ai fini di migliorare la campagna pubblicitaria. TRAINING SET Nr Utente Stato Coniugale Sesso#Nucleo Familiare Reddito Annuo Acquisto 1CelibeM130000SI 2NubileF145000NO 3SposatoM435000SI Data-set derivato dai risultati di precedenti campagne pubblicitarie TESTING SET ACQUISTO??

47 Introduzione al Data Mining A. Quale algoritmo usare? Q. Non esiste un classificatore ottimo in assoluto, dipende dallo scenario applicativo … Naïve Bayes Reti Bayesiane Alberi di decisione Random Forest Support Vector Machines (SVM) … ALGORITMI di CLASSIFICAZIONE

48 Introduzione al Data Mining Il classificatore NB utilizza una tecnica statistica con la quale si cerca di stimare la probabilita di un istanza di appartenere ad una certa classe. CLASSIFICATORE NAÏVE BAYES ( NB ) Istanza A(x 1, …x N ) da classificare. P(c j |A) probabilita condizionata di avere una classe c j, vendendo unistanza A. In NB, scelgo la classe c k, tale che: Come calcolare P(c j |A)??

49 Introduzione al Data Mining Probabilita condizionata : Probabilita congiunta (in caso di eventi indipendenti): Teorema di Bayes: Applicando il Teorema di Bayes al nostro problema:

50 Introduzione al Data Mining Semplificando il problema … Il record A e composto di N Attributi: A(x 1,x 2, …x N ) Assumendo che gli N attributi siano tutti indipendenti …

51 Introduzione al Data Mining Conclusione Lalgoritmo di NB sceglie la classe c j che massimizza la quantita: PROBLEMA : Come stimare P(c j ) e P(x i |c j )? Possibile Soluzione: Approssimo le probabilita come frequenze relative, rispetto ai valori del mio training set.

52 Introduzione al Data Mining Nr Utente SposatoSesso#Nucleo Familiare Reddito Annuo Acquisto 1NOM40 2 F11 3SIM41 4 F30NO 5 M11 6SIF31 Reddito = A= C(SI) =2/6=0.33 C={SI, NO} C(NO) =4/6=0.67

53 Introduzione al Data Mining Nr Utente SposatoSesso#Nucleo Familiare Reddito Annuo Acquisto 1NOM40 2 F11 3SIM41 4 F30NO 5 M11 6SIF31 Reddito = A= C(4|SI) =1/2=0.5 C(4|NO) =1/4=0.25

54 Introduzione al Data Mining Nr Utente SposatoSesso#Nucleo Familiare Reddito Annuo Acquisto 1NOM40 2 F11 3SIM41 4 F30NO 5 M11 6SIF31 Reddito = A= C(Sposato|NO)=1/4=0.25C(Sposato|SI)=2/2=1 C(M|SI)=1/2=0.5C(M|NO)=2/4=0.5C(3|SI)=1/2=0.5 C(3|NO)=1/2=0.5 C(1|SI)=1/2=1C(1|NO)=2/4=0.5

55 Introduzione al Data Mining Nr Utente SposatoSesso#Nucleo Familiare Reddito Annuo Acquisto 1NOM40 2 F11 3SIM41 4 F30NO 5 M11 6SIF31 Reddito = A= C(SI| ) 0.33*0.5*1*0.5*0.5*1= C(NO| ) 0.67*0.25*0.25*0.5*0.5*0.5=

56 Introduzione al Data Mining Nr Utente SposatoSesso#Nucleo Familiare Reddito Annuo Acquisto 1NOM40 2 F11 3SIM41 4 F30NO 5 M11 6SIF31 Reddito = A= C(SI| ) 0.33*0.5*1*0.5*0.5*1= C(NO| ) 0.67*0.25*0.25*0.5*0.5*0.5= Classificata come SI

57 Introduzione al Data Mining Una rete bayesiana e un modello (visuale) per rappresentare le interazioni e le dipendenze tra variabili casuali (random variable). A B CD Ogni nodo e una variabile casuale. Un arco da X ad Y indica che X ha uninfluenza su Y, ossia che le due variabili NON sono indipendenti (P(Y|X) <> P(Y)). Lassenza di archi tra due nodi indica che le due variabili sono indipendenti. DAG Grafo Diretto Aciclico

58 Introduzione al Data Mining Una rete bayesiana e un modello (visuale) per rappresentare le interazioni e le dipendenze tra variabili casuali (random variable). A B CD Ogni nodo X i dispone di una distribuzione di probabilita P( X i | Parents( X i )) che quantifica gli effetti dei nodi padre sui figli. DAG Grafo Diretto Aciclico AP(A) false0.6 true0.4

59 Introduzione al Data Mining Una rete bayesiana e un modello (visuale) per rappresentare le interazioni e le dipendenze tra variabili casuali (random variable). A B CD Ogni nodo X i dispone di una distribuzione di probabilita P( X i | Parents( X i )) che quantifica gli effetti dei nodi padre sui figli. DAG Grafo Diretto Aciclico ABP(B|A) false 0.01 falsetrue0.99 truefalse0.7 true 0.3

60 Introduzione al Data Mining Una rete bayesiana e un modello (visuale) per rappresentare le interazioni e le dipendenze tra variabili casuali (random variable). A B CD Ogni nodo X i dispone di una distribuzione di probabilita P( X i | Parents( X i )) che quantifica gli effetti dei nodi padre sui figli. DAG Grafo Diretto Aciclico BCP(C|B) false 0.4 falsetrue0.6 truefalse0.9 true 0.1 BDP(D|B) false 0.02 falsetrue0.98 truefalse0.05 true 0.95

61 Introduzione al Data Mining Tramite le reti Bayesiane, e possibile modellare comportamenti causa-effetto tra variabili casuali, ed effettuare diagnosi (= determinare la probabilita della causa dato leffetto). Irrigazione ON Pioggia Erba Bagnata P(I=true)=0.2 P(I=false)=0.8 P(R=true)=0.4 P(R=false)=0.6 P(E|I=true, R=true)=0.05 P(E|I=true, R=false)=0.95 P(E|I=false, R=true)=0.90 P(E|I=false, R=false)=0.10

62 Introduzione al Data Mining Irrigazione ON Pioggia Erba Bagnata P(I=true)=0.2 P(I=false)=0.8 P(R=true)=0.4 P(R=false)=0.6 P(E|I=true, R=true)=0.05 P(E|I=true, R=false)=0.95 P(E|I=false, R=true)=0.90 P(E|I=false, R=false)=0.10

63 Introduzione al Data Mining Irrigazione ON Pioggia Erba Bagnata P(I=true)=0.2 P(I=false)=0.8 P(R=true)=0.4 P(R=false)=0.6 P(E|I=true, R=true)=0.95 P(E|I=true, R=false)=0.90 P(E|I=false, R=true)=0.90 P(E|I=false, R=false)=0.10

64 Introduzione al Data Mining Tramite le reti Bayesiane, e possibile effettuare classificazioni di istanze A(x 1, …x N ). In questo caso la rete e composta da: Nodo padre della rete Classi c j da determinare Nodi foglia ed intermedi Singoli attributi x i Si sceglie la classe c k, tale che:

65 Introduzione al Data Mining Un esempio di classificatore basato su reti Bayesiane. Spam A1A1 C={Spam, No Spam} A2A2 A={a 1,a 2 } istanza da classificare A 1 ={true,false} Contiene Poste Spa nel subject della ? A 2 ={true,false} Contiene dei link HTML nel testo?

66 Introduzione al Data Mining Un esempio di classificatore basato su reti Bayesiane. Spam A1A1 C={Spam, No Spam} A2A2 A={a 1,a 2 } istanza da classificare A 1 ={true,false} Contiene Poste Spa nel subject della ? A 2 ={true,false} Contiene dei link HTML nel testo? P(C=Spam)=0.4 P(A 1 =true| C=Spam)=0.8 … P(A 2 =true|A 1 =true, C=Spam)=0.95 ….

67 Introduzione al Data Mining Un esempio di classificatore basato su reti Bayesiane. Supponendo di dover classificare A(true, false) : Confronto i due valori, e scelgo la classe che garantisce la probabilita piu alta associata allistanza A. Q. Come calcolare la probabilita congiunta?

68 Introduzione al Data Mining Un esempio di classificatore basato su reti Bayesiane. Supponendo di dover classificare A(true, false) : In una rete bayesiana con variabili casuali X 1, X 2, … X N, vale il seguente risultato:

69 Introduzione al Data Mining Un esempio di classificatore basato su reti Bayesiane. Supponendo di dover classificare A(true, false) :

70 Introduzione al Data Mining Algoritmi diversi, per risolvere problemi diversi: Classificazione Determinare se gli attributi di una certa istanza appartengono o meno ad una classe. Predizione Predire il valore di una serie temporale (valori continui). Associazione Determinare regole del tipo: Se X allora Y. Segmentazione Scoprire pattern sui dati, raggruppare istanze simili in gruppi (cluster) di istanze.

71 Introduzione al Data Mining Insieme di M elementi A={a 1,…a M } Ogni elemento e composto da N attributi INPUT OUTPUT Determinare regole della forma Se X allora Y Le regole associative rappresentano uno strumento per scoprire relazioni (possibilmente non banali) tra gli elementi di una base di dati.

72 Introduzione al Data Mining APPLICAZIONI Market basket analysis identificare correlazioni (non banali) tra gli acquisti operati da un cliente. Nr TransazionePanePastaBurroOlioMarmellata Pasta Olio Pane, Burro Marmellata Pane Olio, Burro ESEMPIO DI REGOLE

73 Introduzione al Data Mining APPLICAZIONI Market basket analysis identificare correlazioni (non banali) tra gli acquisti operati da un cliente. Nr TransazionePanePastaBurroOlioMarmellata ItemSet Combinazione di valori degli attributi dello schema Supporto(ItemSet)

74 Introduzione al Data Mining APPLICAZIONI Market basket analysis identificare correlazioni (non banali) tra gli acquisti operati da un cliente. Nr TransazionePanePastaBurroOlioMarmellata Supporto{Pane}=2/4=0.5 Supporto{Pane,Pasta}=0/4=0 Supporto{Pane,Burro,Marmellata}=2/4=0.5

75 Introduzione al Data Mining APPLICAZIONI Market basket analysis identificare correlazioni (non banali) tra gli acquisti operati da un cliente. Nr TransazionePanePastaBurroOlioMarmellata Data una regola associativa: X Y Supporto della regola X Y

76 Introduzione al Data Mining APPLICAZIONI Market basket analysis identificare correlazioni (non banali) tra gli acquisti operati da un cliente. Nr TransazionePanePastaBurroOlioMarmellata s(Pasta Olio) = 2/3=0.66 s(Pane Burro) = 1/3=0.33 s(Pane Burro Marmellata) = 2/3=0.66

77 Introduzione al Data Mining APPLICAZIONI Market basket analysis identificare correlazioni (non banali) tra gli acquisti operati da un cliente. Possibile algoritmo: 1.Per ogni possibile sottoinsieme di attributi Y: si calcola il supporto s(Y). 2.Per ogni possibile coppia di combinazioni di attributi (X,Y) : Si calcola il supporto della regola s(X Y). 3.Si scelgono le regole per cui: s(X Y) > Soglia

78 Introduzione al Data Mining APPLICAZIONI Market basket analysis identificare correlazioni (non banali) tra gli acquisti operati da un cliente. Possibile algoritmo: 1.Per ogni possibile sottoinsieme di attributi Y si calcola il supporto s(Y). 2.Per ogni possibile coppia di combinazioni di attributi (X,Y) Si calcola il supporto della regola s(X Y). 3.Si scelgono le regole per cui: s(X Y) > Soglia PROBLEMA: Costo computazionale dellalgoritmo?

79 Introduzione al Data Mining ALGORITMO APRIORI Lalgoritmo utilizza un approccio bottom-up. Si costruiscono insiemi di oggetti (itemset) frequenti aggiungendo un elemento alla volta. Regole di pruning : Se un itemset e frequente tutti i suoi sottoinsiemi sono frequenti. Se un itemset non e frequente neanche gli insiemi che lo contengono sono frequenti.

80 Introduzione al Data Mining ALGORITMO APRIORI ESEMPIO di FUNZIONAMENTO Promozione giornali Promozione orologi Promozione assicurazione Assicurazione Carta Sesso SINO Maschio SI NOFemmina NO Maschio SI Maschio SINOSINOFemmina NO Femmina SINOSI Maschio NOSINO Maschio SINO Maschio SI NOFemmina

81 Introduzione al Data Mining ALGORITMO APRIORI FREQUENZA ITEMSET (1 attributo) ItemSet# Oggetti Promozione giornali=SI7 Promozione giornale=NO3 Promozione orologi=SI4 Promozione orologi=NO6 Promozione assicurazione vita=SI5 Promozione assicurazione vita=NO5 Promozione carta credito=SI2 Promozione carta credito=NO8 Sesso=Maschio6 Sesso=Femming4 Definisco cardinalita minima c min =4 Scarto itemset con cardinalita < c min

82 Introduzione al Data Mining ALGORITMO APRIORI FREQUENZA ITEMSET (2 attributi) ItemSet# Oggetti Promozione giornali=SI & Promozione Orologi =NO7 Promozione giornali=SI & Promozione Assicurazione Vita = SI4 Promozione giornali=SI & Assicurazione carta credito=NO6 Promozione giornali=SI & Sesso=Maschio5 Promozione orologi=NO & Promozione Assicurazione Vita=NO5 Promozione orologi=NO & Assicurazione carta credito=NO8 Promozione orologi=NO & Sesso=Maschio6 Promozione Assicurazione Vita=NO & Assicurazione carta credito=NO4 Promozione Assicurazione Vita=NO & Sesso=Maschio4 Promozione Assicurazione Vita=NO & Sesso=Femmina4 Assicurazione carta credito=NO & Sesso=Femmina4

83 Introduzione al Data Mining ALGORITMO APRIORI FREQUENZA ITEMSET (3 attributi) ItemSet# Oggetti Promozione giornali=NO & Promozione Assicurazione Vita=NO & Assicurazione carta credito=NO 4 Genero le regole associative, partendo dalla tabella con oggetti tripli e poi analizzando la tabella con oggetti doppi. Definisco un livello minimo di supporto s min. Genero solo le regole (X Y) per cui: s(X Y)>s min.

84 Introduzione al Data Mining ALGORITMO APRIORI FREQUENZA ITEMSET (3 attributi) ItemSet# Oggetti Promozione orologi=NO & Promozione Assicurazione Vita=NO & Assicurazione carta credito=NO 4 SE (Promozione orologi=NO & Promozione Assicurazione Vita=NO) ALLORA Assicurazione carta credito=NO SE (Promozione orologi=NO) ALLORA (Promozione Assicurazione Vita=NO) & (Assicurazione carta credito=NO) SE (Promozione Assicurazione Vita=NO) & (Assicurazione carta credito=NO) ALLORA (Promozione orologi=NO) POSSIBILI REGOLE (3 attributi) :

85 Introduzione al Data Mining ALGORITMO APRIORI FREQUENZA ITEMSET (3 attributi) ItemSet# Oggetti Promozione orologi=NO & Promozione Assicurazione Vita=NO & Assicurazione carta credito=NO 4 SE (Promozione orologi=NO & Promozione Assicurazione Vita=NO) ALLORA Assicurazione carta credito=NO SE (Promozione orologi=NO) ALLORA (Promozione Assicurazione Vita=NO) & (Assicurazione carta credito=NO) SE (Promozione Assicurazione Vita=NO) & (Assicurazione carta credito=NO) ALLORA (Promozione orologi=NO) POSSIBILI REGOLE (3 attributi) : s(X->Y)=4/4=1 s(X->Y)=4/6=0.6 s(X->Y)=4/5=0.8

86 Introduzione al Data Mining ALGORITMO APRIORI FREQUENZA ITEMSET (3 attributi) ItemSet# Oggetti Promozione orologi=NO & Promozione Assicurazione Vita=NO & Assicurazione carta credito=NO 4 SE (Promozione orologi=NO & Promozione Assicurazione Vita=NO) ALLORA Assicurazione carta credito=NO SE (Promozione Assicurazione Vita=NO) & (Assicurazione carta credito=NO) ALLORA (Promozione orologi=NO) Definisco una soglia minima s min =0.75 s(X->Y)=4/4=1 s(X->Y)=4/5=0.8

87 Introduzione al Data Mining ALGORITMO APRIORI FREQUENZA ITEMSET (3 attributi) Itero lo stesso processo di generazione delle regole anche per itemset composti da 2 oggetti … Al termine, linsieme di regole generato dallalgoritmo potrebbe contenere delle regole banali o contenute in altre regole possibile una fase di pruning delle regole. ItemSet# Oggetti Promozione giornali=SI & Promozione Orologi =NO7 ….… FASI SUCCESSIVE DELL ALGORITMO

88 Introduzione al Data Mining Algoritmi diversi, per risolvere problemi diversi: Classificazione Determinare se gli attributi di una certa istanza appartengono o meno ad una classe. Predizione Predire il valore di una serie temporale (valori continui). Associazione Determinare regole del tipo: Se X allora Y. Segmentazione Scoprire pattern sui dati, raggruppare istanze simili in gruppi (cluster) di istanze.

89 Introduzione al Data Mining Insieme di N elementi da partizionare Numero di Classi: NC INPUT OUTPUT Determinare la composizione di ogni classe c 0<=i

90 Introduzione al Data Mining Ricerche di mercato Segmentazione della clientela Analisi dei social media Identificazione degli outlier … POSSIBILI APPLICAZIONI Es. Database dei correntisti di una banca. Quali attributi simili consentono di raggrupare i clienti? Quali differenze tra i valori degli attributi (es. tipo del conto, eta, sesso, etc) segmentano il database?

91 Introduzione al Data Mining Algoritmo di clusterizzazione non-gerarchico. Richiede di indicare il numero di cluster (insiemi) che si vogliono creare ( NC ). Gli elementi da classificare sono attributi con valori reali. Nel caso di attributi testuali, e necessaria una conversione di dominio. Es. Colore: {rosso, blu, verde} {0,1,2} Basata sul concetto di distanza tra elementi ALGORITMO DELLE K-MEDIE ( K-MEANS CLUSTERING )

92 Introduzione al Data Mining Distanza tra due elementi in uno spazio euclideo 2D Distanza tra due elementi in uno spazio euclideo ND Centroide di un gruppo (2D): c(a 1,a 2, … a M )

93 Introduzione al Data Mining 1.Assegno casualmente gli elementi A={a 1, …,a M } alle NC classi di clusterizzazione. 2. Ripeto le seguenti operazioni: 2.1 Calcolo il centroide c j di ogni classe j 2.2 Calcolo la distanza tra ogni elemento a i ed ogni centroide c j d(a i,c j ) 2.3 Assegno lelemento a i al cluster j con centroide piu vicino j=argmin(d(a i,c j )) 3. Concludo il ciclo quando: Il passo 2.3 non produce differenze rispetto all assegnamento del passo precedente ( convergenza ). Lerrore della clusterizzazione < E min ( soglia derrore ).

94 Introduzione al Data Mining Q. Come definire l errore della classificazione ? Dato un elemento a i (a i,x,a i,y ) c(a i ) centroide del cluster cui e assegnato lelemento a i. A. Errore quadratico medio somma (al quadrato) delle distanze tra a i e c(a i ), per tutti gli elementi a i. La classificazione termina quando lerrore diventa minore di una soglia E min (e

95 Introduzione al Data Mining Es.: A={insieme di info sui clienti di una banca} A={a x, y } a x Reddito a y Eta A={(12000,24), (28000,28), (15000,24), (36000,39), (34000,35), (19000,27), (39000,35), (26000,28), (32000,32) } NC =#cluster da formare= Eta Stipendio x * * * * * * * * * * = a x,y

96 Introduzione al Data Mining Es.: A={insieme di info sui clienti di una banca} A={a x, y } a x Reddito a y Eta A={(12000,24), (28000,28), (15000,24), (36000,39), (34000,35), (19000,27), (39000,35), (26000,28), (32000,32) } NC =#cluster da formare= Eta Stipendio x * * * * * * * * * * = a x,y Creazione casuale dei cluster

97 Introduzione al Data Mining Es.: A={insieme di info sui clienti di una banca} A={a x, y } a x Reddito a y Eta A={(12000,24), (28000,28), (15000,24), (36000,39), (34000,35), (19000,27), (39000,35), (26000,28), (32000,32) } NC =#cluster da formare= Eta Stipendio x * * * * * * * * * * = a x,y Loop: Calcolo centroidi + + +

98 Introduzione al Data Mining Es.: A={insieme di info sui clienti di una banca} A={a x, y } a x Reddito a y Eta A={(12000,24), (28000,28), (15000,24), (36000,39), (34000,35), (19000,27), (39000,35), (26000,28), (32000,32) } NC =#cluster da formare= Eta Stipendio x * * * * * * * * * * = a x,y Loop: Calcolo distanze + + +

99 Introduzione al Data Mining Es.: A={insieme di info sui clienti di una banca} A={a x, y } a x Reddito a y Eta A={(12000,24), (28000,28), (15000,24), (36000,39), (34000,35), (19000,27), (39000,35), (26000,28), (32000,32) } NC =#cluster da formare= Eta Stipendio x * * * * * * * * * * = a x,y Loop: Riassegnamento

100 Introduzione al Data Mining Es.: A={insieme di info sui clienti di una banca} A={a x, y } a x Reddito a y Eta A={(12000,24), (28000,28), (15000,24), (36000,39), (34000,35), (19000,27), (39000,35), (26000,28), (32000,32) } NC =#cluster da formare= Eta Stipendio x * * * * * * * * * * = a x,y Loop: Valuto condizione CONVERGENZA ? Non ancora …

101 Introduzione al Data Mining Es.: A={insieme di info sui clienti di una banca} A={a x, y } a x Reddito a y Eta A={(12000,24), (28000,28), (15000,24), (36000,39), (34000,35), (19000,27), (39000,35), (26000,28), (32000,32) } NC =#cluster da formare= Eta Stipendio x * * * * * * * * * * = a x,y RISULTATO FINALE

102 Introduzione al Data Mining PROBLEMA : Lalgoritmo delle k-medie richiede di conoscere a priori il numero di cluster (NC) da creare. Q. Se non conosco il valore esatto di NC? A.Provo con diversi valori di NC, e poi scelgo quello che garantisce il minor errore quadratico medio. Numero cluster (NC)Errore quadratico medio

103 Introduzione al Data Mining CRISP-DM ( Cross Industry Data Process for Data Mining ) metodologia standard e generale per limplementazione di un processo di data mining. BUSINESS UNDERSTANDING DATA UNDERSTANDING DATA PREPARATION MODELING EVALUATION DEPLOYMENT DB DW

104 Introduzione al Data Mining La fase di valutazione del modello e necessaria per quantificarne laccuratezza e quindi laffidabilita. Necessari opportuni indici di stima per quantificare la bonta del modello … In base agli indici, si puo valutare se occorre cambiare il modello oppure se si puo procedere con lultima fase del CRISP-DM (deployment). Necessaria una fase di testing del modello.

105 Introduzione al Data Mining Esempio. Determinare se un certo cliente puo essere interessato o meno ad acquistare un auto berlina, ai fini di migliorare la campagna pubblicitaria. 1.Costruisco il classificatore (es. Naïve Bayes) a partire dal Training Set. 2. Applico il classificatore su un certo insieme di istanze di test, ed ottengo un insieme di risposte R. 3. Osservo la classificazione reale dei dati ( R real ). 4. Confronto R ed R real, e calcolo indici di stima.

106 Introduzione al Data Mining MATRICE di CONFUSIONE ( CONFUSION MATRIX ) Matrice di elementi a[x][y] #istanze appartenenti alla classe x (da R real ), classificate come y. N possibili classi da riconoscere: C 1, C 2, … C N C1C1 C2C2 …CNCN C1C1 C2C2 … CNCN Classificazioni prodotte dal modello Classificazioni reali Casi in cui la classificazione del modello coincide con quella reale … CLASSIFICAZIONI CORRETTE!

107 Introduzione al Data Mining ACCURATEZZA DEL MODELLO Rapporto delle istanze classificate correttamente sul numero totale di istanze di testing considerate. C1C1 C2C2 …CNCN C1C1 Corrette C2C2 … CNCN Classificazioni prodotte dal modello Classificazioni reali Riferendosi alla confusion matrix

108 Introduzione al Data Mining Esempio. Determinare se un certo cliente puo essere interessato o meno ad acquistare un auto berlina, ai fini di migliorare la campagna pubblicitaria. SINO SI5075 NO10025 Classificazioni prodotte dal modello Classificazioni reali FALSI NEGATIVI FALSI POSITIVI ACCURACY= (50+25)/( )= 0.375

109 Introduzione al Data Mining CRISP-DM ( Cross Industry Data Process for Data Mining ) metodologia standard e generale per limplementazione di un processo di data mining. BUSINESS UNDERSTANDING DATA UNDERSTANDING DATA PREPARATION MODELING EVALUATION DEPLOYMENT DB DW

110 Introduzione al Data Mining La fase di deployment prevede leffettivo utilizzo del modello di data mining allinterno di un processo strategico/decisionale. Esistono molti tool in commercio che facilitano le operazioni del processo di data-mining: Pulizia dei dati Implementazione del modello Valutazione del modello WEKA tool:


Scaricare ppt "Corso di Basi di Dati Introduzione al Data Mining Home page del corso:"

Presentazioni simili


Annunci Google