SlideShare a Scribd company logo
Introduzione al
Machine Learning
Michele Stecca, Ph.D.
Disclaimer
Questa presentazione è stata pensata e realizzata per l’insegnamento del Machine
Learning nelle scuole superiori.
Non ha la pretesa di essere una guida esaustiva sull’argomento ma deve essere
piuttosto vista come una introduzione per chi si avvicina al tema per la prima volta.
L’autore sarà più che felice di ricevere segnalazioni su eventuali errori e/o
inesattezze. Profilo Twitter: @steccami
Alcuni esempi pratici sviluppati in Python sono disponibili in questo repository:
https://github.com/steccami/school_python/
Due approcci diversi
Dati Storici
Etichette
Modello
ML come un processo
Data
Pre-Processing
Model
Training
Model
Evaluation/Scoring
Model
Deployment
Pre-processing
●
Scopo: preparare i dati di input
●
Pulizia dei dati!!!
– Gestione dei null
– Rimozione dati errati
– …
●
Feature engineering
– Riorganizzazione dei dati per arrivare ad
algoritmi più efficaci
Data
Pre-Processing
Training
●
Scopo: estrarre un modello matematico (cioè
l’algoritmo) dai dati storici
●
Regressione, Classificazione, Clustering
●
Esistono molti algoritmi diversi:
– Decision Tree
– Random Forest
– SVM
– Linear Regression
– Logistic Regression
– K-Means
– Vedi: https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
Model
Training
Evaluation
●
Scopo: capire l’efficacia del modello creato
●
Molte metriche:
– Precision
– Recall
– Accurancy
– Vedi:
https://en.wikipedia.org/wiki/Precision_and_recall
Model
Evaluation/Scoring
Deployment
●
Scopo: Messa in servizio / installazione del modello
●
Per es. Web Service
●
Si punta all’Automation
Model
Deployment
Come facciamo a capire se un
modello funziona bene o male?
Dove troviamo i dati “nuovi” per
capire se ha generalizzato bene?
Training e Testing Set
Model
Training
Modello
Generato
Automaticamente
Model
Evaluation/Scoring
Ricapitolando
Model
Training Modello
Generato
Automaticamente
Model
Evaluation/
Scoring
Dati Storici
(Pre-
elaborati)
Dati Storici
(Input)
Data
Pre-Processing
Model
Deployment
1
2 3a 3b
4
5
6
Model generation
●
Link interessante:
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
Regression
●
Approccio 1 – Linear Regression
Regression
●
Approccio 1 – Linear Regression
Under/Over fitting problem
Regression
Approccio 2 – Decision Tree
Nota: Non è un approccio geometrico
●
https://www.youtube.com/watch?v=eKD5gxPPeY0&list=PLBv09BD7ez_4temBw7vLA19p3tdQ
H6FYO
●
Altro esempio: http://www.r2d3.us/visual-intro-to-machine-learning-part-1/?lang=en
Regression
Approccio 3 – Random Forest
Classification
●
In realtà Linear Regression, Decision Tree e Random
Forest possono essere usati anche per la Classificazione
●
Esistono molti altri algoritmi (Logistic Regression, Naive
Bayes, ecc.)
Model Evaluation (Classification):
Matrice di Confusione
Per approfondimenti vedi nelle reference
Model Evaluation (Classification):
Precision e Recall
Per approfondimenti vedi nelle reference
Convenzioni sui dati
Predittori (N variabili) + Etichetta
Predittori (N variabili) + EtichettaPredittori (N variabili) + Etichetta
Dataset di partenza
Training Set Testing Set
Predittori (N variabili) Etichetta Predittori (N variabili) Etichetta
train_X train_Y test_X test_Y
train_test_split
(preds)
Reference
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
https://medium.com/thalus-ai/performance-metrics-for-classification-problem
s-in-machine-learning-part-i-b085d432082b
https://en.wikipedia.org/wiki/Precision_and_recall
https://towardsdatascience.com/all-machine-learning-models-explained-in-6-
minutes-9fe30ff6776a

More Related Content

Similar to Introduzione al Machine Learning

Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
MeetupDataScienceRoma
 
Machine Learning: potenzialità e e applicazioni pratiche
Machine Learning: potenzialità e e applicazioni praticheMachine Learning: potenzialità e e applicazioni pratiche
Machine Learning: potenzialità e e applicazioni pratiche
Commit University
 
Webinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learningWebinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learning
Roberto Marmo
 
Imparare con l'intelligenza artificiale
Imparare con l'intelligenza artificiale Imparare con l'intelligenza artificiale
Imparare con l'intelligenza artificiale
Andrea Povelato
 
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
ICTeam S.p.A.
 
10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...
10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...
10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...
Andrea Sergiacomi
 
Moodle e la verifica dell'uso delle risorse
Moodle e la verifica dell'uso delle risorseMoodle e la verifica dell'uso delle risorse
Moodle e la verifica dell'uso delle risorse
Luca Mazzola
 
Hrtt 2019 workshop // TOP-IX
Hrtt 2019 workshop // TOP-IX Hrtt 2019 workshop // TOP-IX
Hrtt 2019 workshop // TOP-IX
TOP-IX Consortium
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3Ivano Luberti
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Commit University
 
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiTecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
K-Tech Formazione
 
Ambienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in reteAmbienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in rete
Caterina Policaro
 
Front-end First: sopravvivere con il testing in JavaScript
Front-end First: sopravvivere con il testing in JavaScriptFront-end First: sopravvivere con il testing in JavaScript
Front-end First: sopravvivere con il testing in JavaScript
Codemotion
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
Ciro Donato Caiazzo
 
Note di Data Warehouse e Business Intelligence - Pensare "Agile"
Note di Data Warehouse e Business Intelligence - Pensare "Agile"Note di Data Warehouse e Business Intelligence - Pensare "Agile"
Note di Data Warehouse e Business Intelligence - Pensare "Agile"
Massimo Cenci
 
DS4Biz - Data Science for Business
DS4Biz - Data Science for BusinessDS4Biz - Data Science for Business
DS4Biz - Data Science for Business
MeetupDataScienceRoma
 
GAE python GDG Milano L04
GAE python GDG Milano L04GAE python GDG Milano L04
GAE python GDG Milano L04
Paolo Dadda
 
A static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming ErrorsA static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming Errors
Lino Possamai
 
Milano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce IntegrationMilano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce Integration
Gonzalo Marcos Ansoain
 
Software Testing e TDD
Software Testing e TDDSoftware Testing e TDD
Software Testing e TDD
Domenico Briganti
 

Similar to Introduzione al Machine Learning (20)

Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
 
Machine Learning: potenzialità e e applicazioni pratiche
Machine Learning: potenzialità e e applicazioni praticheMachine Learning: potenzialità e e applicazioni pratiche
Machine Learning: potenzialità e e applicazioni pratiche
 
Webinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learningWebinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learning
 
Imparare con l'intelligenza artificiale
Imparare con l'intelligenza artificiale Imparare con l'intelligenza artificiale
Imparare con l'intelligenza artificiale
 
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
 
10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...
10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...
10/09/2015 Presentazione Progetto #LearnPAd - model based social learning for...
 
Moodle e la verifica dell'uso delle risorse
Moodle e la verifica dell'uso delle risorseMoodle e la verifica dell'uso delle risorse
Moodle e la verifica dell'uso delle risorse
 
Hrtt 2019 workshop // TOP-IX
Hrtt 2019 workshop // TOP-IX Hrtt 2019 workshop // TOP-IX
Hrtt 2019 workshop // TOP-IX
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
 
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiTecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
 
Ambienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in reteAmbienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in rete
 
Front-end First: sopravvivere con il testing in JavaScript
Front-end First: sopravvivere con il testing in JavaScriptFront-end First: sopravvivere con il testing in JavaScript
Front-end First: sopravvivere con il testing in JavaScript
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Note di Data Warehouse e Business Intelligence - Pensare "Agile"
Note di Data Warehouse e Business Intelligence - Pensare "Agile"Note di Data Warehouse e Business Intelligence - Pensare "Agile"
Note di Data Warehouse e Business Intelligence - Pensare "Agile"
 
DS4Biz - Data Science for Business
DS4Biz - Data Science for BusinessDS4Biz - Data Science for Business
DS4Biz - Data Science for Business
 
GAE python GDG Milano L04
GAE python GDG Milano L04GAE python GDG Milano L04
GAE python GDG Milano L04
 
A static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming ErrorsA static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming Errors
 
Milano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce IntegrationMilano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce Integration
 
Software Testing e TDD
Software Testing e TDDSoftware Testing e TDD
Software Testing e TDD
 

More from steccami

Programmazione Dinamica.pdf
Programmazione Dinamica.pdfProgrammazione Dinamica.pdf
Programmazione Dinamica.pdf
steccami
 
From hadoop to spark
From hadoop to sparkFrom hadoop to spark
From hadoop to spark
steccami
 
Industry4.0
Industry4.0Industry4.0
Industry4.0
steccami
 
Internet Exchange Point
Internet Exchange PointInternet Exchange Point
Internet Exchange Point
steccami
 
Storia del Teorema dei 4 colori
Storia del Teorema dei 4 coloriStoria del Teorema dei 4 colori
Storia del Teorema dei 4 colori
steccami
 
Contact tracing
Contact tracingContact tracing
Contact tracing
steccami
 
Sap forum 2015 Milan
Sap forum 2015 MilanSap forum 2015 Milan
Sap forum 2015 Milan
steccami
 
SpreadSheetSpace seminar at ICSI
SpreadSheetSpace seminar at ICSISpreadSheetSpace seminar at ICSI
SpreadSheetSpace seminar at ICSI
steccami
 
Smart City application
Smart City applicationSmart City application
Smart City application
steccami
 
iCore Smart Transportation use case CRF M3S
iCore Smart Transportation use case CRF M3SiCore Smart Transportation use case CRF M3S
iCore Smart Transportation use case CRF M3Ssteccami
 
Icin2013
Icin2013Icin2013
Icin2013
steccami
 
Scc2012 Scala
Scc2012 ScalaScc2012 Scala
Scc2012 Scalasteccami
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paassteccami
 
Cloud Amazon IaaS aws
Cloud  Amazon IaaS awsCloud  Amazon IaaS aws
Cloud Amazon IaaS awssteccami
 
Introduzione Cloud Computing
Introduzione Cloud ComputingIntroduzione Cloud Computing
Introduzione Cloud Computingsteccami
 
5th KuVS Meeting
5th KuVS Meeting5th KuVS Meeting
5th KuVS Meetingsteccami
 
IEEE ICIN 2011
IEEE ICIN 2011IEEE ICIN 2011
IEEE ICIN 2011steccami
 
Mashup2010
Mashup2010Mashup2010
Mashup2010steccami
 

More from steccami (20)

Programmazione Dinamica.pdf
Programmazione Dinamica.pdfProgrammazione Dinamica.pdf
Programmazione Dinamica.pdf
 
From hadoop to spark
From hadoop to sparkFrom hadoop to spark
From hadoop to spark
 
Industry4.0
Industry4.0Industry4.0
Industry4.0
 
Internet Exchange Point
Internet Exchange PointInternet Exchange Point
Internet Exchange Point
 
Storia del Teorema dei 4 colori
Storia del Teorema dei 4 coloriStoria del Teorema dei 4 colori
Storia del Teorema dei 4 colori
 
Contact tracing
Contact tracingContact tracing
Contact tracing
 
Sap forum 2015 Milan
Sap forum 2015 MilanSap forum 2015 Milan
Sap forum 2015 Milan
 
SpreadSheetSpace seminar at ICSI
SpreadSheetSpace seminar at ICSISpreadSheetSpace seminar at ICSI
SpreadSheetSpace seminar at ICSI
 
Smart City application
Smart City applicationSmart City application
Smart City application
 
iCore Smart Transportation use case CRF M3S
iCore Smart Transportation use case CRF M3SiCore Smart Transportation use case CRF M3S
iCore Smart Transportation use case CRF M3S
 
Icin2013
Icin2013Icin2013
Icin2013
 
Icin2012
Icin2012Icin2012
Icin2012
 
Scc2012 Scala
Scc2012 ScalaScc2012 Scala
Scc2012 Scala
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paas
 
Cloud Amazon IaaS aws
Cloud  Amazon IaaS awsCloud  Amazon IaaS aws
Cloud Amazon IaaS aws
 
Introduzione Cloud Computing
Introduzione Cloud ComputingIntroduzione Cloud Computing
Introduzione Cloud Computing
 
5th KuVS Meeting
5th KuVS Meeting5th KuVS Meeting
5th KuVS Meeting
 
IEEE ICIN 2011
IEEE ICIN 2011IEEE ICIN 2011
IEEE ICIN 2011
 
Mashup2010
Mashup2010Mashup2010
Mashup2010
 
Webx 2010
Webx 2010Webx 2010
Webx 2010
 

Introduzione al Machine Learning