Corso di Basi di Dati - PowerPoint PPT Presentation

corso di basi di dati n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Corso di Basi di Dati PowerPoint Presentation
Download Presentation
Corso di Basi di Dati

play fullscreen
1 / 110
Download Presentation
Corso di Basi di Dati
134 Views
sal
Download Presentation

Corso di Basi di Dati

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Corso di Basi di Dati Introduzione al Data Mining Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

  2. Introduzione al Data Mining Data Mining: tecniche di apprendimentocomputerizzato per analizzareedestrarreconoscenze da collezioni di dati. Pattern e relazioni non note a priori e non immediatamenteidentificabili. Disciplinacomplessa: utilizzo di tecniche di machine learning, intelligenzaartificiale e statistiche …

  3. Introduzione al Data Mining ESEMPI di APPLICAZIONI (aziendali) • Previsioni di datitemporali(es. vendite) • Market Basket Analysis(vi sietemaichiesti come maitantitornei di golf sonosponsorizzati da societa’ di brokeraggio?  ) • Scoperta di truffe (es. clonazioni di carte di credito) • Campagnepubblicitariemirate • Churn Analysis(analisidellaclientelachepotrebbepassareallaconcorrenza) • Segmentazionedellaclientela • …

  4. Introduzione al Data Mining BUSINESS INTELLIGENCE (BI)  (def.) Insieme di processiaziendali, metodologie tool per raccogliereidati di un’azienda, edestrarreinformazioni di supportoalladecisionistrategiche. DATA MINING  componenteessenziale del processo di BI, sioccupadi estrarreinformazioniutilidaidatiper aiutareilprocessodecisionale…

  5. Introduzione al Data Mining BUSINESS INTELLIGENCE (BI)  (def.) Insieme di processiaziendali, metodologie tool per raccogliereidati di un’azienda, edestrarreinformazioni di supportoalladecisionistrategiche. DATA MINING  componenteessenziale del processo di BI, sioccupadi estrarreinformazioniutilidaidatiper aiutareilprocessodecisionale… Sorgente: http://www.conbusinessintelligence.com/

  6. Introduzione al Data Mining Q. Da dove derivano idati da analizzare? Datiposseduti da un’azienda/organizzazionee custodoti in un DB operazionale. DBMS Datiestratti dal Web (es. OPEN DATA) Datiestrattidaisocial media

  7. Introduzione al Data Mining Q. Da dove derivano idati da analizzare? Datiposseduti da un’azienda/organizzazionee custodoti in un DB operazionale. DBMS + Datiestratti dal Web (es. OPEN DATA) + Datiestrattidaisocial media

  8. Introduzione al Data Mining Q. Dove memorizzareidatinecessari per l’analisi? DBMS REPORT DW ANALISI Un data warehouse e’ unacollezione di dati(non volatile)finalizzata al supporto del processodecisionale.

  9. Introduzione al Data Mining Un data warehouse e’ un database relazionalefinalizzatoall’analisied al processodecisionale. Q. Chedifferenzac’e’ tra un data warehouse edi database operazionalivisti fin qui nelcorso? R. A basso livello, nessuna(modellorelazionale chiavi, tabelle, vincoliintegrita’, SQL, etc) R. Le differenzeprincipalisononellaprogettazione!

  10. Introduzione al Data Mining • Differenzeprincipalitra database operazionali (visti fin qui) e data warehouse. OPERAZIONI sui DATI Database operazionali Accessimultipliaidati, aggiornamenti costantinel tempo, possibilealtaconcorrenzadelleoperazionilettura/scrittura. Data warehouse  Accesso in sola lettura, datistorici e non soggetti a cambiamento.

  11. Introduzione al Data Mining • Differenzeprincipalitra database operazionali (visti fin qui) e data warehouse. RAPPRESENTAZIONI dei DATI Database operazionali I datidelletabellesononormalizzati (Prima/Seconda/Terza Forma Normale) per ridurre la ridondanzadeidati. Data warehouse  I datisonorappresentati in forma denormalizzata per evitareoperazioni (costose) di join tra le tabelletroppofrequenti.

  12. Introduzione al Data Mining • Differenzeprincipalitra database operazionali (visti fin qui) e data warehouse. GRANULARITA’ dei DATI Database operazionali Ognirigacontieneinformazioni relative ad operazionidi inserimento (insert SQL), eseguitesul database. Data warehouse  I datirappresentanoinformazioni aggregate, utili per la reportistica, spessoottenuteprocessandoaltridati (del db).

  13. Introduzione al Data Mining Esistono opportune metodologie (che non vedremo) per progettare un data warehouse relazionale. MODELLO A STELLA MODELLO OLAP Noi ci concentriamoorasulprocesso di analisideidati …

  14. Introduzione al Data Mining • Data mining  estraeinformazioni da un DB. • Data query (SELECT)  estraedati da un DB relazionale(in particolare, dalletabelledellaFROM). Q. Chedifferenzaesistetrai due approcci? A. Il processo di data mining estraeregolarita’ e pattern sui datichenon sono note a priori, e chenon possonoesserericavate da query SQL.

  15. Introduzione al Data Mining ESEMPIO di PROCESSO di DATA-MINING • Un’azienda di telefoniavuoleanalizzareil data-set deipropriclientiabbonati, in modo da: • Costruireunaprofilazionedellaclientela, in modo da individuare un possibilenuovocliente, a partiredaisuoidati (es. eta’, sesso, lavoro, etc). • Determinarequaliutentiabbonatipossonoessereinteressati ad unanuovaofferta(es. abbonamento Internet con tecnologia LTE). Q. Da dove partire per effettuarel’analisi?

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

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

  18. Introduzione al Data Mining BUSINESS UNDERSTANDING • In questafase, e’ necessariocomprenderebenegliobiettivicheilsistemadovrebberaggiungere (es. modellopredizionecosti?) edirequisiti del committente. • Inventariodellerisorsedisponibili. • Requisiti, presupposti e vincoli. • Analisideirischi/imprevisti. • Analisideicosti/benefici.

  19. Introduzione al Data Mining ESEMPIO di PROCESSO di DATA-MINING • Nelcaso di studio (azienda di telefonia), la fase di business understanding include la formulazionedellerisposteaiseguentiquesiti: • Chemargine di profittomi aspetto di ottenere dal modello di previsionedeinuoviclienti? • Chemargine di risparmiomi aspetto di ottenereeffettuandopubblicita’ miratadellenuoveofferte? • Qualisonoicostinecessariper implementareilmodello di data-mining nelprocessodecisionale? • …

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

  21. Introduzione al Data Mining DATA UNDERSTANDING • In questafase, e’ necessariocomprenderebenequalidatisonofondamentali per la costruzione del modello di data mining. • Reportdeidatidisponibili. • Costruzione del dataset. • Strategie di recuperodatimancanti. • Criteridi verificadellaqualita’ deidati.

  22. Introduzione al Data Mining ESEMPIO di PROCESSO di DATA-MINING • Nelcaso di studio (azienda di telefonia), la fase di data understanding include la formulazionedellerisposteaiseguentiquesiti: • Ho a disposizionetuttiidatinecessari per poterclassificaregliutenti del mioservizio? • Devoprevederecampagne di raccoltedati (es. attraverso survey o intervistetelefoniche?) • Possoestendereilmio data-set includendodatiprovenienti da altrefonti (es. social media)? • …

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

  24. Introduzione al Data Mining DATA PREPARATION • Moltialgoritmi di data-mining richiedono di trasformareidati in un opportunoformato per poteressereeseguitiefficacemente. • Es.Glialgoritmi di classificazionelavoranospessosu un numerodiscreto di classi da riconoscere, sebbeneidati in questioneabbiano un dominio “continuo”.

  25. Introduzione al Data Mining Costruire un modello di data-mining per deciderel’erogazione di unacarta di credito sulla base dellasegmentazionedegliutenti. DATA PREPARATION STORICO EROGAZIONI Se Reddito <= 10000  0 Se Reddito> 10000 & Reddito < 15000  1 Se Reddito >= 15000  2 REGOLE di CLASSIFICAZIONE

  26. Introduzione al Data Mining DATA PREPARATION Moltialgoritmi di data-mining lavoranosudatinormalizzatisu un intervallo (es. [0,1]). NormalizzazioneMassimo/Minimo: ValMax ValMin 0 1

  27. Introduzione al Data Mining DATA PREPARATION Moltialgoritmi di data-mining lavoranosudatinormalizzati in base alla media deivalori. Normalizzazionecon Deviazione Standard: Media 0

  28. Introduzione al Data Mining DATA PREPARATION In molti data-set, possonoesserepresentidatianomali (out-lier) chepossonoalterarel’analisi. Datianomali … Come identificarli? Come gestirli? 1 1-Rischio In molticasi, l’obiettivo del processo di data mining consistenellaricercadegli outlier (es. analisifrodi)! 0 Reddito 1

  29. Introduzione al Data Mining DATA PREPARATION In molti data-set, possonoesserepresentidatianomali (outlier) chepossonoalterarel’analisi. Datianomali … Come identificarli? Es. Rangevaloriconsentiti: [Media – Y*Dev: Media+Y*Dev] Se X fuori dal range  OUTLIER! 1 1-Rischio 0 Reddito 1

  30. Introduzione al Data Mining DATA PREPARATION In molti data-set, possonoesserepresentidatianomali (outlier) chepossonoalterarel’analisi. Datianomali … Come identificarli? Es. : Metododeivicini X(x1,y1) e Y (x2,y2) sonovicini se: 1 1-Rischio 0 Reddito 1 Se #Vicini(X) < Soglia OUTLIER!

  31. Introduzione al Data Mining DATA PREPARATION In molti data-set, possonoesserepresentidatianomali (outlier) chepossonoalterarel’analisi. Datianomali … Come identificarli? Come gestirli? 1 1-Rischio • Rimoveregli outlier • Sostituirli con valori NULL • Sostituirli con Media(Val) • … 0 Reddito 1

  32. Introduzione al Data Mining DATA PREPARATION In molti data-set, possonoesserepresentidatiincompletichepossonocondizionarel’analisi. STORICO EROGAZIONI Q. Come gestirei record con informazioni incomplete?

  33. Introduzione al Data Mining DATA PREPARATION • Diverse possibilita’: • Scartare record incompleti • Rimpiazzare ??? con valori NULL • Rimpiazzare ??? con ilvaloremediodell’attributo • Rimpiazzare ??? Con un valoreche non alteri la deviazione • Standard deivaloridell’attributo • Rimpiazzare ??? Con valori “plausibili” dell’attributosulla • base di valorisimili. • … In molti data-set, possonoesserepresentidatiincompletichepossonocondizionarel’analisi. STORICO EROGAZIONI Q. Come gestirei record con informazioni incomplete?

  34. Introduzione al Data Mining DATA PREPARATION In molticontesti e’ opportunoridurreilnumero di attributidel data-set da analizzare … • Ragioni di efficienza + Attributi: > Maggior tempo di computazione • Ragioni di accuratezza  Alcuniattributi non sonoutili per l’analisi Informazione non utile per ilmodello … STORICO EROGAZIONI

  35. Introduzione al Data Mining DATA PREPARATION In molticontesti e’ opportunoridurreilnumero di attributidel data-set da analizzare … • Ragioni di efficienza + Attributi: > Maggior tempo di computazione • Ragioni di accuratezza  Alcuniattributi non sonoutili per l’analisi Informazione non utile per ilmodello … STORICO EROGAZIONI

  36. Introduzione al Data Mining DATA PREPARATION L’attivita’ di data preparation e’ molto delicata, le scelteeffettuatepossonocondizionarel’analisi … STORICO EROGAZIONI SCELTA 1: Seleziono la riga come outlier e la rimuovo …

  37. Introduzione al Data Mining DATA PREPARATION L’attivita’ di data preparation e’ molto delicata, le scelteeffettuatepossonocondizionarel’analisi … ValoremedioReddito: 15250 STORICO EROGAZIONI SCELTA 1: Seleziono la riga come outlier e la rimuovo …

  38. Introduzione al Data Mining DATA PREPARATION L’attivita’ di data preparation e’ molto delicata, le scelteeffettuatepossonocondizionarel’analisi … ValoremedioReddito: 176833 STORICO EROGAZIONI SCELTA 2: Non rimuovo la riga, nessun outlier …

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

  40. Introduzione al Data Mining Algoritmidiversi, per risolvereproblemidiversi: • Classificazione • Determinare se gliattributi di unacertaistanza • appartengono o meno ad unaclasse. • Predizione • Predireilvalore di unaserietemporale (valoricontinui). • Associazione • Determinareregole del tipo: Se X allora Y. • Segmentazione • Scoprirepattern sui dati, raggruppareistanzesimili in gruppi (cluster) di istanze.

  41. Introduzione al Data Mining Algoritmidiversi, per risolvereproblemidiversi: • Classificazione • Determinare se gliattributi di unacertaistanza • appartengono o meno ad unaclasse. • Predizione • Predireilvalore di unaserietemporale (valoricontinui). • Associazione • Determinareregole del tipo: Se X allora Y. • Segmentazione • Scoprirepattern sui dati, raggruppareistanzesimili in gruppi (cluster) di istanze.

  42. Introduzione al Data Mining Algoritmidiversi, per risolvereproblemidiversi: • Classificazione • Determinare se gliattributi di unacertaistanza • appartengono o meno ad unaclasse. • Predizione • Predireilvalore di unaserietemporale (valoricontinui). • Associazione • Determinareregole del tipo: Se X allora Y. • Segmentazione • Scoprirepattern sui dati, raggruppareistanzesimili in gruppi (cluster) di istanze.

  43. Introduzione al Data Mining INPUT Data un’istanza (record) di datisuN attributi: A(x1,x2,x3,x4,x5, … xN) Dato un insieme di Mpossibiliclassi: C={c1,c2, … cM} OUTPUT Determinare la classecj cui appartienel’istanza A. COME? Medianteapprendimentosupervisionato … 

  44. Introduzione al Data Mining TRAINING-SET • Un Training-Set e’ definito come un insieme di record: • T={(Aj,cjk)} • Aj e’ un record su N attributi: (xj1,xj2, … xjN) • cjk e’ la classe cui appartieneil recordAj Q. Da dove ottengoil Training-Set? Spessodisponibile come storico di datidisponibili nel DB o nel DW, o costruito da fontiesterne.

  45. Introduzione al Data Mining TRAINING-SET • Un Training-Set e’ definito come un insieme di record: • T={(Aj,cjk)} • Aj e’ un record su N attributi: (xj1,xj2, … xjN) • cjk e’ la classe cui appartieneil recordAj Fase di TESTING {<Aj,cij>} DATA-SET + ALGORITMO CLASSIFICAZIONE Istanza Ai Cj MODELLO Fase di TRAINING

  46. Introduzione al Data Mining Esempio.Determinare se un certoclientepuo’ essereinteressato o meno ad acquistare un auto berlina, aifini di migliorare la campagnapubblicitaria. Data-set derivatodairisultati di precedenticampagnepubblicitarie TRAINING SET ACQUISTO?? TESTING SET <4, Sposato, M, 3, 38000>

  47. Introduzione al Data Mining ALGORITMI di CLASSIFICAZIONE • Naïve Bayes • RetiBayesiane • Alberi di decisione • Random Forest • Support Vector Machines (SVM) • … A.Quale algoritmousare? Q. Non esiste un classificatoreottimo in assoluto, dipendedallo scenario applicativo…

  48. Introduzione al Data Mining CLASSIFICATORE NAÏVE BAYES (NB) Il classificatore NB utilizzaunatecnicastatistica con la quale sicerca di stimare la probabilita’ di un istanza di appartenere ad unacertaclasse. • Istanza A(x1, …xN) da classificare. • P(cj|A) probabilita’ condizionata di avereuna • classecj,vendendoun’istanza A. • In NB, scelgo la classeck, tale che: Come calcolare P(cj|A)??

  49. Introduzione al Data Mining Probabilita’ condizionata: Probabilita’ congiunta (in caso di eventiindipendenti): Teorema di Bayes: ApplicandoilTeorema di Bayes al nostroproblema:

  50. Introduzione al Data Mining Semplificandoilproblema … Il record A e’ composto di N Attributi: A(x1,x2, …xN) AssumendochegliN attributisianotuttiindipendenti …