際際滷

際際滷Share a Scribd company logo
Data Analysis &
Machine Learning
DataAnalysis&MachineLearningDataAnalysis&MachineLearning
2
AgendaAbout
Hello,
nice to meet
you.
We are Caffeina
a Creative Digital Agency
DataAnalysis&MachineLearning
3
DataAnalysis&MachineLearning
Who are we?
Stefano Azzolini
Chief Technology Officer
@lastguest
Valentina Ciavarella
R&I Supervisor
@valentinaciav
DataAnalysis&MachineLearning
4
DataAnalysis&MachineLearning
Perch辿
siamo qui.
Per rompere gli schermi.
Superare insieme i limiti dei dispositivi e
conoscerci. Imparare ascoltando le
esperienze, confrontarci.
DataAnalysis&MachineLearning
5
DataAnalysis&MachineLearning
2.5 +29%Quintillion bytes of
data/every day
90% dei dati esistenti 竪
stato creato solo negli
ultimi due anni.
Grow rate data
from 2012 to 2020
Nuovi dispositivi, sensori e
tecnologie accelereranno il
tasso di crescita dei dati.
Data In the World
Qual 竪 lattuale stato
dei dati
nel mondo?
Sistemi artificiali e Data Center
I progressi tecnologici in ambito computazionale e
della potenza di calcolo, stanno spingendo i leader
della trasformazione digitale ad investire sempre pi湛 in
infrastrutture, Storage flash e strumenti di gestione dei
dati.
DataAnalysis&MachineLearning
6
DataAnalysis&MachineLearning
Data are just summaries of
thousands of stories  tell a few of
those stories to help make the data
meaningful.
 Chip & Dan Heath
DataAnalysis&MachineLearning
7
DataAnalysis&MachineLearning
Michele Vitali
Project leader & Statistics team
leader
Luca Fontanili
Computer Engineer
Sergey Antopolskiy
Data scientist
Lasciamo la parola a
Todays Speaker
Alessandro Cucci
Python Expertise Manager
DataAnalysis&MachineLearning
Agenda
8
01. Data Science and AI
02. Git for Data Science
03. Sentiment Analysis
04. Introduction to Data Visualization
DataAnalysis&MachineLearning
Data Science and AI
Michele Vitali
La comunit di Data Science, Machine Learning e
Artificial Intelligence a Parma:
 Meet up
 Events
About us
 Interagire con altre comunit
 E tutto ci嘆 che ci viene in mente ...
About us
Pics by Anna Marzo Photography
Evento DS&AI Parma
@FabLab. Marzo 18
Telegram Channel:
Data Science and Artificial
Intelligence in Parma
https://t.me/joinchat/G1YIUB
A4t85VXTZzIwqIOw
Contatti
Facebook Page:
Data Science and Artificial
Intelligence in Parma
@DSAIinParma
Unisciti a noi e aiutaci a:
 Organizzare eventi
 Gestire Social Media
 Essere in contatto con la community
Be part of the community
Call for speakers
The three technical forces
DATA
COMPUTATIONAL POWER ALGORITHMS
Data science
Un campo interdisciplinare che attraverso diversi
metodi, processi e sistemi estrae conoscenze ed
informazioni dai dati.
Data science
COMPUTER
SCIENCE/ IT
MATH/
STATISTICS
DATA
SCIENCE
DOMAINS/
BUSINESS
KNOWLEDGE
Machine
Learning
Software/
Hardware
Development
Traditional
Research
Data scientist
 la figura responsabile della raccolta, analisi ed
interpretazione dei dati. Si pone tra scienza,
matematica, statistica e decodifica dei fenomeni
emergenti, reali e non, o simulati.
Alcuni esempi
DATA VISUALIZATION
SENTIMENT ANALYSIS
FACE DETECTION
RECOMMENDER SYSTEMS
Some cases - Data Visualization
Accurat for Corriere della Sera
A series of experimental data
visualizations for the weekly
cultural supplement of the
largest Italian newspaper
Netflix- Recommender Systems
 125 Million subscribers
 200 countries
 1 Billion hours video watch per week
IBM- Social analytics help retailers meet demand
Q&A
Control your code
Luca Fontanili
Git
Un progetto in solitaria
Il flusso di sviluppo 竪 semplice:
 Totale controllo delle modifiche apportate ai singoli file
 Nessun rischio di modifiche concorrenti
Manca comunque qualcosa:
 Nessuna traccia delle versioni precedenti (se non con la famigerata
tecnica driver_new_YYYYMMDD_v2_last.py)
 Nessuna possibilit di branch di sviluppo paralleli
Aumentiamo gli sviluppatori
Quando si 竪 in due
 Rischio di modifiche concorrenti allo stesso file
 Numero maggiore di modifiche ai singoli file, i.e. maggior rischio di
introduzione bug
 "L'hai fatto tu o l'ho fatto io?"
Aumentiamo ancora:
 Crescita esponenziale dei problemi precedentemente descritti
 "Chi l'ha fatto?", "Chi l'ha tolto?"
Qualche use case
1 - Singolo sviluppatore: introduzione di bug
Il contesto:
 Si vuole aggiungere una feature al nostro progetto
 Necessario modificare alcuni file/classi gi funzionanti
 Mancanza di test suite porta ad introduzione bug
 Deploy della nuova versione
 Bug
Il problema:
 Come recupero le modifiche implementate?
2 - Pi湛 sviluppatori: condivisione del codice
Il contesto:
 2 o pi湛 sviluppatori sullo stesso progetto
 Una macchina ognuno
Il problema:
 Come possono avere tutti il codice sempre aggiornato alle ultime
modifiche? (Google Drive)
3 - Pi湛 sviluppatori: sviluppo parallelo
Il contesto:
 2 o pi湛 sviluppatori
 Ognuno vuole sviluppare la nuova feature
 Lo sviluppo non parte in concomitanza (casi reali)
Il problema:
 Che versione del codice utilizzano?
 Come si sincronizzano le modifiche?
La soluzione
Cosa 竪 Git
 Versioning control system
 Permette di tracciare modifiche apportate ai file (di un progetto)
 Permette branch di sviluppo paralleli nel team
 Permette a pi湛 persone di modificare concorrentemente lo stesso file senza conflitti
Un po' di info
 Creato nel 2005 da Linus Torvalds
 Utilizzato da Google, Facebook, Microsoft, Netflix etc
 Sito ufficiale: https://git-scm.com/
 Pro Git ebook (free)
Perch辿 Git
 Distribuito: non 竪 necessario avere un server configurato, si pu嘆 avere la
potenza del versioning in locale
 Semplice: 竪 sufficiente conoscere un numero esiguo di comandi per
poter utilizzare appieno le potenzialit di git
 Veloce: poich辿 quasi tutte le operazioni sono performate localmente, si
minimizza la necessit di comunicare con il server
(https://git-scm.com/about/small-and-fast)
Soluzioni pratiche ai problemi noti
Vediamo l'utilizzo di git in pratica per risolvere i problemi fin qui descritti.
Per le dimostrazioni pratiche, scaricare il repository presente al link
https://github.com/lucafon/DS-AI-Parma
 Aprire il terminale
 Creare una cartella di destinazione
mkdir /path/to/destination/folder
 Clonare il repository
git clone https://github.com/lucafon/DS-AI-Parma.git
1 - Singolo sviluppatore: introduzione di bug
Con git, e i vari client anche embedded in alcuni IDE,
  molto semplice recuperare lo storico delle modifiche
  possibile eseguire multiple commit, arrivando a versioni stabili e prive di bug
 In caso di introduzione di regressioni, si pu嘆 eseguire un rollback veloce alla versione
funzionante
In pratica:
 Al link https://github.com/lucafon/DS-AI-Parma/blob/master/Git/driver.py 竪 possibile vedere le
modifiche apportate tra una commit e l'altra
  possibile eseguire una "commit" (e "push") delle modifiche marcare l'evolversi del file
git commit -m "Descrizione modifiche apportate"
2 - Pi湛 sviluppatori: condivisione del codice
 possibile caricare su un repository remoto il codice, in questo modo:
 Tutti gli sviluppatori possono accedere alla versione pi湛 aggiornata del codice con il minimo
sforzo
 I file/le classi aggiornati sono disponibili al download immediatamente dopo il caricamento sul
repository
In pratica:
 Lo sviluppatore A esegue una modifica, tutti gli altri sviluppatori possono eseguire una "fetch"
e una "pull" per scaricare le modifiche
git pull
3 - Pi湛 sviluppatori: sviluppo parallelo
Ogni sviluppatore pu嘆 "staccare un branch", ovvero un ramo di sviluppo per
implementare e testare le modifiche indipendentemente
 Non si disturba il lavoro degli altri sviluppatori
 Si possono eseguire "merge" delle modifiche applicate sul proprio branch
In pratica:
 Ogni sviluppatore apre un branch di sviluppo
git checkout -b branch_name
 Sul proprio branch si pu嘆 agire indisturbatamente
Un flusso comune (semplice)
Git 4 Data Science
Contribuire alla community
 Per contribuire ad un progetto 竪 possibile eseguire un "fork"
 Viene creata una copia locale nel proprio namespace per operare tranquillamente
 Di solito si segue il flow
a. Fork del progetto
b. Creazione branch master
c. Applicare modifiche
d. Push delle modifiche sul proprio branch
e. Apertura Pull Request su GitHub
f. Merge della Pull Request
 https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
nbdime
 nbdime permette di vedere differenze e mergiare facilmente
Jupyter notebooks
 Possibilit di integrare nbdime con git in modo da gestire
meglio i Jupyter notebooks
 https://nbdime.readthedocs.io/en/stable/
Q&A
Q&A
www.alessandrocucci.it/caffeina
Sergey Antopolskiy
Introduction to data
Visualization
You can follow my presentation here:
https://github.com/antopolskiy/caffeina-data-vis
Q&A
Data Analysis &
Machine Learning

More Related Content

Data Analysis & Machine Learning

  • 3. DataAnalysis&MachineLearning 3 DataAnalysis&MachineLearning Who are we? Stefano Azzolini Chief Technology Officer @lastguest Valentina Ciavarella R&I Supervisor @valentinaciav
  • 4. DataAnalysis&MachineLearning 4 DataAnalysis&MachineLearning Perch辿 siamo qui. Per rompere gli schermi. Superare insieme i limiti dei dispositivi e conoscerci. Imparare ascoltando le esperienze, confrontarci.
  • 5. DataAnalysis&MachineLearning 5 DataAnalysis&MachineLearning 2.5 +29%Quintillion bytes of data/every day 90% dei dati esistenti 竪 stato creato solo negli ultimi due anni. Grow rate data from 2012 to 2020 Nuovi dispositivi, sensori e tecnologie accelereranno il tasso di crescita dei dati. Data In the World Qual 竪 lattuale stato dei dati nel mondo? Sistemi artificiali e Data Center I progressi tecnologici in ambito computazionale e della potenza di calcolo, stanno spingendo i leader della trasformazione digitale ad investire sempre pi湛 in infrastrutture, Storage flash e strumenti di gestione dei dati.
  • 6. DataAnalysis&MachineLearning 6 DataAnalysis&MachineLearning Data are just summaries of thousands of stories tell a few of those stories to help make the data meaningful. Chip & Dan Heath
  • 7. DataAnalysis&MachineLearning 7 DataAnalysis&MachineLearning Michele Vitali Project leader & Statistics team leader Luca Fontanili Computer Engineer Sergey Antopolskiy Data scientist Lasciamo la parola a Todays Speaker Alessandro Cucci Python Expertise Manager
  • 8. DataAnalysis&MachineLearning Agenda 8 01. Data Science and AI 02. Git for Data Science 03. Sentiment Analysis 04. Introduction to Data Visualization DataAnalysis&MachineLearning
  • 9. Data Science and AI Michele Vitali
  • 10. La comunit di Data Science, Machine Learning e Artificial Intelligence a Parma: Meet up Events About us
  • 11. Interagire con altre comunit E tutto ci嘆 che ci viene in mente ... About us
  • 12. Pics by Anna Marzo Photography Evento DS&AI Parma @FabLab. Marzo 18
  • 13. Telegram Channel: Data Science and Artificial Intelligence in Parma https://t.me/joinchat/G1YIUB A4t85VXTZzIwqIOw Contatti Facebook Page: Data Science and Artificial Intelligence in Parma @DSAIinParma
  • 14. Unisciti a noi e aiutaci a: Organizzare eventi Gestire Social Media Essere in contatto con la community Be part of the community
  • 16. The three technical forces DATA COMPUTATIONAL POWER ALGORITHMS
  • 17. Data science Un campo interdisciplinare che attraverso diversi metodi, processi e sistemi estrae conoscenze ed informazioni dai dati.
  • 19. Data scientist la figura responsabile della raccolta, analisi ed interpretazione dei dati. Si pone tra scienza, matematica, statistica e decodifica dei fenomeni emergenti, reali e non, o simulati.
  • 20. Alcuni esempi DATA VISUALIZATION SENTIMENT ANALYSIS FACE DETECTION RECOMMENDER SYSTEMS
  • 21. Some cases - Data Visualization Accurat for Corriere della Sera A series of experimental data visualizations for the weekly cultural supplement of the largest Italian newspaper
  • 22. Netflix- Recommender Systems 125 Million subscribers 200 countries 1 Billion hours video watch per week
  • 23. IBM- Social analytics help retailers meet demand
  • 24. Q&A
  • 25. Control your code Luca Fontanili Git
  • 26. Un progetto in solitaria Il flusso di sviluppo 竪 semplice: Totale controllo delle modifiche apportate ai singoli file Nessun rischio di modifiche concorrenti Manca comunque qualcosa: Nessuna traccia delle versioni precedenti (se non con la famigerata tecnica driver_new_YYYYMMDD_v2_last.py) Nessuna possibilit di branch di sviluppo paralleli
  • 27. Aumentiamo gli sviluppatori Quando si 竪 in due Rischio di modifiche concorrenti allo stesso file Numero maggiore di modifiche ai singoli file, i.e. maggior rischio di introduzione bug "L'hai fatto tu o l'ho fatto io?" Aumentiamo ancora: Crescita esponenziale dei problemi precedentemente descritti "Chi l'ha fatto?", "Chi l'ha tolto?"
  • 29. 1 - Singolo sviluppatore: introduzione di bug Il contesto: Si vuole aggiungere una feature al nostro progetto Necessario modificare alcuni file/classi gi funzionanti Mancanza di test suite porta ad introduzione bug Deploy della nuova versione Bug Il problema: Come recupero le modifiche implementate?
  • 30. 2 - Pi湛 sviluppatori: condivisione del codice Il contesto: 2 o pi湛 sviluppatori sullo stesso progetto Una macchina ognuno Il problema: Come possono avere tutti il codice sempre aggiornato alle ultime modifiche? (Google Drive)
  • 31. 3 - Pi湛 sviluppatori: sviluppo parallelo Il contesto: 2 o pi湛 sviluppatori Ognuno vuole sviluppare la nuova feature Lo sviluppo non parte in concomitanza (casi reali) Il problema: Che versione del codice utilizzano? Come si sincronizzano le modifiche?
  • 33. Cosa 竪 Git Versioning control system Permette di tracciare modifiche apportate ai file (di un progetto) Permette branch di sviluppo paralleli nel team Permette a pi湛 persone di modificare concorrentemente lo stesso file senza conflitti Un po' di info Creato nel 2005 da Linus Torvalds Utilizzato da Google, Facebook, Microsoft, Netflix etc Sito ufficiale: https://git-scm.com/ Pro Git ebook (free)
  • 34. Perch辿 Git Distribuito: non 竪 necessario avere un server configurato, si pu嘆 avere la potenza del versioning in locale Semplice: 竪 sufficiente conoscere un numero esiguo di comandi per poter utilizzare appieno le potenzialit di git Veloce: poich辿 quasi tutte le operazioni sono performate localmente, si minimizza la necessit di comunicare con il server (https://git-scm.com/about/small-and-fast)
  • 35. Soluzioni pratiche ai problemi noti Vediamo l'utilizzo di git in pratica per risolvere i problemi fin qui descritti. Per le dimostrazioni pratiche, scaricare il repository presente al link https://github.com/lucafon/DS-AI-Parma Aprire il terminale Creare una cartella di destinazione mkdir /path/to/destination/folder Clonare il repository git clone https://github.com/lucafon/DS-AI-Parma.git
  • 36. 1 - Singolo sviluppatore: introduzione di bug Con git, e i vari client anche embedded in alcuni IDE, molto semplice recuperare lo storico delle modifiche possibile eseguire multiple commit, arrivando a versioni stabili e prive di bug In caso di introduzione di regressioni, si pu嘆 eseguire un rollback veloce alla versione funzionante In pratica: Al link https://github.com/lucafon/DS-AI-Parma/blob/master/Git/driver.py 竪 possibile vedere le modifiche apportate tra una commit e l'altra possibile eseguire una "commit" (e "push") delle modifiche marcare l'evolversi del file git commit -m "Descrizione modifiche apportate"
  • 37. 2 - Pi湛 sviluppatori: condivisione del codice possibile caricare su un repository remoto il codice, in questo modo: Tutti gli sviluppatori possono accedere alla versione pi湛 aggiornata del codice con il minimo sforzo I file/le classi aggiornati sono disponibili al download immediatamente dopo il caricamento sul repository In pratica: Lo sviluppatore A esegue una modifica, tutti gli altri sviluppatori possono eseguire una "fetch" e una "pull" per scaricare le modifiche git pull
  • 38. 3 - Pi湛 sviluppatori: sviluppo parallelo Ogni sviluppatore pu嘆 "staccare un branch", ovvero un ramo di sviluppo per implementare e testare le modifiche indipendentemente Non si disturba il lavoro degli altri sviluppatori Si possono eseguire "merge" delle modifiche applicate sul proprio branch In pratica: Ogni sviluppatore apre un branch di sviluppo git checkout -b branch_name Sul proprio branch si pu嘆 agire indisturbatamente
  • 39. Un flusso comune (semplice)
  • 40. Git 4 Data Science
  • 41. Contribuire alla community Per contribuire ad un progetto 竪 possibile eseguire un "fork" Viene creata una copia locale nel proprio namespace per operare tranquillamente Di solito si segue il flow a. Fork del progetto b. Creazione branch master c. Applicare modifiche d. Push delle modifiche sul proprio branch e. Apertura Pull Request su GitHub f. Merge della Pull Request https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
  • 42. nbdime nbdime permette di vedere differenze e mergiare facilmente Jupyter notebooks Possibilit di integrare nbdime con git in modo da gestire meglio i Jupyter notebooks https://nbdime.readthedocs.io/en/stable/
  • 43. Q&A
  • 46. You can follow my presentation here: https://github.com/antopolskiy/caffeina-data-vis
  • 47. Q&A

Editor's Notes

  1. Caffeina 竪 unagenzia digitale creativa indipendente. Crediamo che il digitale sia un nuovo layer sul quale le aziende possono evolvere e costruire tutto quello che fanno nellorganizzazione. E crediamo che rappresenti anche una rivoluzione che sta impattando e cambiando tutto sia nelle aziende che nelle vite delle persone.
  2. Entro i prossimi 12 mesi, i partecipanti allo State of the Data Center hanno affermato che sono pi湛 propensi a implementare o prendere in considerazione l'implementazione di storage flash (70%), infrastruttura hyperconverged (56%), strumenti di gestione e orchestrazione di container Linux (51%), BYOD - Porta il tuo dispositivo (51%) e SDN (48%) e il software cloud OpenStack (48%).
  3. I dati sono solo riassunti di migliaia di storie: raccontare alcune di quelle storie per rendere i dati significativi.
  4. Google, Cerved, Data Reply, H2O, Orobix
  5. https://towardsdatascience.com/introduction-to-statistics-e9d72d818745
  6. https://www.accurat.it/works/la-lettura/
  7. https://expandedramblings.com/index.php/netflix_statistics-facts/
  8. Social analytics help retailers meet demand - https://www.youtube.com/watch?v=kQh175Crxbw
  9. Social analytics help retailers meet demand - https://www.youtube.com/watch?v=kQh175Crxbw
  10. git push --set-upstream origin feature/luca Git add Git commit Git push
  11. Social analytics help retailers meet demand - https://www.youtube.com/watch?v=kQh175Crxbw
  12. Social analytics help retailers meet demand - https://www.youtube.com/watch?v=kQh175Crxbw
  13. Social analytics help retailers meet demand - https://www.youtube.com/watch?v=kQh175Crxbw
  14. Social analytics help retailers meet demand - https://www.youtube.com/watch?v=kQh175Crxbw