DATA MINING
DATA SCIENCE = HACKING SKILLS + MATH/STATISTICAL KNOWLEDGE + SUBSTANTIVE EXPERTISE + Machine
learning + Danger zone + Traditonal research
Cos’è il Data Mining?
Problema dell’esplosione dei dati:
L’uso dell’archiviazione informatica unita alla tecnologia dei database porta ad avere collezioni di informazione di
dimensioni impressionanti.
La quantità dei dati memorizzata su supporti informatici è in continuo aumento
• Pagine Web, sistemi di e-commerce
• Dati relativi ad acquisti/scontrini fiscali
• Transazioni bancarie e relative a carte di credito
• Internet of Things
L’hardware diventa ogni giorno più potente e meno costoso
Velocity : speed at which data are generated and analyzed
Variety : Different types and forms of data, including large amounts of unstructured data
Value : potential of big data for socio-economic development
Veracity : level of quality, accuracy and uncertainty of data and data sources
Volume : Vast amounts of data generated through large-scale datafication and digitalization of information
La pressione competitiva è in continua crescita. L’informazione è un bene prezioso per superare la concorrenza.
We are drowning in data, but starving for knowledge! Avere molti dati è vantaggio, ma complica la loro gestione.
Per utilizzarli occorrono strumenti sempre più sofisticati.
DATA MINING (knowledge discovery in databases)
Estrazione di informazioni non ovvie, precedentemente non note e potenzialmente utili contenute in grandi
quantità̀ di dati. PATTERN!!
Un pattern è una rappresentazione sintetica e ricca di semantica di un insieme di dati; esprime in genere un modello
ricorrente nei dati, ma può anche esprimere un modello eccezionale.
Un pattern deve essere:
• Valido sui dati con un certo grado di confidenza
• Comprensibile dal punto di vista sintattico e semantico, affinché l’utente lo possa interpretare
• Precedentemente sconosciuto e potenzialmente utile, affinché utente possa intraprendere azioni di conseguenza
Presentare conoscenza anziché soltanto dati è essenziale in una serie di situazioni:
• Analisi di Database (Estrazione di regole, Associazioni)
• Analisi di Mercato (Customer profiling, Marketing)
• Analisi di Rischio (Finance planning, Investimenti)
• Individuazione di Frodi (Carte di credito, Sofisticazioni alimentari)
• Supporto alle Decisioni (Resource management, Allocazione)
• Analisi Mediche (Diagnosi, Gestione donatori)
• Text mining (news-group, email, documents) nel Web
• Analisi di Politiche Economiche o Sociali (Rule learning)
• Analisi di Eventi Rari...
- English and writing recognition
- Fingerprints recognition
- Stock market behavioral recognition
- Autonomous navigation
- Cancer detection
Il Data mining è il cuore del processo di Knowledge Discovery in Databases (KDD)
Knowledge : know-how, undestranding, experience, insight, intuition, and contextualized information
↑
Information : contextualized, categorized, calculated and condensed data
↑
Data : facts and figures which relay something specific, but which are not orgnized in any way
→ → →
Databases Data Wareahouse Task-relevant Data Pattern
→
Pattern Knowledge
Fasi del processo di Knowledge Discovery in Databases (KDD)
1. definizione e comprensione del dominio applicativo: individuare le effettive problematiche di business e gli
obiettivi da realizzare;
2. creazione di un target data set: selezione di un sottoinsieme di variabili e di dati o di un campione dei dati;
3. data cleaning e pre-processing: operazioni per attenuare il rumore nei dati, o degli outlier, selezione delle
informazioni necessarie per generare il modello; decisioni sul trattamento dei campi mancanti o incompleti, dei
dati rari (con un’eventuale sovra-campionatura) sulla definizione della storicità e sull’aggiornamento dei dati;
aggiunta di variabili derivate e indicatori che hanno valori ricavabili da dati già esistenti.
4. data reduction e projection: definizione della modalità di rappresentazione dei dati secondo gli obiettivi posti,
utilizzo di metodi per ridurre il numero delle variabili;
5. scelta del ruolo dei sistemi di data mining per l'analisi: utilizzo dei sistemi di data mining per classificazione,
regressione, clusterizzazione, etc.
6. scelta del o degli algoritmi di data mining: selezione dei metodi per la ricerca di pattern, decidendo quali modelli
o parametri possono essere più appropriati, integrazione dei metodi di data mining scelti con l'intero
processo di scoperta della conoscenza;
7. data mining: ricerca di modelli di interesse per l'utente, con raffinamenti successivi, presentati secondo definite
modalità di rappresentazione (classificazione, alberi di decisione, regressione, cluster analysis )
8. interpretazione dei modelli identificati: analisi e verifica dei risultati con possibile retroazione ai punti precedenti
per ulteriori iterazioni al fine di migliorare l’efficacia dei modelli trovati;
9. consolidamento della conoscenza scoperta: integrazione della conoscenza e valutazione delle performance del
sistema, mettendo a confronto i risultati con l’effettivo andamento nella realtà dei fatti e produzione della
documentazione agli utenti finali o a terze parti interessate.
DATA MINING
• Classificazione: apprendimento di una funzione per mappare oggetti in un insieme predefinito di classi.
• Regressione: apprendimento di una funzione per mappare un oggetto in un valore reale.
• Clustering: identificazione di una collezione di gruppi di oggetti simili.
• Apprendimento di Dipendenze e Associazioni: identificazione di dipendenze significative tra gli attributi dei dati.
• Apprendimento di Regole e Sommarizzazione: individuazione di una descrizione compatta di un insieme o
sottoinsieme di dati.
ESEMPI
Classificazione: Fraud Detection
• Training set: un insieme di punti sperimentali (dati) usati per la fase di apprendimento del metodo di Data
Mining. La variabile dipendente è nota. (TRAINING DATA)
• Test set: questo dataset è utilizzato solo per l’assessment finale del metodo di classificazione o regressione. Le
osservazioni contenute in questo dataset non sono mai stati usati durante la fase di training. (TEST DATA)
Regressione: Previsione Vendite Clustering: Market Segmentation
Associazione: Basket analysis
Esempi di tecniche di Data Mining
Sono state proposte molte e diverse tecniche, aventi ognuna specifiche caratteristiche e vantaggi.
• Alberi di Decisione: C4.5, CART, IC3.
• Reti neurali (ANN): Perceptron, a singolo strato, multi-strato, Backpropagation, Radial-Basis Function, networks.
• Metodi Bayesiani: Bayesian Learning, Bayesian belief network, Bayesian Classifiers.
• Support Vector Machines (SVM)
• Association/Pattern Discovery: Regole di associazione e dipendenze, pattern sequenziali.
In generale, una tecnica di data mining ha il compito di costruire un modello a partire da dati storici.
Un metodo si dice supervisionato quando i dati di “addestramento” comprendono un insieme di esempi sulla
caratteristica di interesse
Esempio - Classificazione
Un metodo si dice invece non supervisionato quando i dati di addestramento non comprendono dati sulla
caratteristica di interesse
Esempio – Clustering
Uso del Data Mining Il processo di Data Mining
IL PROCESSO DI DATA MINING
Le sei fasi del ciclo di vita non sono strettamente sequenziali. Tornare su attività già svolte è spesso necessario.
1) Business understanding: capire gli obiettivi del progetto dal punto di vista dell’utente, tradurre il problema
dell’utente in un problema di data mining e definire un primo piano di progetto
2) Data understanding: raccolta preliminare dei dati finalizzata a identificare problemi di qualità e a svolgere analisi
preliminari che permettano di identificarne le caratteristiche salienti
attività̀
3) Data preparation: comprende tutte le necessarie a creare il dataset finale: selezione di attributi e record,
trasformazione e pulizia dei dati
4) Modeling: diverse tecniche di data mining sono applicate al dataset anche con parametri diversi al fine di
individuare quella che permette di costruire il modello più accurato
5) Evaluation: il modello/i ottenuti dalla fase precedente sono analizzati al fine di verificare che siano
sufficientemente precisi e robusti da rispondere adeguatamente agli obiettivi dell’utente
6) Deployment: il modello costruito e la conoscenza acquisita devono essere messi a disposizione degli utenti.
Questa fase può quindi semplicemente comportare la creazione di un report oppure può richiedere di
implementare un sistema di data mining controllabile direttamente dall’utente
a) Exploratory Data Analysis (EDA): analisi esplorativa dei dati per comprendere la loro natura e le loro
caratteristiche.
b) Valutazione di misure di sintes i quantitative, rappresentazioni dei dati o, ad esempio, identificazione di
variabili indipendenti con forte correlazione.
c) Individuazione del primo draft di come le variabili indipendenti verranno utilizzate nel modello sulla base delle
precedenti iterazioni
d) Sulla base dei modelli scelti e dell’insieme dei parametri che possono essere modificati inizia una fase iterativa
per individuare il miglior setting per ogni modello.
e) Definiti i modelli, quest’ultimi vengono valutati sui dati a disposizioni e dedicati a questi fase. Specifiche misure
vengono utilizzate per valutare le performance dei modelli.
f) Analisi quantitative, come ad esempio analisi dei residui, possono essere utilizzate per valutare ulteriormente i
modelli.
g) Successi vamente all’analisi dei risultati e all’individuazione dei limite dei modelli, una fase di affinamento dei
modelli può iniziare per migliorare ulteriormente le performance.
h) A questo punto i migliori modelli possono essere selezionati per le fasi successive.
i) I modelli selezionati possono essere valutati su quello che viene definito “test set”.
j) Il modello finale viene quindi utilizzato per prevedere istanze del problema mai incontrate.
ALCUNE INFORMAZIONI SU R
R is data analysis software: data scientists, statisticians, analysts and others who need to make sense of data use
R for statistical analysis, data visualization, and predictive modeling.
R is an environment for statistical analysis: Available in the R language are functions for virtually every data
manipulation, statistical model, or chart that the data analyst could ever need
R is a programming language: you do data analysis in R by writing scripts and functions in the R programming
language. R is a complete, interactive, objectoriented language: designed by statisticians, for statisticians.
R is an open-source software project. Not only does this mean that you can download and use R for free, but the
source code is also open for inspection and modification to anyone who wants to see how the methods and
algorithms work under the covers.
R is a community. The project leadership include more than 20 leading statisticians and computer scientists from
around the world. In addition, there are more then 2 million users worldwide.
PRO
• gratuito, multi-piattaforma,
• implementa la stragrande maggioranza degli algoritmi e delle procedure,
• statistiche attualmente disponibili,
• facilmente interfacciabile con quasi tutto,
• gestito dagli sviluppatori,
• comunità on-line ampia e viva,
• è un linguaggio di programmazione, quindi è molto flessibile.
CONTRO
• poco user-friendly,
• curva di apprendimento inizialmente ostica,
• è più linguaggio di programmazione che un tipico software di statistica.
• R può essere considerato come una implementazione di S (ambiente/ linguaggio per l’analisi dei dati), che è una
linguaggio sviluppato presso i BELL Laboratories della AT&T nel 1976
• All’inizio degli anni ‘90 R. Gentleman e R. Ihaka (University of Auckland, NZ) iniziano lo sviluppo di R
• Nel 1997 è nato l'R Development Core Team, gruppo formato da statistici di tutto il mondo che si occupano
dello sviluppo e della distribuzione del programma
• Vi è un nucleo centrale che contiene l’interprete di R e alcune funzionalità di base
• Tutte le altre funzionalità sono rese disponibili attraverso pacchetti (packages)
• Alcuni pacchetti (circa 25) sono presenti nella distribuzione base, come ad esempio: base, utils, stats, datasets,
graphics,grDevices,methods,boot,cluster,codetools,foreign,KernSmooth, lattice, mgcv, nlme, rpart, survival, MASS
• ci sono 2000 pacchetti, disponibili da utilizzatori di R (Contributed Packages), che riguardano "tutto il resto"
Rstudio, che è un ambiente di sviluppo (IDE) gratuito ed open source, che può essere utilizzato sul proprio
desktop (Windows, Mac, or Linux) o via web, utilizzando RStudio Server.
R “produce” due tipi di file:
.R, l’equivalente di un file di testo o di un file .m (contiene, ad esempio, le function)
.Rdata, raccoglie gli oggetti (ovvero la variabili, le matrici, i vettori che abbiamo creato). E’ l’equivalente di un .mat
• R è un linguaggio object-oriented
• Un oggetto è una “entità che R crea e manipola: variabili, matrici, stringhe di caratteri, funzioni...”
ESERCIZI
1. Operazioni aritmetiche ed algebriche
• Creare un vettore y che contenga gli elementi 7, 14, 21, 28, 35, 42. Estrarre il terzo elemento del vettore x e
stamparlo a video.
• Per ciascun valore di y, calcolare il logaritmo e la radice quadrata. Allocare entrambi i vettori rispettivamente in
x.log e x.sqrt.
• Calcolare la media, la mediana, la varianza e la deviazione standard di x. Calcolarne poi il coefficiente di
variazione. Calcolare infine la correlazione con il vettore y = {-2, 4, 13, -5, 43, 27}
2. Analisi descrittive
• Leggere il file “calcio.RData” in R.
• Verificare le tipologie di variabili presenti nel dataset calcio.
• Controllare se esistono dei dati mancanti nel dataset.
• Presentare una tabella indicante il numero di partite in casa effettuate da ciascuna squadra. Presentare poi la
stessa tabella in termini relativi (frequenze relative). Quali squadre hanno giocato maggiormente in Serie A? Quali
di meno?
• Rappresentare la variable HomeTeam con un grafico appropriato.
• Calcolare i principali indici descrittivi per la variabile B365H. Rappresentarla poi tramite istogramma ed il
boxplot. Sono presenti outlier? Da cosa è possibile intuirlo?
• Effettuare quindi la medesima analisi sulla trasformazione logaritmica di B365H. Sono presenti outliers?
DATA PREPARATION
Dopo la raccolta dei dati di interesse, la loro preparazione è un passo fondamentale nel processo di Data Mining.
Nella preparazione del dataset finale vanno controllati differenti aspetti delle variabili disponibili, come:
• Presenza di valori estremi (extreme values);
• Range di variazione delle variabili;
• Massimo e minimo di ogni variabile;
• Individuazione dei dati mancanti (missing value).
Necessità di normalizzazione dei dati
Normalizzazione
= ( – ()) / (() – ()) = 1, … ,
con
Standardizzazione
( )
–
= = = 1, … ,
con
MISSING VALUES
Uno dei più gravi problemi che si possono presentare durante l’analisi è la mancanza di dati per alcune variabili
(missing values).
La serietà del problema dipende essenzialmente dalla:
struttura dei dati mancanti: la struttura dei dati mancanti deve essere casuale, altrimenti è difficile generalizzare i
risultati che si ottengono; assumere l’andamento casuale è molto rischioso, è infatti sempre necessario testarlo
ammontare dei dati mancanti: se in un campione abbastanza grande i dati mancanti sono pochi il problema è quasi
irrilevante ed esistono molte tecniche risolutive; al contrario se i dati mancanti sono molti e il campione è di piccole
dimensioni il problema è piuttosto rilevante e difficilmente risolvibile
Missing completely at random (MCAR)
Il processo che ha determinato la non rilevazione è completamente indipendente dal valore mancante e da qualsiasi
altra variabile disponibile
Missing at random (MAR)
Il processo che ha determinato la non rilevazione è completamente indipendente dal valore mancante ma può
dipendere da altre variabili disponibili.
Not missing at random (NMAR)
La probabilità che un valore sia mancante è collegata alla variabile stessa di cui si stanno raccogliendo i valori.
Missing completely at random (MCAR)
Il processo che ha determinato la non rilevazione è completamente indipendente dal valore mancante e da qualsiasi
altra variabile disponibile
La probabilità che un certo valore per una data variabile sia missing è indipendente da qualsiasi altro valore per
qualsiasi altra variabile, missing o osservata.
Ovvero i valori missing values sono distribuiti aleatoriamente
Esempi
Esperimento : Avviamo più prove sperimentali con un ordine casuale. Le
concludiamo dopo 30 minuti.
Sondaggi : Chiediamo un numero di domande sorteggiate casualmente.
Limitiamo al 30% del campione (casuale) un certo item
Data entry : Inseriamo gli item in disordine sorteggiandoli dal mucchio.
Fermiamo l’inserimento dati a intervalli aleatori.
Missing at random (MAR)
Il processo che ha determinato la non rilevazione è comp
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.