Introduzione ai Big Data e alla scienza dei dati - I formati dati

Post on 16-Jan-2017

874 views 0 download

transcript

INTRODUZIONE AI BIG DATA E ALLA SCIENZA DEI DATI

Vincenzo Manzoni vincenzomanzoni.com | me@vincenzomanzoni.com

Lezione 1 Introduzione al corso; I principali formati dei dati;

Analisi esplorativa dei dati con Excel e SQL.

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

I PARTECIPANTI

2

6

9

Corsisti Uditori

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

DEFINIZIONI

3

Introduzione ai Big Data e alla scienza dei dati

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

DEFINIZIONI

Big Data n. Computing data of a very large size, typically to the extent that its manipulation and management present significant logistical challenges; (also) the branch of computing involving such data (Oxford English Dictionary, 2013).

3

Introduzione ai Big Data e alla scienza dei dati

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

DEFINIZIONI

Big Data n. Computing data of a very large size, typically to the extent that its manipulation and management present significant logistical challenges; (also) the branch of computing involving such data (Oxford English Dictionary, 2013).

3

Introduzione ai Big Data e alla scienza dei dati

Scienza dei dati (Data Science)n. è lo studio su come estrarre conoscenza dai dati.

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

Cosa pensate che faccia uno scienziato dei dati nel suo lavoro quotidiano?

4

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

WORKFLOW

5

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

WORKFLOW

5

Dati grezzi (raw)

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

WORKFLOW

5

Dati grezzi (raw)

Processing

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

WORKFLOW

5

Dati grezzi (raw)

Processing

Dataset

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

WORKFLOW

5

Dati grezzi (raw)

Processing

Dataset

Acquisizione

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)

Acquisizione

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)

Acquisizione

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)

Acquisizione Elaborazione

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

Acquisizione Elaborazione

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

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

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

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

IL CORSO

6

Quando Argomenti

sab 5 apr, 9-13 Introduzione; Fondamenti di programmazione per l’analisi dati; Installazione e configurazione degli strumenti; Acquisizione di dati da file di testo; Elaborazioni.

sab 12 apr, 9-13 Acquisire dati da diverse fonti (fogli Excel, JSON, SQL); Chiamare API su internet; Data cleaning.

sab 3 mag, 9-13 Analizzare i dati in modo statistico; Fondamenti di Machine Learning: Regressione lineare, Classificazione supervisionata e non supervisionata.

sab 10 mag, 9-13 BigData; Hadoop e Map Reduce; Hive e Pig.

sab 17mag, 9-13 Usare il cloud per analizzare Big Data.

Il programma

Il sitohttp://www.vincenzomanzoni.com/corsi

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

LEZIONE 1 AGENDA

1. I principali formati dei dati • Excel • CSV • Database

2. Analisi esplorativa dei dati • Excel • SQL

7

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

I PRINCIPALI FORMATI DEI DATI

8

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

I DATI I PRINCIPALI FORMATI

9

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

I DATI I PRINCIPALI FORMATI

9

Dati

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

I DATI I PRINCIPALI FORMATI

9

Strutturati Non strutturati

Dati

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

I DATI I PRINCIPALI FORMATI

9

Strutturati Non strutturatiFile di testo, documenti di word

Dati

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

I DATI I PRINCIPALI FORMATI

9

Strutturati Non strutturatiFile di testo, documenti di word

Dati

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

I DATI I PRINCIPALI FORMATI

9

Strutturati Non strutturati

Table-based Markup-basedFile di testo, documenti di word

Dati

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

I DATI I PRINCIPALI FORMATI

9

Strutturati Non strutturati

Table-based Markup-based

Excel CSV

Database SQL

File di testo, documenti di word

Dati

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

I DATI I PRINCIPALI FORMATI

9

Strutturati Non strutturati

Table-based Markup-based

Excel CSV JSON XML

Database SQL

File di testo, documenti di word

Dati

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

IL DATASET D’ESEMPIO TITANIC

10

Campo Significatosurvival Sopravvissuto. 0 = no, 1 = sìpclass Classe (1, 2 o 3)name Nome e Cognomesex Sessoage Età

sibsp Fratelli o coniugi a bordoparch Genitori o figli a bordoticket Numero di bigliettofare Tariffcacabin Numero della cabina

embarked Porto di imbarco (C = Cherbourg, Q = Queenstown, S=Southampton)

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

I FORMATI TABLE-BASED FILE EXCEL (1/2)

11

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

I FORMATI TABLE-BASED FILE EXCEL (2/2)

12

Pro Contro

Formato molto diffuso Non è adatto per contenuti di grandi dimensioni (> 100 MB)

Esistono lettori proprietari (es. Microsoft Office) e open source (Libre Office, Openoffice)

Non è adatto per dati non tabellari (ovvero, in cui le righe non hanno lo stesso numero di colonne)

E’ possibile creare campi calcolati sulla base di altri

Richiede un software specifico per essere visualizzato

Grafici

Dati tipizzatiMolti tipi di dato: numero testo, valuta, percentuale, data e ora

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

IL NOSTRO LABORATORIO MACCHINA VIRTUALE SU VIRTUALBOX

13

VirtualBox è un software per l’esecuzione di macchine virtuali. !Per il corso, sarà disponibile una macchina virtuale basata su Linux con tutto il software pre-installato.

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

INSTALLAZIONE DI VIRTUALBOXInstallazione di VirtualBox e caricamento della macchina

virtuale !

(nome utente: bigdata password: bigdata)

14

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

ESERCIZIO 1.1 FILE EXCEL

• Aprire il foglio Excel titanic.xlsx • Attraverso i filtri, calcolare quanti maschi minorenni si sono

salvati. • Attraverso una tabella pivot, calcolare quante femmine delle

terza classe di sono salvate.

15

Durata esercizio: 15 minuti

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

ESERCIZIO 1.1: SOLUZIONE FILE EXCEL

• Maschi minorenni salvati: 18 • Femmine di terza classe salvate: 72

16

Durata esercizio: 15 minuti

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

I FORMATI TABLE-BASED FILE CSV (1/3)

• File di testo • CSV significa Comma Separated Values, ovvero valori separati da

virgola. Il separatore può essere diverso (ad esempio, punto e virgola, tabulazione, spazio).

• A volta i campi di testo sono racchiusi tra virgolette “”. • Solitamente nella prima riga ci sono i nomi dei campi.

17

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

I FORMATI TABLE-BASED FILE CSV (2/3)

18

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

I FORMATI TABLE-BASED FILE CSV (2/3)

18

Prima riga: nome dei campi

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

I FORMATI TABLE-BASED FILE CSV (2/3)

18

Prima riga: nome dei campi

Separatore: virgola

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

I FORMATI TABLE-BASED FILE CSV (2/3)

18

Prima riga: nome dei campi

Separatore: virgola

Testo raggruppato tra virgolette

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

I FORMATI TABLE-BASED FILE CSV (3/3)

19

Pro Contro

SempliceNon è adatto per dati non tabellari (ovvero, in cui le righe non hanno lo stesso numero di colonne)

E’ un file di testo, pertanto è sufficiente un editor di testo per visualizzarlo e modificarlo I dati non sono tipizzati

Le operazioni sui file sono supportate nativamente dalla maggior parte dei linguaggi di programmazione.

Esiste la possibilità di fare errore durante l’importazione

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

ESERCIZIO 1.2 FILE CSV

• Importare in Excel il file titanic.csv • Verificare che i tipi di dato inferti da Excel siano corretti.

20

Durata esercizio: 5 minuti

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

I FORMATI TABLE-BASED DATABASE RELAZIONALI E SQL (1/4)

• Database relazionale • Collezione di dati organizzati secondo il modello relazione

(a tabelle). • DBMS: applicazione che fa da mediatore tra i dati e l’utente.

• Linguaggio SQL • Structured Query Language, ovvero linguaggio di

interrogazione strutturato. • Linguaggio dichiarativo: si specifica cosa si vuole e non come

lo si vuole21

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

I FORMATI TABLE-BASED DATABASE RELAZIONALI E SQL (2/4)

• Selezione: scelta delle righe SELECT  *FROM  tab1WHERE  A  >  1  

• Proiezione: scelta delle colonne SELECT  A,  B,  DFROM  tab1  

• Join: congiunzione di righe da più tabelle SELECT  *FROM  tab1  INNER  JOIN  tab2  ON  tab1.id  =  tab2.id

22

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

I FORMATI TABLE-BASED DATABASE RELAZIONALI E SQL (3/4)

• Funzioni di aggregazione SELECT  A,  AVG(B)  FROM  tab1GROUP  BY  A  

• Selezione su dati aggregati SELECT  A,  AVG(B)  FROM  tab1GROUP  BY  AHAVING  AVG(B)  >  5  

• Ordinamento dei risultati SELECT  *FROM  tab1ORDER  BY  B

23

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

I FORMATI TABLE-BASED DATABASE RELAZIONALI E SQL (4/4)

24

Pro ControSono progettati per gestire grandi quantità di dati. Difficili da amministrare correttamente.

Possiedono un linguaggio di query (SQL). I dati hanno una struttura rigida, tabellare.Sono supportati da tutti i linguaggi di programmazione,

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

IL DATABASE DEL CORSO MYSQL

• Database relazione open source • Esiste la versione per Windows e per Linux • Ampiamente usato in ambiente web (è il database

usato da facebook!)

25

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

ACCESSO A MYSQLCliccare su MySQL Workbench per aprire l’applicazione

per interrogare il database26

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

ESERCIZIO 1.3 DATABASE RELAZIONALE E LINGUAGGIO SQL

1. Selezionare, dalla tabella titanic, tutti i dati delle donne che si sono salvate. Ordinare i risultati per nome.

2. Selezionare il nome e cognome e l’età degli uomini che non si sono salvati. 3. Mostrare l’età media delle donne e degli uomini che si sono salvati. 4. Mostrare quante persone si sono imbarcate per porto. Il nome del porto

deve essere mostrato per intero (e.g. invece di S, mostrare Southampton).

5. Bonus point! Mostrare le cabine in cui c’erano 2 persone.

27

Durata esercizio: 20 minuti

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

ESERCIZIO 1.3: SOLUZIONE DATABASE RELAZIONALE E LINGUAGGIO SQL

1.SELECT  *  FROM  titanic  WHERE  sex  =  ‘female’  AND  survived  =  1  ORDER  BY  Name  

2.SELECT  Name,  AgeFROM  titanicWHERE  sex  =  ‘male’  AND  survived  =  0  

3.SELECT  sex,  AVG(age)FROM  titanicGROUP  BY  sex  

4.SELECT  city.name,  COUNT(*)FROM  titanic  INNER  JOIN  city  ON  titanic.embarked  =  city.idcity  

5.SELECT  cabin,  COUNT(*)FROM  titanicGROUP  BY  cabinHAVING  COUNT(*)  =  2

28

Durata esercizio: 30 minuti

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

ESERCIZI

• Database • Restituire, per ogni azione, il valore minimo,

medio e massimo del maggio 2000. • Restituire le azioni il cui valore medio è stato

superiore a 200 $.

29

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

LINK UTILI

• Dataset Titanic: http://www.kaggle.com/c/titanic-gettingStarted/data • Guida ai comandi SQL: http://www.uniss.it/documenti/formazione/

Guida_DataBase_SQL.pdf (da pagina 40). • VirtualBox (il software di virtualizzazione): https://www.virtualbox.org • Database MySQL: https://www.mysql.it • MySQL Workbench (software per interrogare MySQL): http://

www.mysql.it/products/workbench/

30

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

LA PROSSIMA LEZIONE AGENDA

1. Formati dati 1. JSON 2. XML

2. Introduzione a R 3. Analisi esplorativa dei dati con R 4. Data cleaning 5. Ottenere i dati attraverso le API

31