Pour ce mois de mars, nous vous proposons une thématique Big Data autour de Spark et du Machine Learning !
Nous attaquerons par une présentation d'Apache Spark 1.5 : son architecture distribuée et ses possibilités n'auront plus de secret pour vous.
Nous enchaînerons ensuite avec les fondamentaux du Machine Learning : vocabulaire (pour enfin comprendre ce que raconte les data scientists / dataminer ! ), usages et explication des algorithmes les plus populaires ... Promis la présentation ne comporte pas de formules de maths barbares ;)
Puis nous mettrons en pratique ces deux présentations en développant ensemble votre première application prédictive avec Apache Spark et Apache Zeppelin !
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é)
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
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
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
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
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