SlideShare une entreprise Scribd logo
1  sur  53
Démystifions le Machine
Learning
Nightclazz Spark et ML
10/03/16
Hervé RIVIERE
Hervé RIVIERE
Développeur Big Data / NoSQL
Zenika
Démystifions le Machine Learning
Sommaire
Machine Learning ?1
2
4
Fondamentaux
Algorithmes
3 Préparation des données
5 Outils
Machine
Learning ?
Machine learning : ”Field of study that gives computers the ability to learn
without being explicitly programmed.” Arthur Samuel
Solves tasks that people are good at, but traditional computation is bad at.
Programmes qui ecrivent de nouveaux programmes
ThyssenKrupp :
1.1 millions d’ascenseurs dans le monde
Capteurs IoT
Détecter les comportement conduisant à une panne
Remplacer les pièces avant les pannes
 Remplacer des règles de gestion métier statiques par un
algorithme auto-apprenant.
1- Mesure du risque (exemple : taux de prêt en fonction du dossier)
2- Recommandation (exemple : recommandation de films, pub)
3- Prédiction d’un comportement (exemple : prévision panne d’une machine en
fonction des données capteurs / résiliation d’un abonné / diagnostic médical)
4- Prédiction de revenu
 Mieux comprendre un jeu de données via les corrélations
faites par les algorithmes ML
1 – Détecter / identifier des signaux faibles (ex : fraude, marketing…)
2 – Segmentation en différente catégories (exemple : campagne de publicité)
Machine Learning Regression
Deep Learning Clustering
Data Science Features engineering
(….)
Les algorithmes de ML ont été mis au points
récemment ?
1
2
3
Le machine Learning est une catégorie de
l’Intelligence Artificielle?
Il n’est pas nécessaire de connaitre son jeu de
données pour réaliser des prédictions performantes
(les mathématiques n’ont pas besoin de connaitre
les problématiques métier !) ?
”
FAUX
VRAI
FAUX
Le ML étudie la causalité d’une prédiction4
FAUX
Fondamentaux
Variable cible
numérique
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
Appartement 300 8 1986 ?????
Variables prédictives = Features
Prédire une valeur numérique : Algorithme de régression
Variable cible textuelle
= classe
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
???? 300 8 1986 600 000
Variables prédictives = Features
Prédire une valeur textuelle : Algorithme de classification
0
100
200
300
400
500
600
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Bruit aléatoire
Prix réel = f(X) + a
a
a
a
f(X)
Modèle ML
Ecart imprévisible
Prédiction jamais exacte !
Si « a » trop important…
Modèle ML
Ecart imprévisible
Prédiction jamais exacte !
Prix réel = f(X) + a
Données non prédictible !
0
10
20
30
40
50
60
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Bruit
DWH
Open Data
Web
crawling
Dataset
d’entrainement
avec variables
prédictives et cible
Modèle
Prédiction
Variable cible
Hypothèses
Variables
prédictives
….
Préparation Construction du
modèle :
Générer un
programme (ie. le
modèle)
Production :
Utiliser le
programme généré
Voitures
?????
• Prédiction de l’avenir proche en fonction du
passé
• Approximation d’un pattern à partir d’exemple
• Copie d’un comportement en « boite noire »
(juste input et output)
• Algorithmes qui s’adaptent
Préparation des
données
DWH
Open Data
Web
crawling
Modèle
Prédiction
Hypothèses
Préparation
Dataset
d’entrainement
avec variables
prédictives et cible
- Complétude: champs manquant ?
- Echelle: Revenues par pays et nombre d’achats par
région !
- Exactitude : données réelles ?
- Fraicheur : Données du 19e siècle ?
- Format : CSV, images, JSON, BDD  JSON
- Agréger
- Enrichir
A B C D E F G H
10 3 2 5 7 43 2 4
1 24 34 5 876 7 6 52
43 24 1 558 23 4 5 6
Algorithmes ML
Moyenne des X : 9
Moyenne des Y : 7.5
• Une tache potentiellement (très…) longue
• Ingrat ?
• Influence directement le modèle
• Une bonne préparation des données est
meilleure que des bon algorithmes !
Algorithmes
DWH
Open Data
Web
crawling
Dataset
d’entrainement
Modèle
Prédiction
Hypothèses
Algorithmes
Régression
Variable cible
numérique
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
Appartement 300 8 1986 ?????
Variables prédictives = Features
Prédire une valeur numérique : Algorithme de régression
Illustration en 2D, majorité des modèles avec 5..10..1000
dimensions
0
10
20
30
40
50
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Linéaire : f(X)=aX+b (avec « a » et « b » découverts automatiquement)
0
2000
4000
6000
8000
10000
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Polynomiale : f(X)=aXy+bXz… (avec « a » et « b », « x », « y » découverts
automatiquement)
Programme généré par l’algorithme
après entrainement :
Une formule mathématiques
Prix maison = 2*nbPieces + 3*surface
Essai successifs de l’algorithme pour trouver la courbe qui minimise l’erreur
Simple à visualiser / comprendre
Algorithme supervisé (nécessite un entrainement préalable)
Peut être utilisé à des fin prédictive ou descriptive
Très sensible à la préparation initiale (valeurs aberrantes…)
Suppose que les données peuvent être modélisées sous formes
d’équations
Prix d’une maison : Si 10 + pièces…
Type
Pièce >10 Surface > 300
Etage <= 3 Ville = Paris
MaisonAppartement
Oui Non
Oui Oui NonNon
Oui Non
300 000€ 200 000€900 000€700 000€
400 000€600 000€
Programme généré par l’algorithme
après l’entrainement :
Conditions
If(surface>10 && piece=3)
if(type==maison) 250 000
else if (type==appartement) 150 000
Else 145 000
Algorithme supervisé (nécessite un entrainement préalable)
Moins sensible à la qualité de préparation de données
Paramètre à définir : nombre d’arbres / profondeurs etc…
Plusieurs arbres entrainés avec des subsets variés peuvent être
combinés  Random Forest
Le random forest est un des algorithmes actuellement le plus performant
Algorithmes
Classification
Variable cible textuelle
= classe
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
???? 300 8 1986 600 000
Variables prédictives = Features
Prédire une valeur textuelle : Algorithme de classification
Malade / Sain
Recommandation de film
Transformer un problème de régression (ex : prix d’une maison) en
classification :
« Cette maison va-t-elle se vendre plus cher que le prix moyen de
la ville » Oui / Non
 Minimiser l’erreur
Ne fonctionne qu’avec 2 catégories uniquement !
Boisson = alcool
Prix > 30€ Steak haché
Boisson=vin
NonOui
Oui Non
Oui
Adulte
Non
Oui Non
AdolescentEnfant
Senior Adulte
Midi Soir
Algorithme non supervisé (pas d’entrainement)
Utilisé pour des algorithmes de recommandation (Netflix)
Le nombre de catégorie est définis par l’utilisateur ou dynamique
Le nom / description des catégorie est à définir par l’utilisateur
Quels outils ?
Mathématiques !
Connaissances métier !
Prototypage
Voir grand, commencer petit
Prototypage : tester rapidement et de façon autonome les
hypothèses
• R
• SAS
• Scikit-learn (Python)
• Dataiku
• Excel
• Tableau
• ….
Industrialisation : Automatisation, performance, maintenabilité,
important volume de données….
Important travail de réécriture de code !
• Brique ETL en amont
• Construction du modèle :
• Volume de donnée « faible » : R / SAS / Python industrialisé
• Volume de donnée « important » : Spark / Hadoop/Mahout (calcul distribué)
• Solutions cloud (Azure ML / Amazon ML / Google prediction API)
• Distribution du modèle en aval :
• Webservice
• Embarqué dans une application
• …
Big Data et machine learning: Manuel du data scientist
Dunod
MOOC Machine Learning, Coursera
Andrew Ng
NightClazz Spark / Machine Learning

Contenu connexe

En vedette

NightClazz Java 8 Decouverte
NightClazz Java 8 DecouverteNightClazz Java 8 Decouverte
NightClazz Java 8 DecouverteZenika
 
Agile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileAgile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileZenika
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte Zenika
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika
 
Matinale DevOps / Docker
Matinale DevOps / DockerMatinale DevOps / Docker
Matinale DevOps / DockerZenika
 
Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.Zenika
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéZenika
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXZenika
 
HTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréHTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréZenika
 
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelleAgile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelleZenika
 

En vedette (11)

NightClazz Java 8 Decouverte
NightClazz Java 8 DecouverteNightClazz Java 8 Decouverte
NightClazz Java 8 Decouverte
 
Agile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileAgile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation Agile
 
Agile Tour 2016 @ Lille
Agile Tour 2016 @ LilleAgile Tour 2016 @ Lille
Agile Tour 2016 @ Lille
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_ml
 
Matinale DevOps / Docker
Matinale DevOps / DockerMatinale DevOps / Docker
Matinale DevOps / Docker
 
Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery Avancé
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UX
 
HTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréHTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien Landuré
 
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelleAgile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
 

Similaire à NightClazz Spark / Machine Learning

Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...
Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...
Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...Jedha Bootcamp
 
Projet Wall pix - présentation 25 mars 2013
Projet Wall pix -  présentation 25 mars 2013Projet Wall pix -  présentation 25 mars 2013
Projet Wall pix - présentation 25 mars 2013stereolux
 
3 vb reference
3 vb reference3 vb reference
3 vb referencekkatia31
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystMathieu Goeminne
 
Marketing et Big Data
Marketing et Big DataMarketing et Big Data
Marketing et Big DataJeremy Greze
 
Visual studio
Visual studioVisual studio
Visual studioISIG
 
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskinBeMyApp
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfssuseref253b1
 
mis
mismis
misISIG
 
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...Jedha Bootcamp
 
Cour d'informatique c++
Cour d'informatique c++Cour d'informatique c++
Cour d'informatique c++AHMADELHADDADI
 
Présentation I MO AD 2022 2023.pdf
Présentation I MO AD  2022 2023.pdfPrésentation I MO AD  2022 2023.pdf
Présentation I MO AD 2022 2023.pdfjridetteemna
 
JSS2014 – Ma première analyse Machine Learning avec Azure ML
JSS2014 – Ma première analyse Machine Learning avec Azure MLJSS2014 – Ma première analyse Machine Learning avec Azure ML
JSS2014 – Ma première analyse Machine Learning avec Azure MLGUSS
 
Modèles numériques coûteux : de la quantification des incertitudes la planifi...
Modèles numériques coûteux : de la quantification des incertitudes la planifi...Modèles numériques coûteux : de la quantification des incertitudes la planifi...
Modèles numériques coûteux : de la quantification des incertitudes la planifi...Julien Bect
 

Similaire à NightClazz Spark / Machine Learning (20)

Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...
Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...
Introduction au Machine Learning - Frédéric Enard, Data Scientist chez TF1 Le...
 
Automat wd info notions-de-mathematiques-appliquees-a-linformatique
Automat wd info notions-de-mathematiques-appliquees-a-linformatiqueAutomat wd info notions-de-mathematiques-appliquees-a-linformatique
Automat wd info notions-de-mathematiques-appliquees-a-linformatique
 
Projet Wall pix - présentation 25 mars 2013
Projet Wall pix -  présentation 25 mars 2013Projet Wall pix -  présentation 25 mars 2013
Projet Wall pix - présentation 25 mars 2013
 
La parallélisation au service de l'optimisation
La parallélisation au service de l'optimisationLa parallélisation au service de l'optimisation
La parallélisation au service de l'optimisation
 
3 vb reference
3 vb reference3 vb reference
3 vb reference
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et Catalyst
 
Marketing et Big Data
Marketing et Big DataMarketing et Big Data
Marketing et Big Data
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Visual studio
Visual studioVisual studio
Visual studio
 
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdf
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
mis
mismis
mis
 
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
 
Cour d'informatique c++
Cour d'informatique c++Cour d'informatique c++
Cour d'informatique c++
 
Présentation I MO AD 2022 2023.pdf
Présentation I MO AD  2022 2023.pdfPrésentation I MO AD  2022 2023.pdf
Présentation I MO AD 2022 2023.pdf
 
JSS2014 – Ma première analyse Machine Learning avec Azure ML
JSS2014 – Ma première analyse Machine Learning avec Azure MLJSS2014 – Ma première analyse Machine Learning avec Azure ML
JSS2014 – Ma première analyse Machine Learning avec Azure ML
 
Codage_Information.pptx
Codage_Information.pptxCodage_Information.pptx
Codage_Information.pptx
 
Modèles numériques coûteux : de la quantification des incertitudes la planifi...
Modèles numériques coûteux : de la quantification des incertitudes la planifi...Modèles numériques coûteux : de la quantification des incertitudes la planifi...
Modèles numériques coûteux : de la quantification des incertitudes la planifi...
 

Plus de Zenika

Matinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéMatinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéZenika
 
Agile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio DigitalAgile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio DigitalZenika
 
Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?Zenika
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013Zenika
 
Deadlock Victim
Deadlock VictimDeadlock Victim
Deadlock VictimZenika
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontZenika
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariZenika
 
What's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. CogoluegnesWhat's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. CogoluegnesZenika
 
Java 7 - Fork/Join
Java 7 - Fork/JoinJava 7 - Fork/Join
Java 7 - Fork/JoinZenika
 
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGConférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGZenika
 
Terracotta jug
Terracotta jugTerracotta jug
Terracotta jugZenika
 

Plus de Zenika (13)

Matinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéMatinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilité
 
Agile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio DigitalAgile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio Digital
 
Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013
 
Deadlock Victim
Deadlock VictimDeadlock Victim
Deadlock Victim
 
Seren
SerenSeren
Seren
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. Darmont
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. Fornaciari
 
What's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. CogoluegnesWhat's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. Cogoluegnes
 
Java 7 - Fork/Join
Java 7 - Fork/JoinJava 7 - Fork/Join
Java 7 - Fork/Join
 
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGConférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
 
Terracotta jug
Terracotta jugTerracotta jug
Terracotta jug
 

NightClazz Spark / Machine Learning

  • 1. Démystifions le Machine Learning Nightclazz Spark et ML 10/03/16 Hervé RIVIERE
  • 2. Hervé RIVIERE Développeur Big Data / NoSQL Zenika
  • 3. Démystifions le Machine Learning Sommaire Machine Learning ?1 2 4 Fondamentaux Algorithmes 3 Préparation des données 5 Outils
  • 5. Machine learning : ”Field of study that gives computers the ability to learn without being explicitly programmed.” Arthur Samuel Solves tasks that people are good at, but traditional computation is bad at. Programmes qui ecrivent de nouveaux programmes
  • 6.
  • 7. ThyssenKrupp : 1.1 millions d’ascenseurs dans le monde Capteurs IoT Détecter les comportement conduisant à une panne Remplacer les pièces avant les pannes
  • 8.  Remplacer des règles de gestion métier statiques par un algorithme auto-apprenant. 1- Mesure du risque (exemple : taux de prêt en fonction du dossier) 2- Recommandation (exemple : recommandation de films, pub) 3- Prédiction d’un comportement (exemple : prévision panne d’une machine en fonction des données capteurs / résiliation d’un abonné / diagnostic médical) 4- Prédiction de revenu
  • 9.  Mieux comprendre un jeu de données via les corrélations faites par les algorithmes ML 1 – Détecter / identifier des signaux faibles (ex : fraude, marketing…) 2 – Segmentation en différente catégories (exemple : campagne de publicité)
  • 10. Machine Learning Regression Deep Learning Clustering Data Science Features engineering (….)
  • 11.
  • 12. Les algorithmes de ML ont été mis au points récemment ? 1 2 3 Le machine Learning est une catégorie de l’Intelligence Artificielle? Il n’est pas nécessaire de connaitre son jeu de données pour réaliser des prédictions performantes (les mathématiques n’ont pas besoin de connaitre les problématiques métier !) ? ” FAUX VRAI FAUX Le ML étudie la causalité d’une prédiction4 FAUX
  • 14. Variable cible numérique Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 Appartement 300 8 1986 ????? Variables prédictives = Features Prédire une valeur numérique : Algorithme de régression
  • 15. Variable cible textuelle = classe Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 ???? 300 8 1986 600 000 Variables prédictives = Features Prédire une valeur textuelle : Algorithme de classification
  • 16. 0 100 200 300 400 500 600 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Bruit aléatoire Prix réel = f(X) + a a a a f(X) Modèle ML Ecart imprévisible Prédiction jamais exacte !
  • 17. Si « a » trop important… Modèle ML Ecart imprévisible Prédiction jamais exacte ! Prix réel = f(X) + a Données non prédictible ! 0 10 20 30 40 50 60 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Bruit
  • 18. DWH Open Data Web crawling Dataset d’entrainement avec variables prédictives et cible Modèle Prédiction Variable cible Hypothèses Variables prédictives …. Préparation Construction du modèle : Générer un programme (ie. le modèle) Production : Utiliser le programme généré
  • 20. • Prédiction de l’avenir proche en fonction du passé • Approximation d’un pattern à partir d’exemple • Copie d’un comportement en « boite noire » (juste input et output) • Algorithmes qui s’adaptent
  • 23. - Complétude: champs manquant ? - Echelle: Revenues par pays et nombre d’achats par région ! - Exactitude : données réelles ? - Fraicheur : Données du 19e siècle ?
  • 24. - Format : CSV, images, JSON, BDD  JSON - Agréger - Enrichir A B C D E F G H 10 3 2 5 7 43 2 4 1 24 34 5 876 7 6 52 43 24 1 558 23 4 5 6 Algorithmes ML
  • 25. Moyenne des X : 9 Moyenne des Y : 7.5
  • 26. • Une tache potentiellement (très…) longue • Ingrat ? • Influence directement le modèle • Une bonne préparation des données est meilleure que des bon algorithmes !
  • 30. Variable cible numérique Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 Appartement 300 8 1986 ????? Variables prédictives = Features Prédire une valeur numérique : Algorithme de régression
  • 31. Illustration en 2D, majorité des modèles avec 5..10..1000 dimensions 0 10 20 30 40 50 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Linéaire : f(X)=aX+b (avec « a » et « b » découverts automatiquement) 0 2000 4000 6000 8000 10000 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Polynomiale : f(X)=aXy+bXz… (avec « a » et « b », « x », « y » découverts automatiquement)
  • 32. Programme généré par l’algorithme après entrainement : Une formule mathématiques Prix maison = 2*nbPieces + 3*surface
  • 33. Essai successifs de l’algorithme pour trouver la courbe qui minimise l’erreur Simple à visualiser / comprendre Algorithme supervisé (nécessite un entrainement préalable) Peut être utilisé à des fin prédictive ou descriptive Très sensible à la préparation initiale (valeurs aberrantes…) Suppose que les données peuvent être modélisées sous formes d’équations
  • 34. Prix d’une maison : Si 10 + pièces… Type Pièce >10 Surface > 300 Etage <= 3 Ville = Paris MaisonAppartement Oui Non Oui Oui NonNon Oui Non 300 000€ 200 000€900 000€700 000€ 400 000€600 000€
  • 35. Programme généré par l’algorithme après l’entrainement : Conditions If(surface>10 && piece=3) if(type==maison) 250 000 else if (type==appartement) 150 000 Else 145 000
  • 36. Algorithme supervisé (nécessite un entrainement préalable) Moins sensible à la qualité de préparation de données Paramètre à définir : nombre d’arbres / profondeurs etc… Plusieurs arbres entrainés avec des subsets variés peuvent être combinés  Random Forest Le random forest est un des algorithmes actuellement le plus performant
  • 38. Variable cible textuelle = classe Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 ???? 300 8 1986 600 000 Variables prédictives = Features Prédire une valeur textuelle : Algorithme de classification
  • 39. Malade / Sain Recommandation de film Transformer un problème de régression (ex : prix d’une maison) en classification : « Cette maison va-t-elle se vendre plus cher que le prix moyen de la ville » Oui / Non  Minimiser l’erreur
  • 40.
  • 41. Ne fonctionne qu’avec 2 catégories uniquement !
  • 42. Boisson = alcool Prix > 30€ Steak haché Boisson=vin NonOui Oui Non Oui Adulte Non Oui Non AdolescentEnfant Senior Adulte
  • 43.
  • 45. Algorithme non supervisé (pas d’entrainement) Utilisé pour des algorithmes de recommandation (Netflix) Le nombre de catégorie est définis par l’utilisateur ou dynamique Le nom / description des catégorie est à définir par l’utilisateur
  • 46.
  • 50. Prototypage Voir grand, commencer petit Prototypage : tester rapidement et de façon autonome les hypothèses • R • SAS • Scikit-learn (Python) • Dataiku • Excel • Tableau • ….
  • 51. Industrialisation : Automatisation, performance, maintenabilité, important volume de données…. Important travail de réécriture de code ! • Brique ETL en amont • Construction du modèle : • Volume de donnée « faible » : R / SAS / Python industrialisé • Volume de donnée « important » : Spark / Hadoop/Mahout (calcul distribué) • Solutions cloud (Azure ML / Amazon ML / Google prediction API) • Distribution du modèle en aval : • Webservice • Embarqué dans une application • …
  • 52. Big Data et machine learning: Manuel du data scientist Dunod MOOC Machine Learning, Coursera Andrew Ng

Notes de l'éditeur

  1. ML Brique d’un système (bcp) plus large
  2. 8 min
  3. 12 min
  4. 22
  5. 25 min
  6. 38min