Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Data Mining - APERTE, Panieri di Tecniche Di Analisi Dei Dati

Domande Aperte Data Data Mining - Aperte - Prof.ssa Antonelli

Tipologia: Panieri

2020/2021

In vendita dal 10/01/2021

salvatore-civiletti
salvatore-civiletti 🇮🇹

4.4

(195)

24 documenti

1 / 44

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
DATA MINING
Lezione 002
05. Cosa è una transazione?
Una transazione è una unità elementare di lavoro di un’applicazione a cui si vogliono associare particolari
caratteristiche di correttezza, robustezza ed isolamento.
Un sistema che mette a disposizione meccanismi per la definizione e l’esecuzione di transazioni viene detto
sistema transazionale.
Da Wikipedia:
Una transazione è una sequenza di operazioni, che può concludersi con un successo o un insuccesso; in
caso di successo, il risultato delle operazioni deve essere permanente o persistente, mentre in caso di
insuccesso si deve tornare allo stato precedente all'inizio della transazione.
Le transazioni sono normalmente implementate da DBMS (Data Base Management System) o da gestori di
transazioni.
06. Quali sono le fasi caratteristiche del data mining?
Sono due le fasi che caratterizzano la fase di data mining:
L’esplorazione dei dati, che precede la scoperta di un modello valido e comporta e necessita di una fase
di esplorazione controllata dei dati. L’obiettivo è quello di fornire uno strumento per evidenziare errori nella
preparazione ed estrazione dei dati.
La generazione dei pattern, che utilizza regole ed algoritmi di scoperta di associazioni per generare
modelli. Una volta generati, i modelli devono essere validati ed interpretati.
07. Quali sono le fasi del KDD (Knowledge Discovery in Database)?
Il processo di estrazione della conoscenza dai dati è il processo automatico iterativo di esplorazione ed
analisi dei dati che ha lo scopo di estrarre dai dati nuova conoscenza utile per supportare i processi
decisionali.
In ingresso al processo ci sono tipicamente dati grezzi provenienti da sorgenti eterogenee, in uscita dal
processo si ha nuova conoscenza acquisita.
La fase principale è proprio quella del data mining che estrae nuova conoscenza o identifica pattern/modelli
nei dati mediante l’applicazione di diversi algoritmi.
!
Le fasi del KDD:
Selezione: I dati vengono estratti secondo alcuni criteri che dipendono dall'obiettivo che si vuole
raggiungere. In gergo, si dice che i dati vengono campionati. !
Pre-elaborazione: durante questa fare i dati vengono ripuliti da informazioni ritenute inutili e che possono
rallentare le interrogazioni della base di dati. In questa fase i dati possono subire delle trasformazioni per
evitare inconsistenze dovute al fatto che dati simili provenienti da sorgenti diverse e gestiti con metadati
leggermente diversi. !
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c

Anteprima parziale del testo

Scarica Data Mining - APERTE e più Panieri in PDF di Tecniche Di Analisi Dei Dati solo su Docsity!

DATA MINING

Lezione 002

05. Cosa è una transazione?

Una transazione è una unità elementare di lavoro di un’applicazione a cui si vogliono associare particolari

caratteristiche di correttezza, robustezza ed isolamento.

Un sistema che mette a disposizione meccanismi per la definizione e l’esecuzione di transazioni viene detto

sistema transazionale.

Da Wikipedia :

Una transazione è una sequenza di operazioni, che può concludersi con un successo o un insuccesso; in

caso di successo, il risultato delle operazioni deve essere permanente o persistente, mentre in caso di

insuccesso si deve tornare allo stato precedente all'inizio della transazione.

Le transazioni sono normalmente implementate da DBMS (Data Base Management System) o da gestori di

transazioni.

06. Quali sono le fasi caratteristiche del data mining?

Sono due le fasi che caratterizzano la fase di data mining:

  • L’esplorazione dei dati , che precede la scoperta di un modello valido e comporta e necessita di una fase

di esplorazione controllata dei dati. L’obiettivo è quello di fornire uno strumento per evidenziare errori nella

preparazione ed estrazione dei dati.

  • La generazione dei pattern , che utilizza regole ed algoritmi di scoperta di associazioni per generare

modelli. Una volta generati, i modelli devono essere validati ed interpretati.

07. Quali sono le fasi del KDD (Knowledge Discovery in Database)?

Il processo di estrazione della conoscenza dai dati è il processo automatico iterativo di esplorazione ed

analisi dei dati che ha lo scopo di estrarre dai dati nuova conoscenza utile per supportare i processi

decisionali.

In ingresso al processo ci sono tipicamente dati grezzi provenienti da sorgenti eterogenee, in uscita dal

processo si ha nuova conoscenza acquisita.

La fase principale è proprio quella del data mining che estrae nuova conoscenza o identifica pattern/modelli

nei dati mediante l’applicazione di diversi algoritmi.

Le fasi del KDD:

Selezione: I dati vengono estratti secondo alcuni criteri che dipendono dall'obiettivo che si vuole

raggiungere. In gergo, si dice che i dati vengono campionati.

Pre-elaborazione: durante questa fare i dati vengono ripuliti da informazioni ritenute inutili e che possono

rallentare le interrogazioni della base di dati. In questa fase i dati possono subire delle trasformazioni per

evitare inconsistenze dovute al fatto che dati simili provenienti da sorgenti diverse e gestiti con metadati

leggermente diversi.

Trasformazione: i dati possono essere trasformati in modo tale da aggiungere ad essi ulteriori campi,

rendendoli quindi usabili e navigabili per la specifica applicazione.

Data mining: in questa fase vengono estratti i modelli dai dati. Un modello può essere definito come segue:

dato un insieme di fatti (i dati) F, un linguaggio L ed alcune misure di certezza C, un modello è una

dichiarazione S nel linguaggio L che descrive le relazioni che esistono tra i dati di un sottoinsieme G di F con

una certezza c tale che S sia più semplice in qualche modo della enumerazione dei fatti contenuti in G;

Interpretazione e valutazione: in questa fase i modelli identificati dal sistema vengono utilizzati ed interpretati

con l’obiettivo di utilizzare la conoscenza acquisita. Tale conoscenza potrebbe essere utilizzata per il

supporto alle decisioni, effettuando previsioni, classificazioni, descrizione dei fenomeni osservati.

Lezione 003

05. Discutere la differenza fra modelli predittivi e descrittivi

La modellazione utilizza principalmente i dati per stimare i parametri dei modelli. Per far ciò, sono importanti

delle conoscenze multi-disciplinare che spaziano dalla statistica alla teoria delle basi di dati, passando per

tecniche di auto apprendimento.

I modelli possono essere predittivi o descrittivi, ina base all'obiettivo dell'analisi che si vuole effettuare.

I modelli descrittivi , identificati tipicamente da algoritmi di clustering o regole associative, vengono

utilizzato per descrivere la struttura organizzativa e la distribuzione dei dati. L'obiettivo di questi modelli e

quello di approfondire la conoscenza nascosta dietro ai dati.

Con il clustering , per esempio, si riesce a verificare se i dati sono organizzati in gruppi che hanno

caratteristiche simili.

Le regole associative consentono di prevedere tendenze e relazioni esistenti fra le variabili/attributi che

caratterizzano le transazioni gestite dal sistema di data mining.

I modelli predittivi , tipici degli algoritmi di classificazione e regressione, utilizzano i loro parametri e

meccanismi caratteristici per effettuare delle previsioni future che possono essere utili nei processi

decisionali.

Per esempio, un algoritmo di classificazione , consente di assegnare una etichetta caratteristica ad un nuova

transazione che viene gestita dal sistema di data mining.

Un algoritmo di regressione consente di effettuare delle previsioni future sul valore che potrà assumere una

determinata variabile, sulla base dei suoi valori passati o sulla base dei valori di altre variabili.

06. Perché il modello di data mining è da considerarsi interattivo?

In generale, per ottenere dei modelli di buona qualità è necessario eseguire con attenzione le tre fasi sulle

quali si poggia ogni algoritmo di DM: esplorazione, moderazione e valutazione.

Potrebbe essere necessario ritornare più volte sia nella fase di esplorazione dei dati sia nella fase di

modellazione. Il processo di data mining è spesso iterativo.

La conoscenza del dominio di applicazione aiuta l'ingegnere della conoscenza ad aggiungere in fase di

modellazione elementi che potrebbero non essere estraibili dai dati.

È molto importante, infatti, il confronto fra gli esperti del dominio e l'ingegnere della conoscenza. Questa fase

di confronto si chiama knowledge elicitation.

07. Quali sono i pilastri operativi su cui poggia il data mining?

Ogni algoritmo di data mining si poggia su tre pilastri operativi:

esplorazione, moderazione e valutazione.

Esplorazione. Durante questa fase i protagonisti sono i dati a disposizione. Da essi gli algoritmi di data

mining partono per fare analisi ed assunzioni. Il punto di forza del data mining sta appunto nel saper

07. Discutere il processo della cross validation

Quando non si ha a disposizione molti dati oppure quando si vuole ridurre al minimo la dipendenza dai dati

del processo di identificazione e valutazione del modello si utilizza una tecnica chiamata Cross Validation.

Supposto si avere N istanze o transazioni a disposizione, si divide l’insieme dei dati in K partizioni (gruppi di

dati) casuali, detti fold.

Si ripete l'addestramento e la valutazione del modello K volte utilizzando, in maniera ciclica, K-1 partizioni

come training set e la restante partizione come test set.

In pratica si creano ogni volta K modelli con un training set diverso formato da K-1 partizioni e si valuta la

capacità di generalizzazione di ciascun modello con la partizione che non è stata utilizzata per

l’addestramento.

Alla fine del processo si ottengono K valori di errore o di accuratezza calcolati utilizzando i K test set. Il

valore medio di questi valori prende il nome di errore o accuratezza cross-validato.

In questo caso si ha una 4-fold CV. Il dataset viene diviso in 4 partizioni (quattro colori) e per quattro volte

viene creato un modello con un training set formato da 3 partizioni (ogni volta diverse).

La partizione che resta viene utilizzata per valutare la capacita di generalizzazione del modello.

Alla fine, si ottiene la media gli errori o delle accuratezze calcolate sul training set per ciascun modello.

08. Discutere il problema dell’overfitting

Quando in fase di addestramento un modello si adatta al campione osservato e perde la capacita di

generalizzazione si ha il problema dell’overfitting.

In pratica i parametri si allineano ai dati osservati facendo seguire al modello il trend dei dati. Se i dati non

sono rappresentativi di tutto il fenomeno, il modello non è in grado di generalizzare.

Supponiamo di voler costruire un modello che effettui previsioni del livello di pioggia che cade in una

determinata zona, sulla base dello storico delle osservazioni. Se l'addestramento viene effettuato solo

utilizzando i dati della stazione estiva, sarà praticamente impossibile generalizzare sui dati relativi alla

stagione invernale. Infatti, il modello avrà acquisito solo le tendenze della stagione estiva che sono molto

diverse da quelle della stagione invernale.

Durante il processo di campionamento dei dati, bisogna stare attenti a selezionare un sotto insieme di dati

cha sia rappresentativo del fenomeno che si vuole descrivere.

Lezione 005

06. Fornire un esempio di distribuzione e del suo istogramma

Alle variabili casuali in genere è associata una funzione di densità di probabilità. Tale funzione descrive la

probabilità che ha ogni punto di essere presente nello spazio dei campioni.

Si dice che un insieme di punti segue una distribuzione normale se ad esso è associata la seguente

funzione di densità di probabilità:

La media di tale distribuzione è pari a m e la varianza vale s2. Questi sono i due parametri caratteristici di

tale distribuzione.

Sara molto importante nell'applicazione di algoritmi di data mining sapere se gli attributi dei dati a

disposizione seguono una distribuzione normale.

Esempio:

Si consideri la seguente distribuzione di incidenti per mese in una società

di costruzioni: 0, 1, 3, 4, 5, 2, 2, 6, 7, 2, 0, 1.

I l v a l o r e d e l l a m e d i a è :

Se si ordina la distribuzione si ha (0, 0, 1, 1, 2, 2, 2, 3, 4, 5, 6, 7). Chiaramente la moda vale 7 e la mediana

vale 2.

Si disegna il corrispondente istogramma ( diagrammi che consentono di visualizzare la frequenza con cui si

distribuiscono i dati divisi in classi (in intervalli) ) con 5 rettangoli con la base della stessa dimensione.

Ciascun rettangolo ha una base ampia 1.4. L'intervallo [0,7] viene diviso utilizzando il vettore di punti [

1.4000 2.8000 4.2000 5.6000 7.0000] i cui valori identificano l’inizio e la fine di ogni rettangolo:

07. Cosa si intende per outliers?

Gli Outliers (valori fuori dal limite) sono punti, dei Box plot, oltre una certa soglia rappresentati singolarmente

oltre i valori minimo e massimo (di solito, un valore superiore / inferiore a 1,5 x RIQ).

08. Discutere la differenza tra quartile e quantile (nella misura della dispersione dei dati)

Il k-esimo quantile di un insieme di dati ordinati è quel valore che ha la

seguente proprietà: il k% dei dati assume valore minore o uguale ad xi. La mediana è in sostanza il 50-

esimo percentile.

Per primo quartile Q1 si intende il 25-esimo percentile.

Il terzo quartile Q3 è il 75-esimo percentile.

Il range interquartile si calcola come segue RIQ = Q3-Q1.

09. Quali sono gli indicatori di dispersione

La varianza fornisce una misura della variabilità dei valori assunti dalla variabile, nello specifico, di quanto

essi si discostino quadraticamente dalla media.

La deviazione standard è la radice quadrata della varianza.

errori nella strutturazione dei dati

errori umani nell'inserimento

errori intenzionali (derivanti ad esempio dalla volontà di non divulgare informazioni personali)

decadimento dei dati (indirizzi civici obsoleti), ecc.

Per individuare le discrepanze si effettuano in genere i seguenti passaggi:

Definizione di Metadati : si deve ben identificare dominio e intervallo degli attributi, tipo di distribuzione e

dipendenze tra i dati.

Controllo dell'overloading dei campi : bisogna verificare se gli sviluppatori hanno utilizzato, per un nuovo

attributo, una porzione di spazio di memoria non utilizzata ma già destinata ad un altro attributo.

Controllo delle regole di :

  • Unicità: verificare che ogni valore per un determinato attributo deve essere differente da qualsiasi altro

valore per l'attributo.

  • Consecutività: Non ci possono essere valori mancanti tra il valore più basso e il valore più alto dell'attributo.
  • Null: Specifica l'uso di caratteri speciali, spazi vuoti o altre stringhe che indichino la condizione “null”. 06. Descrivere la seconda fase del processo di data cleaning specificando che tipi di tool

commerciali potrebbero essere utilizzati

La seconda fase del processo di data cleaning consiste nella trasformazione dei dati per effettuare la

correzione.

Anche per questo tipo di operazione esistono molti tool commerciali utili per la correzione:

  • Tool per la migrazione dei dati : consentono di effettuare delle semplici trasformazioni. Ad

esempio, consentono di sostituire la stringa “gender” con “sex”.

  • Tool ETL (extraction/trasformation/loading) : consente all'utente di effettuare delle

trasformazioni tramite l'uso di una semplice interfaccia utente (GUI).

07. Le fasi del processo di data cleaning si effettuano una sola volta. Vero o falso? Discutere la scelta

Falso. Potrebbe essere necessario ripetere il processo di data cleaning, organizzato nelle due fasi di

rilevazione di discrepanze e trasformazioni dei dati, più volte.

Infatti, questo processo, potrebbe essere soggetto ad errori e alcune trasformazioni possono introdurre altre

discrepanze.

Inoltre, alcune discrepanze nidificate possono essere rilevate solo dopo che le altre siano state risolte.

Le trasformazioni sono spesso effettuate come un processo batch, mentre l'utente attende senza feedback.

Solo dopo che la trasformazione è stata completata l'utente controlla che nessuna nuova anomalia sia stata

creata per errore.

Si capisce come il processo di data cleaning sia time consuming (richiede molto tempo).

08. Cosa si intende per Data Scrubbling e Data Auditing?

Esistono vari tool commerciali di cui si consiglia l’utilizzo nella fase di individuazione delle discrepanze.

Questi tool si occupano di:

  • Data scrubbling : usano una semplice conoscenza del dominio (codici postali, controllo ortografico) per

ricercare gli errori ed effettuare le correzioni dovute.

  • Data auditing : effettuano un’analisi dei dati per scoprire regole e relazioni. Individuano quindi come

discrepanze quelle tuple che violano tali condizioni. In genere si utilizza una analisi di correlazione e di

clustering.

Lezione 008

04. Quali sono i conflitti che possono apparire nei dati?

L'integrazione dei dati può generare conflitti sui valori.

Per esempio, per la stessa entità del mondo reale, i valori di un attributo acquisiti da sorgenti differenti

possono differire. Ciò può essere dovuto a differenze nella rappresentazione, nella scala o nella codifica. Per

esempio, l’attributo distanza potrebbe essere espresso in metri o in pollici.

Attributi possono anche differire relativamente al livello di astrazione: un attributo in una base di dati

potrebbe essere stato memorizzato ad un livello di astrazione più basso di quanto non sia in un'altra base di

dati. Per esempio, la temperatura media potrebbe riferirsi alla media in un'ora in una base di dati, mentre alla

media in un giorno in un'altra base di dati.

05. Cos'è il test del chi quadro? Come può essere utilizzato nella fase di data integration?

La ridondanza è uno dei problemi fondamentali a cui far fronte quando si effettua l'integrazione.

“Un attributo può essere ridondante se può essere derivato da un altro attributo o da un insieme di attributi.”

Le inconsistenze possono anche esse causare ridondanze nell’insieme dei dati risultante.

Dato che la ridondanza inficia le prestazioni del processo di analisi dei dati è fondamentale individuarla ed

eliminarla.

Molte delle ridondanze presenti possono essere individuate tramite l’analisi di correlazione. Dati due attributi,

tale analisi valuta quanto un attributo “dipende” da un altro.

Per attributi numerici la correlazione fra due attributi può essere calcolata utilizzando il coefficiente di

correlazione: maggiore è il suo valore e maggiore è la correlazione fra i due attributi. Se due attributi sono

fortemente correlati, uno di loro può essere eliminato in quanto fornisce un'informazione ridondante.

Per attributi discreti o categorici viene spesso utilizzato il test del χ2 (chi- quadro): maggiore è il valore del

chi-quadro, maggiormente i due attributi sono correlati. Di nuovo uno dei due attributi è quindi ridondante e

può essere eliminato.

06. Cosa si intende per l'identificazione delle ridondanze? Come si possono gestire?

La ridondanza è uno dei problemi fondamentali a cui far fronte quando si effettua l'integrazione.

“Un attributo può essere ridondante se può essere derivato da un altro attributo o da un insieme di attributi.”

Le inconsistenze possono anche esse causare ridondanze nell’insieme dei dati risultante.

Dato che la ridondanza inficia le prestazioni del processo di analisi dei dati è fondamentale individuarla ed

eliminarla.

Molte delle ridondanze presenti possono essere individuate tramite l’analisi di correlazione. Dati due attributi,

tale analisi valuta quanto un attributo “dipende” da un altro.

Per attributi numerici la correlazione fra due attributi può essere calcolata utilizzando il coefficiente di

correlazione: maggiore è il suo valore e maggiore è la correlazione fra i due attributi. Se due attributi sono

fortemente correlati, uno di loro può essere eliminato in quanto fornisce un'informazione ridondante.

Per attributi discreti o categorici viene spesso utilizzato il test del χ2 (chi- quadro): maggiore è il valore del

chi-quadro, maggiormente i due attributi sono correlati. Di nuovo uno dei due attributi è quindi ridondante e

può essere eliminato.

07. Quando si parla di data integration, cosa sono e come si usano i metadati?

Per evitare errori generati dal problema dell’identificazione delle entità durante l’integrazione si possono

sfruttare ed utilizzare i metadati.

Esempi di metadati per ogni attributo includono nome, significato, tipo di dati, range di valori permessi e

regole per gestire valori nulli.

I metadati possono anche essere usati per aiutare ad evitare errori nello schema di integrazione.

Lezione 009

05. Discutere il problema della dimensionalità e come la riduzione dei dati aiuta a risolverlo.

Molto spesso una base di dati o un data wareouse potrebbe contenere al suo interno terabyte e terabyte di

dati.

Molte fra le tecniche di data mining prevedono di scansionare anche più di una volta le tabelle in cui sono

contenuti i dati. Ne consegue che processo di estrazione di conoscenza potrebbe durare molto tempo.

La forza della trasformata wavelet sta nel fatto che i segnali wavelet trasformati possono essere “troncati” e

ricostruiti successivamente a partire dal segnale wavelet base.

Quindi si avrà una forte compressione dei dati, perché si memorizzeranno solamente i coefficienti wavelet

più significativi, generando un'ottima approssimazione dell'intero insieme di dati.

Ad esempio tutti i coefficienti wavelet sopra una determinata soglia stabilita dall'utente possono essere

memorizzati, mentre gli altri sono considerati nulli ed eliminati.

08. Quali sono i casi in cui conviene maggiormente usare la PCA oppure la trasformata wavelet?

La PCA tende ad essere migliore per gestire dati sparsi, mentre la DWT è più adatta per i dati di elevata

dimensionalità.

Lezione 010

07. Discutere le differenze tra metodi wrapper e metodi filter per la selezione di attributi

Per effettuare la valutazione di un singolo attributo o di un insieme di attributi si possono utilizzare metodi

che utilizzano un classificatore o un regressore specifico (metodi wrapper) oppure approcci che tengono in

considerazione la correlazione o la mutua informazione fra gli attributi e il vettore delle classi (metodi filter).

08. Discutere la mutua informazione fra due attributi/variabili e spiegare come può essere utilizzata

nel processo di selezione di attributi

Intuitivamente, l'informazione mutua fra due variabili Xe Y misura l'informazione che X e Y condividono: essa

misura quanto la conoscenza di una di queste variabili riduce la nostra incertezza riguardo all'altra.

Ad esempio, se X e Y sono indipendenti, allora la conoscenza di X non dà alcuna informazione riguardo a Y

e viceversa, perciò la loro mutua informazione è zero.

All'altro estremo, se X e Y sono identiche allora tutte le informazioni trasmesse da X sono condivise con Y: la

conoscenza di X determina il valore di Y e viceversa. Come risultato, nel caso di identità l'informazione

mutua è la stessa contenuta in Y (o X) da sola, vale a dire l'entropia di Y (o X: chiaramente se X e Y sono

identiche, hanno identica entropia).

Maggiore è il valore della mutua informazione e maggiore due variabili sono correlate.

Nel processo di selezione di attributi il concetto di mutua informazione può essere utilizzato in vari contesti.

Per prima cosa, potrebbe essere utilizzato per effettuare una classifica degli attributi. Facendo l'assunzione

forte che gli attributi siano indipendenti, si calcola la mutua informazione fra ciascun attributo e la variabile di

uscita. In problemi di classificazione la variabile di uscita sarà nominale, in problemi di regressione tale

variabile sarà di numerica. Gli attributi con maggiore mutua informazione sono quelli più correlati con l'uscita

e quindi potrebbero essere selezionati. Occorre fissare una soglia o sul numero di attributi o sul valore

minino di mutua informazione.

Nel processo di ricerca del sottoinsieme migliore di attributi, vengono spesso utilizzati degli indici, basati

sulla mutua informazione. Essi sono utilizzati per valutare la bontà del sottoinsieme individuato o per

valutare quale attributo conviene aggiungere.

09. Cosa si intende per metodo greedy?

Metodi euristici che, ad ogni passo della ricerca nello spazio degli attributi, effettuano la migliore scelta

possibile. L’ idea dei metodi euristici è quella di ottenere un sottoinsieme ottimale degli attributi che

probabilmente non sarà l’ottimo, ma che ha una buona probabilità di avvicinarsi.

10. Cosa si intende per attributi ridondanti e irrilevanti?

L’insieme di dati da analizzare con tecniche di data mining potrebbe avere moltissimi attributi. Fra questi ci

potrebbero essere attributi:

Ridondanti , che replicano parti o tutte le informazioni già contenute già in altri attributi. Per esempio, il

prezzo di un prodotto e l’IVA pagata (in genere una percentuale del prezzo).

Irrilevanti , che contengono informazioni che non sono utili al processo di data mining. Per esempio, la

matricola di uno studente è inutile se si vuole predire il valor medio dei voti di un esame

Lezione 011

04. Discutere una tecnica per la generazione di gerarchie di concetti per dati nominali

Le gerarchie di concetti organizzano i concetti (i valori degli attributi) in maniera gerarchica, specialmente nei

data warehouse.

Tali gerarchie facilitano l'inserimento e l'eliminazione di attributi nei data warehouse.

La formazione delle gerarchie di concetti consente ricorsivamente la riduzione dei dati raggruppando e

sostituendo concetti a basso livello con concetti a più alto livello (ad esempio i valori numerici per età

possono essere sostituiti con concetti del tipo, giovane, adulto, senior).

Le gerarchie di concetti possono essere specificate a mano da esperti del dominio dei dati oppure dai

progettisti dei data warehouse.

Le gerarchie possono anche essere create in maniera automatica da dati numerici e nominali. Per i dati

numerici, occorre utilizzare prima dei metodi di discretizzazione.

Il concetto di gerarchie viene utilizzato per trasformare e discretizzare i dati in molteplici livelli di granularità.

Si riportano di seguito due dei quattro metodi per la generazione dei gerarchie di concetti per i dati nominali:

  1. Specificare un ordine anche parziale di ordinamento degli attributi esplicitamente da parte

dell'utente esperto al livello della generazione dello schema

I concetti gerarchici spesso sono presentati in gruppi.

Un utente esperto del dominio può facilmente definire i concetti gerarchici tramite la specifica anche parziale

di un ordinamento fra gli attributi.

Ad esempio se si considerano gli attributi “Città”, “Regione”, “Strada”, l'ordinamento intuitivo che l'utente

esperto potrebbe fornire e’ Regione>Città>Strada.

  1. Specificare una porzione della gerarchia tramite un raggruppamento esplicito dei dati

Questa è essenzialmente la definizione manuale di una parte della gerarchia dei concetti.

Nei grandi database è ovviamente irrealistico definire un'intera gerarchia tramite un'esplicita enumerazione

dei valori presenti.

Per tale motivo, in tali casi, si specificano dei gruppi di dati di livello intermedio. Ad esempio, dopo aver

specificato “Città” e “Stato” come gerarchia per lo schema, un utente può definire qualche livello intermedio

gerarchico.

Ad esempio {Novedrate, Como, Lombardia} < Italia

05. Cosa sono le gerarchie di concetti? Per cosa possono essere utili?

Le gerarchie di concetti organizzano i concetti (i valori degli attributi) in maniera gerarchica, specialmente nei

data warehouse.

Tali gerarchie facilitano l'inserimento e l'eliminazione di attributi nei data warehouse.

La formazione delle gerarchie di concetti consente ricorsivamente la riduzione dei dati raggruppando e

sostituendo concetti a basso livello con concetti a più alto livello (ad esempio i valori numerici per età

possono essere sostituiti con concetti del tipo, giovane, adulto, senior).

Le gerarchie di concetti possono essere specificate a mano da esperti del dominio dei dati oppure dai

progettisti dei data warehouse.

Le gerarchie possono anche essere create in maniera automatica da dati numerici e nominali. Per i dati

numerici, occorre utilizzare prima dei metodi di discretizzazione.

Il concetto di gerarchie viene utilizzato per trasformare e discretizzare i dati in molteplici livelli di granularità.

06. Discutere la discretizzazione dei dati e la tassonomia delle tecniche esistenti

La tecniche di discretizzazione consentono di dividere l’intervallo di un attributo numerico (reale) in intervalli.

Gli intervalli vengono poi utilizzati per sostituire nelle tabelle i valori reali effettivi.

Questo processo serve sia di ridurre i dati sia per preparare la successiva fase si analisi.

Molti algoritmi di data mining, infatti, prevedono la discretizzazione inziale dei dati.

Matrice di dissimilarità : matrice quadrata e triangolare n x n riporta le distanze fra ciascuna coppia di punti

05. Qual’è la differenza tra distanza e similarità?

Concetto di distanza: Si indichi con S la rappresentazione simbolica di uno spazio di misura Siano x , y , z tre punti qualsiasi nello spazio S. Si definisce la misura di distanza d(x,y): S x S-> R una funzione che soddisfa le seguenti condizioni:

Concetto di similarità: Si indichi con S la rappresentazione simbolica di uno spazio di misura Siano x , y due punti qualsiasi nello spazio S. Si definisce la misura di similarità s(x,y): S x S-> R una funzione che soddisfa le seguenti condizioni:

Similarità: Valore numerico che specifica quanto due oggetti siano simili Il valore della similarità è tanto maggiore quanto due oggetti sono simili In genere è definito nell’intervallo [0,1]. Quando la similarità vale 1, i due oggetti in questione sono identici.

06. Cos’è la disuguaglianza triangolare? Fornire un semplice esempio grafico

Se la funzione di distanza rispetta anche la seguente condizione, detta disuguaglianza triangolare :

essa si definisce distanza metrica. La quarta condizione si definisce comunemente come diseguaglianza triangolare: la distanza trai i punti x ed y deve essere minore o al massimo uguale alla somma delle distanza tra i due punti ed un terzo punto z distinto dai precedenti.

7 ti p - n x p ) e: le righe e tano entità ensione, iangolare n a ciascuna » » » » » » » ¼ º « « « « « « « ¬ ª np ... x nf ... x n x ... ... ... ... ... ip ... x if ... x i x ... ... ... ... ... 1p ... x 1f ... x 11 x » » » » » » ¼ º « « « « « « ¬ ª ( , 1 ) ( , 2 ) ... 0 : : : ) ( 3 , 2 ) dn dn ... d(3,1 d 0 d(2,1) 0 0

Lezione 013

04. Definire la distanza di Minkowski e le sue proprietà

Uno dei tipi di distanza che possono essere usati nella creazione dei modelli di data mining. Si utilizza per

attributi numerici.

Dati i = (xi1, xi2, ..., xip) e j = (xj1, xj2, ..., xjp) due attributi punti definiti nello spazio p-dimensionale, si

d e f i n i r e l a d i s t a n z a d ( I , j ) c o m e s e g u e :

Dove h rappresenta l’ordine della distanza, chiamata anche Lh norma.

Proprietà della Distanza di Minkowski:

d(i, j) > 0 se i ≠ j, ed(i,i) = 0 ( Definita positiva)

d(i, j) = d(j, i) (Simmetrica)

d(i, j) ≤ d(i, k) + d(k, j) (Diseguaglianza triangolare)

Come già detto in precedenza, una distanza che soddisfa queste proprietà si dice metrica.

Casi speciali della distanza di Minkowski:

In base al valore di h si identificano dei diversi tipi di distanza:

  • (^) h=1: Distanza di Manhattan
  • (^) h=2: Distanza Euclidea
  • (^) H -> inf: Distanza Lagrange-Tchebychev 05. Cosa si intende per ordine della distanza Minkowski?

Nella formula della distanza Minkowski:

h rappresenta l’ordine della distanza, chiamata anche Lh norma.

In base al valore di h si identificano dei diversi tipi di distanza:

  • (^) h=1: Distanza di Manhattan (city block, L1 norma)
  • (^) h=2: Distanza Euclidea (L2 norma)
  • (^) H -> inf: Distanza Lagrange-Tchebychev (Lmax norma, Linf norma). 06. Quali sono le altre distanze che si ottengono al variare dell’ordine della distanza Minkowski?

In base al valore di h si identificano dei diversi tipi di distanza:

  • (^) h=1: Distanza di Manhattan (city block, L1 norma)
  • (^) h=2: Distanza Euclidea (L2 norma)
  • (^) H -> inf: Distanza Lagrange-Tchebychev (Lmax norma, Linf norma).

Lezione 014

04. Qual’è la differenza tra la distanza e la similarità di Jaccard?

Nel caso di vettori con attributi descritti da variabili binarie asimmetriche si utilizza, in genera, la distanza di

Jaccard:

La similarità o indice di Jaccard, si calcola come segue:

La similarità di Jaccard viene anche definito come coerenza, ed è pari ad 1-d(i,j)jaccard.

Si tratta di una media pesata, dove i δij sono dei pesi definiti per ciascuna coppia corrispondente di attributi.

I pesi valgono zero se per uno dei due oggetti il valore della variabile f non è definita o xif=xjf e la variabile è

binaria asimmetrica. In alternativa, valgono 1.

Lezione 016

05. Discutere la principale differenza fra clustering e classificazione

Il problema del clustering consiste nell’attribuire le osservazioni sperimentali a una tra differenti categorie e

allo stesso tempo nello scoprire tali categorie.

Nel problema del clustering, come nella classificazione, mi interessa trovare la legge che mi permette di

assegnare le osservazioni alla classe corretta; ma, a differenza della classificazione , devo anche trovare

una plausibile suddivisione delle classi.

Mentre nella classificazione ho un aiuto che proviene dal target (la classificazione che mi viene fornita nel

training set), nel caso del clustering non posso basarmi su alcuna informazione aggiuntiva e devo dedurre le

classi studiando la distribuzione spaziale dei dati.

Si immagini di avere un insieme di oggetti da analizzare in cui, a differenza della classificazione, non `e nota

l’etichetta di classe di ciascun oggetto.

Il processo di raggruppamento di un insieme di oggetti fisici o astratti in classi di oggetti simili `e denominato

clustering.

Un cluster `e una collezione di oggetti che sono simili l’un l’altro e sono dissimili dagli oggetti di altri cluster.

Un cluster di oggetti può essere trattato collettivamente come un gruppo in molte applicazioni.

Sebbene la classificazione `e un mezzo efficace per distinguere gruppi o classi di oggetti essa richiede una

costruzione e un’etichettatura del training set che risultano spesso costose.

06. Discutere la principale differenza tra apprendimento supervisionato e non supervisionato

Nell’apprendimento supervisionato la logica di classificazione viene conferita alla macchina come input,

mentre nell’apprendimento non supervisionato la logica di classificazione non viene consegnata alla

macchina ma è demandato alla macchina il compito di trovarne una. Quindi per esempio se si ha una

popolazione da classificare in gruppi, a seconda di caratteristiche definite, si lascia il computer definire i

raggruppamenti.

07. Discutere il concetto di cluster

Un cluster è una collezione di oggetti simili tra loro e che sono dissimili rispetto agli oggetti degli altri cluster.

E’ importante poter valutare la qualità del partizionamento dei dati ottenuto tramite un algoritmo di clustering.

Si è detto che in linea di massima, un buon clustering assicura che punti dello stesso cluster sia simili fra

loro e punti di cluster diversi siano distanti fra loro.

Formalmente un buon algoritmo di clustering produce cluster di alta qualità se assicura:

  • Alta similarità intra-cluster (minima distanza fra i punti di uno stesso cluster)
  • Bassa similarità inter-cluster (le distanze fra i cluster sono massimizzate).

La qualità di un algoritmo di clustering dipende da:

La misura di similarità utilizzata dall’algoritmo

La sua implementazione

L’abilità dell’algoritmo di scoprire alcuni o tutti gli elementi caratteristici nascosti nei dati.

Fondamentale è il tipo di misura di similarità utilizzata: scegliere una misura non idonea al tipo dei dati

potrebbe portare a risultati non soddisfacenti.

08. Quali sono i principali requisiti che devono assicurare gli algoritmi di clustering?

Gli algoritmi di clustering devo essere in grado di assicurare :

Scalabilità : possibilità di gestire dati di dimensioni crescenti, sia in termini di quantità di oggetti sia in termini

di numero di attributi usati per descriverli

Abilità a gestire attributi di tipo diverso

Clustering con vincoli : l’utente deve avere la possibilità di fissare dei vincoli e usare la conoscenza del

dominio di applicazione per fissare i parametri di ingresso dello specifico algoritmo

Interpretabilità ed usabilità dei risultati : il modello e i risultati devo essere “leggibili” e direttamente

utilizzabili per risolvere uno specifico problema (vedere le applicazioni del clustering elencate in questa

lezione).

Ulteriori sfide :

Identificare cluster di forma arbitraria

Trattare dati rumorosi

Identificare i gruppi in maniera incrementale

Gestire dati con elevata dimensionalità

Gestire big data

Lezione 017

05. Qual’è la principale differenza tra algoritmi di clustering partizionali e density-based?

Algoritmi partizionali :

Dato un insieme di n oggetti, i metodi partizionali costruiscono k partizioni dei dati, dove ogni partizione

rappresenta un cluster. Ogni partizione contiene almeno un oggetto.

La maggior parte dei metodi partizionali sono basati sulla distanza. Dato il numero k dei cluster, un metodo

partizionale crea una partizione iniziale.

Successivamente, si usa una tecnica di rilocazione iterativa che tenta di migliorare il partizionamento

muovendo gli oggetti da un gruppo ad un altro.

Il criterio generale di un buon partizionamento prevede che oggetti nello stesso cluster siano vicini o collegati

l’un l’altro, mentre oggetti in cluster differenti sono lontani o molto differenti.

Raggiungere l’ottimo globale nel partizionamento dell’insieme di dati è spesso computazionalmente

proibitivo, richiedendo una enumerazione esaustiva di tutte le possibili partizioni.

La maggior parte dei metodi proposti adottano approcci euristici, come per esempio l’approccio greedy

seguito per i popolarissimi k-means e k-medoids.

Questi algoritmi progressivamente procedono per minimizzazioni locali e migliorano la qualità del

partizionamento.

Gli algoritmi partizionali in genere trovano cluster di forma sferica e possono essere applicati a piccoli insiemi

di dati.

Algoritmi density-based:

La maggior parte dei metodi partizionali partizionano gli oggetti basandosi sulla distanza. Gli algoritmi di

clustering che si basano sul concetto di densità utilizzano funzioni di connettività e di densità per identificare

i cluster.

I metodi che si basano sul concetto di densità fanno crescere un cluster fintantoché la densità (numero di

oggetti) nel vicinato eccede una soglia prefissata. Il vicinato è in genere definito da un raggio.

Per esempio, per ogni oggetto in un dato cluster, il vicinato raggio deve contenere almeno un numero

minimo di punti.

Metodi basati sulla densità possono ridurre il rumore ed individuare outlier, oltre a scoprire cluster di forma

arbitraria.

06. Come funzionano gli algoritmi di clustering gerarichici?

Gli algoritmi appartenenti a questa categoria effettuano una decomposizione gerarchica dell’insieme di dati.

I metodi gerarchici possono essere aggregativi o divisivi in base a come la decomposizione è realizzata.

L’ approccio agglomerativo inizia considerando che ogni oggetto formi un cluster separato. Quindi, unisce i

cluster più vicini fino a quando tutti i cluster sono raggruppati in un solo cluster oppure una condizione di

terminazione è verificata.

L' approccio divisivo inizia considerando tutti gli oggetti in un unico cluster. Ad ogni iterazione successiva, un

cluster è diviso in cluster più piccoli, finché ogni oggetto formi un cluster oppure una condizione di

terminazione è verificata

  1. Si costruisce una nuova partizione associando ogni punto al cluster il cui centroide è a distanza minore

dal punto stesso.

  1. Si ricalcolano i centroidi per i nuovi cluster e si ripete l’algoritmo fino a convergenza.

Pseudocodice :

05. Qual’è la differenza tra cluster e centroide nell’algoritmo di clustering K-means?

L’algoritmo K-means è il più famoso degli algoritmi partizionali.

Fu introdotto nel 1967 da MacQueen e l’obiettivo inseguito è quello di minimizzare la varianza totale inter-

cluster.

Ogni cluster è rappresentato da un centroide (baricentro o punto medio).

Ogni centroide è descritto da un insieme di attributi di dimensione pari a quello dei singoli oggetti che

vengono clusterizzati.

06. Qual’è la misura che si ottimizza nell’algoritmo di clustering K-means?

d(xi, cj). ???

07. Discutere l’idea di base dell’algoritmo di clustering K-means

L’algoritmo è di tipo iterativo: passo passo si cerca di migliorare la clusterizzazione.

  1. Si fissa il numero K di cluster da trovare
  2. Vengono create K partizioni (in pratica cluster) e si assegna a ciascuna partizioni un insieme di punti. I

punti possono essere assegnati a caso o utilizzando anche informazioni sul dominio del problema.

  1. Si calcola il centroide di ogni partizione.
  2. Si costruisce una nuova partizione associando ogni punto al cluster il cui centroide è a distanza minore

dal punto stesso.

  1. Si ricalcolano i centroidi per i nuovi cluster e si ripete l’algoritmo fino a convergenza.

Lezione 019

05. Discutere lo schema base di un algoritmo di clustering gerarichico agglomerative

L’approccio agglomerativo inizia considerando che ogni oggetto formi un cluster separato. Quindi, unisce i

cluster più vicini fino a quando tutti i cluster sono raggruppati in un solo cluster oppure una condizione di

terminazione è verificata.

A questo gruppo appartiene l’algoritmo AGNES (Aglomerative Nesting).

Lo schema base di un algoritmo di clustering gerarchico agglomerativo è il seguente:

  1. Ogni oggetto viene inizializzato come un cluster
  2. Si calcola la matrice delle distanze fra i cluster
  3. While rimane un cluster unico do

Raggruppare i cluster più vicini

Aggiornare la matrice delle distanze

  1. End.

06. Come si calcola la distanza tra due cluster nati dalla fusione di due o più cluster?

Esistono vari metodi per aggiornare la matrice delle distanze fra i cluster ad ogni iterazione.

Il problema è quello di calcolare la distanza fra due cluster nati dalla fusione di due o più cluster. Si parte dal

conoscere la distanza fra gli elementi appartenenti ai due cluster (cosa vera a ciascun passo dell’algoritmo).

Di seguito si riportano i quattro metodi più diffusi.

Single Link: è la minima distanza fra due elementi dei cluster

Complete Link: è la massima distanza fra due elementi dei cluster

Average Link: è la media delle distanze fra tutti gli elementi dei cluster

Weighted Average Link: è la media pesata delle distanze fra tutti gli elementi dei cluster. I pesi sono

rappresentati dal numero di elementi di ciascun cluster.

Centroide: la distanza si calcola come la distanza fra i centroidi dei cluster.

07. Quali sono i pro e i contro degli algoritmi di clustering gerarchico?

Pro :

Non richiede di definire a priori il numero dei cluster

Il numero desiderato di cluster puoì essere ottenuto ‘tagliando’ il dendrogramma al livello opportuno

Può̀ identificare una tassonomia (classificazione gerarchica) di concetti Gli elementi più simili saranno fusi

prima di elementi meno simili

Contro :

Una volta che una decisione è presa (fusione) non piò più essere annullata

In molte configurazioni è sensibile a rumore e outlier

Manca una funzione di ottimizzazione globale

08. Discutere i passi principali dell’algoritmo DIANA

Lavora in maniera inversa di AGNES.

  1. Parte collocando tutti gli oggetti in un cluster iniziale.
  2. Si effettua una divisione successiva dei cluster.
  3. Ad ogni passo dell’algoritmo si sceglie il cluster da dividere prendendo quello con il diametro massimo

(che ha la massima distanza fra qualsiasi coppia di suoi oggetti).

  1. La divisione viene fatta cercando fra tutti gli oggetti quello con la massima distanza media rispetto agli altri

oggetti del cluster.

  1. L’oggetto trovato costituisce il primo elemento del nuovo cluster
  2. Si assegnano al nuovo cluster gli oggetti che sono più vicini ad esso rispetto al vecchio, finchè non si

ottengono due cluster.

  1. L’algoritmo finisce quanto ci sono tanti cluster quanti gli oggetti o quando si raggiunge una condizione di

terminazione.

09. Qual’è la principale differenza tra gli algoritmi AGNES e DIANA?

Algoritmo AGNES

Utilizza il single link per misurare la distanza fra i cluster (minimo delle distanze fra gli elementi di cluster

diversi).

Si basa sulla fusione di nodi o cluster che hanno minima distanza.

Segue un approccio bottom-up (dal basso all’alto) fino ad ottenere un unico cluster finale.

Algoritmo DIANA

Lavora in maniera inversa di AGNES.

10. Che cos’è il dendogramma?

Gli algoritmi di clustering gerarchico producono insiemi diversi di cluster organizzati come un albero

gerarchico.

Tale albero si rappresenta graficamente con il cosiddetto dendogramma

Il dendogramma è un diagramma ad albero che mostra le sequenza di fusioni fra cluster.