DATA MINING datamining 1 Data mining •Obiettivo: estrarre informazione nascosta nei dati in modo da consentire decisioni strategiche •Una materia interdisciplinare: - statistica, algoritmica, reti neurali datamining 2 1 Applicazioni del data mining - Analisi di mercato: prodotti acquisiti insieme o in sequenza - Analisi di comportamento: individuare usi illeciti di credit card - Previsione: prevedere il costo delle cure mediche - Controllo: errori di produzione datamining 3 ESEMPI DI APPLICAZIONI DEL DATA MINING • VENDITA AL DETTAGLIO E PER CORRISPONDENZA - QUALI “OFFERTE SPECIALI” FARE - COME DISPORRE LE MERCI SUGLI SCAFFALI • MARKETING - PREVISIONI DI VENDITA - PERCORSI DI ACQUISTO DEI PRODOTTI • BANCHE - CONTROLLO DEI PRESTITI - USO (ED ABUSO) DELLE CARTE DI CREDITO • TELECOMUNICAZIONI - AGEVOLAZIONI TARIFFARIE datamining 4 2 ESEMPI DI APPLICAZIONI DEL DATA MINING • ASTRONOMIA E ASTROFISICA - CLASSIFICAZIONE DI STELLE E GALASSIE • RICERCA CHIMICO FARMACEUTICA - SCOPERTA DI NUOVI COMPOSTI - RELAZIONI TRA COMPOSTI • BIOLOGIA MOLECOLARE - PATTERN NEI DATI GENETICI E NELLE STRUTTURE MOLECOLARI • TELERILEVAMENTO E METEOROLOGIA - ANALISI DEI DATI SATELLITARI • STATISTICA ECONOMICA - ANALISI DEI CENSIMENTI E DEMOGRAFICA datamining 5 Applicazione : analisi delle vendite Trans Data Oggetto Quantità 1 1 2 2 2 3 4 4 pantaloni-sci scarponi maglietta giacca stivali giacca maglietta giacca 1 1 1 1 1 1 3 1 12/17/99 12/17/99 12/18/99 12/18/99 12/18/99 12/18/99 12/19/99 12/19/99 datamining Prezzo 140.000 180.000 25.000 300.000 70.000 300.000 25.000 300.000 6 3 TIPI DI INFORMAZIONI OTTENUTE • ASSOCIAZIONI - INSIEME DI REGOLE CHE SPECIFICA L’OCCORRENZA CONGIUNTA DI DUE (O PIU’) ELEMENTI • SEQUENZE - POSSIBILITA’DI STABILIRE CONCATENAZIONI TEMPORALI DI EVENTI • CLASSIFICAZIONI - RAGGRUPPAMENTI DI ELEMENTI IN CLASSI SECONDO UN MODELLO PREDEFINITO • RAGGRUPPAMENTI (CLUSTER) - RAGGRUPPAMENTI DI ELEMENTI IN CLASSI NON DEFINITE A PRIORI • TENDENZE (TREND) - SCOPERTA DI ANDAMENTI TEMPORALI CARATTERISTICI CON VALENZA PREVISIONALE datamining 7 Scoperta di regole di associazione • Si cercano regolarità nei dati: quando si acquistano scarponi, si acquistano sci •Strutturate come: - corpo: premessa della regola. - testa: conseguenza della regola. datamining 8 4 Caratteristiche delle regole di associazione • Supporto: probabilità che siano presenti in una transazione entrambi gli elementi di una regola •Confidenza: probabilità che sia presente in una transazione la conseguenza (corpo) di una regola, essendo presente la premessa (testa) • Formulazione del problema: estrarre tutte le regole con supporto e confidenza superiori a valori prefissati datamining 9 Esempi di regole di associazione Premessa Conseguenza Supporto Confidenza pantaloni-sci scarponi magliette magliette stivali stivali giacche giacche {magliette,stivali} {magliette,giacche} {stivali, giacche} scarponi pantaloni-sci stivali giacche magliette giacche magliette stivali giacche stivali magliette 0.25 0.25 0.25 0.25 0.25 0.25 0.5 0.25 0.25 0.25 0.25 1 1 0.5 1 0.5 1 0.66 0.33 1 0.5 1 datamining 10 5 Cosa sono le associazioni • regole di implicazione if A then B per determinare i gruppi di affinità tra oggetti • Esempio: analisi degli acquisti if {cibo per l’infanzia} then {sigarette leggere} • if {birra and venerdì sera} then {pannolini per bambini} datamining 11 Regole di associazione • Una regola di associazione if A then B deve essere estratta se: – è statisticamente frequente all’interno della base dati (percentuale dei clienti significativa) – il legame tra gli oggetti è statisticamente significativo (elevata confidenza di trovare B avendo trovato A) datamining 12 6 Regole di associazione • Applicazioni: – studio delle abitudini di acquisto – studio della variabilità delle vendite in assenza di un certo prodotto – promozione di prodotti, pubblicità mirata – organizzazione della merce sugli scaffali – aumento della soddisfazione del cliente – analisi finanziaria datamining 13 IL “CESTINO DELLA SPESA” I = { i1, … ik} INSIEME DI k ELEMENTI (ITEM) B = { b1, … bn} INSIEME DI n SOTTOINSIEMI BASKET) DI I bi ? I dove • I - PRODOTTI IN UN SUPERMERCATO - PAROLE IN UN DIZIONARIO • B - ACQUISTI DI UN SINGOLO CLIENTE - SINGOLO DOCUMENTO IN UN CORPUS datamining 14 7 IL “CESTINO DELLA SPESA” • esiste una REGOLA DI ASSOCIAZIONE i1? i2 se - i1 E i2 COMPAIONO INSIEME IN ALMENO s% DEGLI n BASKET (SUPPORTO) - DI TUTTI I BASKET CHE CONTENGONO i1 ALMENO c% CONTENGONO ANCHE i2 (CONFIDENZA) datamining 15 ALTRI ESEMPI DI REGOLE • REGOLE CHE HANNO “DIET COKE” NELLE CONSEGUENZA - AIUTANO A DEFINIRE LE STRATEGIE PER AUMENTARE LE VENDITE DI UN PRODOTTO • REGOLE CHE HANNO “GRISSINI” NELLA PREMESSA - AIUTANO A CAPIRE L’IMPATTO DELLA CESSAZIONE DELLA VENDITA DI UN PRODOTTO • REGOLE CHE HANNO “WURSTEL” NELLA PREMESSA E “SENAPE” NELLA CONSEGUENZA - EVIDENZIANO GLI ABBINAMENTI DI PRODOTTI PRESENTI NELLA PREMESSA CHE INDUCONO LA VENDITA DELL’OGGETTO NELLA CONSEGUENZA datamining 16 8 ALTRI ESEMPI DI REGOLE • SE DOBBIAMO ALLOCARE I PRODOTTI NEGLI SCAFFALI, -TROVANDO LE MIGLIORI K REGOLE CHE HANNO “GRISSINI” NELLA CONSEGUENZA IN TERMINI DEL FATTORE DI CONFIDENZA E IN TERMINI DEL FATTORE DI SUPPORTO - POSSO GESTIRE UNA PIU’EFFICACE ALLOCAZIONE DEI “GRISSINI” NEGLI SCAFFALI datamining 17 DATA MINING IN AMBIENTE RELAZIONALE • ESTENSIONE DI SQL CON OPERATORI DI DATA MINING INTEGRATI NEL LINGUAGGIO • INTEGRARE UN SERVER SQL CON UN MOTORE DI DATA MINING - MINE RULE PER LE REGOLE DI ASSOCIAZIONE - MINE CLASSIFICATION PER I PROBLEMI DI CLASSIFICAZIONE - MINE INTERVAL PER LA DISCRETIZZAZIONE DI ATTRIBUTI CONTINUI datamining 18 9 Regole di associazione in SQL MINE RULE OGGETTI-VENDUTI-ASSIEME AS SELECT DISTINCT OGGETTO AS BODY, OGGETTO AS HEAD, SUPPORT, CONFIDENCE FROM VENDITE GROUP BY TRANS EXTRACTING RULES WITH SUPPORT: 0.1 CONFIDENCE: 0.2 datamining 19 MINE RULE: ESEMPIO MINE RULE AssociazioneSemplice AS SELECT DISTINCT item... AS BODY, item... AS HEAD,SUPPORT, CONFIDENCE FROM Purchase GROUP BY transaction EXTRACTING RULES WITH SUPPORT: 0.1, CONFIDENCE: 0.2 CLIENTE Rossi Rossi Bianchi Bianchi Bianchi Rossi Bianchi Bianchi OGGETTO pantal. da ski scarponi mont. camicia sport scarpe marron giacca giacca camicia sport giacca TR PREZZO QUANT. 36877 90000 1 36877 180000 1 36878 70000 2 36878 250000 1 36878 400000 1 36878 400000 1 36879 70000 3 36879 400000 2 datamining 20 10 MINE RULE: ESEMPIO CORPO TESTA SUPPORTO CONFIDENZA pantaloni da ski scarponi montagna 0,25 1 scarponi montagna pantaloni da ski 0,25 1 camicia sport scarpe marron 0,25 0,50 camicia sport giacca 0,50 1 scarpe marron camicia sport 0,25 1 scarpe marron giacca 0,25 1 giacca camicia sport 0,50 0,66 giacca scarpe marron 0,25 0,33 camicia sport, scarpe marron giacca 0,25 1 camicia sport, giacca scarpe marron 0,25 0,5 scarpe marron, giacca camicia sport 0,25 1 datamining 21 Altri esempi • Oggetti venduti nella stessa promozione •Oggetti venduti assieme d'estate ma non d'inverno •Oggetti venduti assieme in quanto disposti in modo particolare •Oggetti acquisiti in sequenza dallo stesso cliente datamining 22 11 CLASSIFICAZIONE Classificazione: Catalogazione di un fenomeno particolare in una classe predefinita - Fenomeno presentato sotto forma di fatti elementari (tuple) - Costruzione del classificatore a partire da un set di dati di prova (training set) - Classificatori rappresentati come alberi di decisione datamining 23 PROBLEMA DI CLASSIFICAZIONE CIASCUN ELEMENTO (tupla) DI UN INSIEME DI DATI E’ASSOCIATO, IN BASE A ESPERIENZE O OSSERVAZIONI PREGRESSE, AD UNA CARATTERISTICA DISTINTIVA CHIAMATA CLASSE • FASE 1: APPRENDIMENTO (TRAINING) - COSTRUZIONE DI UN MODELLO SULL’INSIEME NOTO (TRAINING SET) IN MODO CHE OGNI CLASSE SIA UNA PARTIZIONE DELL’INSIEME • FASE 2: APPLICAZIONE - IL MODELLO INDIVIDUATO VIENE UTILIZZATO PER CLASSIFICARE NUOVI DATI datamining 24 12 PROBLEMA DI CLASSIFICAZIONE: ESEMPIO • FASE 1: APPRENDIMENTO (TRAINING) MINE CLASSIFICATION CarInsuranceRules AS SELECT DISTINCT RULES ID, *, CLASS FROM CarInsurance CLASSIFY BY Risk • FASE 2: APPLICAZIONE MINE CLASSIFICATION TEST ClassifiedApplicants AS SELECT DISTINCT *, CLASS FROM Applicants USING CLASSIFICATION FROM CarInsuranceRules AS RULES datamining 25 PROBLEMA DI CLASSIFICAZIONE: ESEMPIO CarInsuranceRules 1. IF Age ? 23 THEN Risk IS High; AGE CAR TYPE RISK 17 43 68 32 23 18 20 45 50 64 46 40 sports family family truck family family family sports truck truck family family high low low low high high high high low high low low CarInsurance 2. IF CarType = sports THEN Risk IS High; 3. IF CarType IN {family, truck} AND Age > 23 THEN Risk IS Low; 4. DEFAULT Risk IS Low AGE CAR TYPE 22 60 35 family family sports Applicants MINE MINE CLASSIFICATION CLASSIFICATION TEST TEST AGE CAR TYPE CLASS 22 60 35 family family sports high low high ClassifiedApplicants datamining 26 13 Discretizzazione Discretizzazione :Rappresentazione di un dominio continuo tramite opportuni valori discreti vantaggi: • Rappresentazione compatta dei valori • Determinazione di valori critici • Facilitazione della analisi dei dati successiva datamining 27 PROBLEMA DI DISCRETIZZAZIONE DISCRETIZZAZIONE SEMPLICE - INTERVALLI DI UGUALE AMPIEZZA IL DOMINIO NUMERICO VIENE SUDDIVISO IN UN ASSEGNATO NUMERO DI INTERVALLI DI UGUALE AMPIEZZA - INTERVALLI DI UGUALE FREQUENZA GLI INTERVALLI SONO PIU’STRETTI DOVE I VALORI SONO DENSI E PIU’AMPI DOVE I VALORI SONO SPARSI MINE INTERVAL IntervalliDiUgualeAmpiezza AS SELECT DISTINCT ID, LOWER, UPPER GENERATING AssicurazioneAutoDiscreta FROM AssicurazioneAuto DISCRETIZE Età BY WIDTH USING 3 INTERVALS datamining 28 14 PROBLEMA DI CLASSIFICAZIONE: ESEMPIO IntervalliDiUgualeAmpiezza ID AGE CAR TYPE RISK 17 43 68 32 23 18 20 45 50 64 46 40 sports family family truck family family family sports truck truck family family high low low low high high high high low high low low 1 2 3 LOWER UPPER 17 34 52 34 52 68 AGE CAR TYPE RISK 1 --1 2 --2 3 3 sports -----truck family -----truck -----family high --low low --low --low AssicurazioneAuto AssicurazioneAutoDiscreta datamining 29 Sintesi dei vari aspetti presenti nella analisi dei dati ambiente: •data warehouse modello: • multidimensionale tecnologie di base: • distribuzione •parallelismo •replicazione tecnologie specifiche: estensioni di SQL • data cube •mine rule •browser (e visualizzatori) •data mining - associazione - discretizzazione - classificazione datamining 30 15