Introduzione ai Big Data e alla scienza dei dati - Machine Learning

44
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.

Transcript of Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Page 1: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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.

Page 2: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 3: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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)

Page 4: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

MACHINE LEARNING

4

Page 5: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 6: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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.

Page 7: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 8: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 9: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

MACHINE LEARNING APPRENDIMENTO SUPERVISIONATO

9

Page 10: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 11: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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.

Page 12: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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?

Page 13: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 14: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

?

Page 15: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 16: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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)

Page 17: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

MACHINE LEARNING APPRENDIMENTO NON SUPERVISIONATO

17

Page 18: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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.

Page 19: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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?

Page 20: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 21: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 22: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

APPRENDIMENTO SUPERVISIONATO REGRESSIONE LINEARE

22

Page 23: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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.

Page 24: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

IRIS RELAZIONE TRA LE VARIABILI

24

Page 25: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

IRIS RELAZIONE TRA LARGHEZZA E LUNGHEZZA PETALO

25

Page 26: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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?

Page 27: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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  

Page 28: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 29: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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/

Page 30: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 31: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 32: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

APPRENDIMENTO SUPERVISIONATO K-NEAREST NEIGHBORS

32

Page 33: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 34: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 35: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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.

Page 36: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

APPRENDIMENTO SUPERVISIONATO ALBERI DI DECISIONE

36

Page 37: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 38: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 39: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

APPRENDIMENTO NON SUPERVISIONATO K-MEANS

39

Page 40: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 41: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 42: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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

Page 43: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni

LIBRO DI RIFERIMENTO

43

Page 44: Introduzione ai Big Data e alla scienza dei dati - Machine Learning

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