Upload
vincenzo-manzoni
View
914
Download
0
Embed Size (px)
Citation preview
INTRODUZIONE AI BIG DATA E ALLA SCIENZA DEI DATI
Vincenzo Manzoni vincenzomanzoni.com | [email protected]
Lezione 3 Machine Learning; Regressione; Classificazione supervisionata e
non supervisionata (clustering); Sistemi di raccomandazione.
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 2.3 CONSEGNA
• Il dataset Orange (per informazioni, ?Orange) contiene la misura della circonferenza di 5 alberi di arancia nel tempo. Verificare graficamente se esiste una relazione tra età in giorni e circonferenza.
• Il dataset movies (per informazioni, ?movies) contiene informazioni sui film. • Individuare in che anno è stato girato il primo film in catalogo. • Qual è la media di durata. • Visualizzare il numero di film per anno.
2
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 2.3 SOLUZIONE
3
library(ggplot2) !qplot(x=age, y=circumference, data=Orange) qplot(x=age, y=circumference, data=Orange, geom=c("point", "smooth"), method="lm") !# Anno del primo film min(movies$year) !# Durata media mean(movies$length) !# Numero di film per anno qplot(x=year, data=movies)
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING
4
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
WORKFLOW
5
Dati grezzi (raw)
Processing
Dataset
Modelli statistici (Analisi)
Machine Learning (Previsione)
Data driven products
Report, visualizzazioni, post su blog
Acquisizione Elaborazione Output
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING DEFINIZIONE
6
• In italiano, apprendimento automatico • Area dell’Intelligenza Artificiale (AI, Artificial Intelligence) che
studia gli algoritmi che permettono alle macchine di apprendere. • Gli algoritmi si basano su osservazioni - dati - per fare la sintesi
della conoscenza.
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING PROCESSO DI ADDESTRAMENTO
7
Creazione degli insieme di addestramento e di test
Dataset
Insieme di addestramento
Insieme di test
Creazione del modello
Validazione del modello
Modello validato
Modello
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING PRINCIPALI TIPOLOGIE DI ALGORITMI
8
• Apprendimento supervisionato • Apprendimento non supervisionato
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING APPRENDIMENTO SUPERVISIONATO
9
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
10
x1
x2
?
A priori ho informazioni sulla classe (grigia o arancione) a cui appartengono le osservazioni.
A quale classe appartiene un nuovo punto, mai osservato, di cui non conosco a priori la classe? Problema di classificazione
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
11
x1
x2
Con un primo separatore, la nuova istanza viene attribuita alla classe arancione.
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
12
x1
x2
Con un secondo separatore, la nuova istanza viene attribuita alla classe grigia.
Esiste un separatore ottimo?
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
13
x1
x2
Gli algoritmi di apprendimento supervisionato permettono, dato un insieme di addestramento (training) di determinare il separatore ottimo secondo una certa funzione di costo.
Separatore ottimo secondo una certa funzione di costo
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE CONTINUA
14
Per un certo numero di punti, conosco la relazione che c’è tra la variabile indipendente x e la variabile dipendente y.
Quanto vale la y di un punto, di cui conosco solo la x? Problema di regressione
x
y
x1
?
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE CONTINUA
15
Gli algoritmi di regressione permettono, dato un insieme di addestramento, di determinare un modello dei dati (generalizzazione) con cui predire il valore della variabile dipendente associata a una nuova variabile indipendente.
x
y
x1
y1
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO DEFINIZIONI E ALGORITMI
16
• L’insieme di addestramento è costituito da esempi di cui si conoscono gli input e gli output.
• Durante la fase di addestramento, l’algoritmo impara ad associare agli input agli output, generalizzando la regola che li lega.
• Quando l’algoritmo vede un esempio di input che non ha mai visto, restituisce l’output più probabile.
• Algoritmi
• Regressione lineare ai minimi quadrati • Alberi di decisione • k-NN (k-Nearest Neighbors)
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING APPRENDIMENTO NON SUPERVISIONATO
17
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO NON SUPERVISIONATO
18
x1
x2
A priori, non ho informazioni sulla classe a cui appartengono le mie osservazioni.
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO NON SUPERVISIONATO
19
Anche in questo caso, si possono raggruppare i punti secondo criteri diversi.
x1
x2
x1
x2
Esiste un raggruppamento ottimo?
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO NON SUPERVISIONATO DEFINIZIONI E ALGORITMI
20
• Trovare struttura nascoste in dati non pre-classificati. • Determina gruppi di dati. • Possono essere gerarchici o piatti (flat) • Algoritmi
• k-means
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO AUTOMATICO VISIONE D’INSIEME
21
ApprendimentoSupervisionato Non supervisionato
Uscita da
stimare
Continua Regressione lineare k-NN
Discreta k-NN Alberi di decisione k-means
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO REGRESSIONE LINEARE
22
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
UN NUOVO DATASET: IRIS
23
install.packages('GGally', dependencies=TRUE)library(GGally)ggpairs(data=iris, colour='Species')
str(iris)'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 ...
Dataset compilato da Anderson che contiene i dati in centimetri di petali e sepali di tre diverse specie di iris.
Guardiamo le relazioni tra le variabili con il comando ggpairs.
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
IRIS RELAZIONE TRA LE VARIABILI
24
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
IRIS RELAZIONE TRA LARGHEZZA E LUNGHEZZA PETALO
25
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
REGRESSIONE LINEARE
26
Petal.Width = a + b x Petal.Length
Come si stimano in modo ottimo a e b?
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
REGRESSIONE LINEARE IN R
27
> lm_model <-‐ lm(Petal.Width ~ Petal.Length, data=iris) > summary(lm_model) !!!!!!!!!!> coefficients(lm_model)
Residuals: Min 1Q Median 3Q Max -‐0.56515 -‐0.12358 -‐0.01898 0.13288 0.64272 !Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -‐0.363076 0.039762 -‐9.131 4.7e-‐16 *** Petal.Length 0.415755 0.009582 43.387 < 2e-‐16 *** -‐-‐-‐ Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 !Residual standard error: 0.2065 on 148 degrees of freedom Multiple R-‐squared: 0.9271, Adjusted R-‐squared: 0.9266 F-‐statistic: 1882 on 1 and 148 DF, p-‐value: < 2.2e-‐16
(Intercept) Petal.Length -‐0.3630755 0.4157554
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 3.1
Usando il dataset mtcars, determinare il modello lineare che descrive il consumo (mpg) in funzione della potenza (hp).
28
Durata esercizio: 15 minuti
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
REGRESSIONE LINEARE WEKA
29
www.cs.waikato.ac.nz/ml/weka/
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
REGRESSIONE LINEARE RWEKA: WEKA VISTO DA R
• Il pacchetto RWeka permette di usare gli algoritmi di machine learning disponibili in Weka in R e di applicare facilmente i modelli a nuovi dati.
30
Weka Explorer per determinare il modello migliore
Calcolo del modello con RWeka
Calcolo del modello con RWeka
Insieme di addestramento
ModelloNuovi dati
Predizione
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
USO DI RWEKA REGRESSIONE LINEARE
31
Algoritmo (regressione lineare)Variabile da stimare /
dipendente Variabile indipendente
Predizione del modello applicato alla prima riga del dataset
# Al primo uso, installare il pacchetto RWeka install.packages('RWeka', dependencies=TRUE)library(RWeka)iris_rl <-‐ LinearRegression(Petal.Width ~ Petal.Length, data=iris)predict(iris_rl, iris[1,], type=c(“class"))
[1] 0.2189821
!
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO K-NEAREST NEIGHBORS
32
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
K-NEAREST NEIGHBORS
• Il riconoscimento avviene sulla base degli oggetti vicini a quello considerato. • Il parametro k indica quanti vicini considerare. • Può essere usato per stimare classi discrete
(classificazione) o variabili continue (regressione)
• In Weka, è classificato come IBk
33
x1
x2
k=1
k=5
k=2
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 3.2
Problema di classificazione
Attraverso Weka e l’algoritmo k-NN, creare un modello che stimi la specie dai dati del sepalo e petalo.
Cosa cambia al variare di k?
!
Problema di regressione
Attraverso Weka e l’algoritmo k-NN, che stimi la larghezza dei petali.
Cosa cambia al variare di k?
34
Durata esercizio: 20 minuti
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
LA MATRICE DI CONFUSIONE
35
PredettiSetosa Versicolor Virginica
Reali
Setosa 50 0 0
Versicolor 0 47 3
Virginica 0 4 46
47 Versicolor sono state classificate correttamente.
!3 sono state classificate
come Virginica.
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO ALBERI DI DECISIONE
36
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ALBERI DI DECISIONE
• E’ un algoritmo di classificazione trasparente. Una volta addestrato, è rappresentabile con una serie di se, allora, altrimenti.
• In Weka, gli algoritmi che implementano gli alberi di decisione sono J48 e SimpleCart.
37
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 3.3
Attraverso Weka, applicare gli alberi di decisione per creare un modello che stimi la classe della pianta dai suoi attributi.
!
Analizzare la qualità del modello e le regole che usa per classificare le piante.
38
Durata esercizio: 20 minuti
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO NON SUPERVISIONATO K-MEANS
39
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
CLUSTERING K-MEANS
• Suddivide un insieme di oggetti in k classi sulla base dei loro attributi.
• E’ necessario specificare il numero di classi a cui appartengono gli oggetti. Il più delle volte, è un’informazione nota.
• E’ un algoritmo iterativo.
40
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 3.4
Applicare l’algoritmo k-means al data set iris.
Le tre classi di Iris definiscono 3 cluster?
41
Durata esercizio: 20 minuti
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 3.5
Usando in dataset titanic, determinare un modello che predica quando un passeggero sopravviverà applicando uno dei modelli che abbiamo visto stamattina.
L’obiettivo è trovare il modello che meglio predica la sopravvivenza.
42
Durata esercizio: 15 minuti
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
LIBRO DI RIFERIMENTO
43
Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
LA PROSSIMA LEZIONE AGENDA
1. I sistemi di raccomandazione. 2. Analisi di Big Data: Map Reduce, Hadoop, Pig, Hive.
44