A la découverte de Kaggle
-
Upload
armand-gilles -
Category
Data & Analytics
-
view
684 -
download
0
Transcript of A la découverte de Kaggle
![Page 1: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/1.jpg)
Bordeaux Machine
Learning Meetup
A la découverte de
@arm_gilles
![Page 2: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/2.jpg)
Kaggle en quelques chiffres
• Crée en Avril 2010
• + de 230 compétitions
• 450 k Data Scientist
• 3 Millions de reward
@arm_gilles
![Page 3: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/3.jpg)
Age Revenu Défaut
53 45 000 True
35 38 000 False
22 17 000 True
76 25 000 False
Age Revenu Défaut
18 17 500
42 27 000
22 39 200
59 28 000
Training Data Testing Data
@arm_gilles
![Page 4: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/4.jpg)
Features Label
Train Data
Test Data
Submission Public Private
Structure d’une compétition
@arm_gilles
![Page 5: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/5.jpg)
Type de compétition
Reward $$$, gloire
Recrutement Job (airbnb, Yelp)
Starting Getting started / education
• Plus ou moins 2 mois en général
• Données externes interdites (sauf contre
indications et publier sur le forum)
@arm_gilles
![Page 6: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/6.jpg)
• Compétition d’analyse d’image qui avait pour but de
développer de nouvelles techniques et algorithmes
pour de mesurer les distortions des galaxies par la
matière noire
@arm_gilles
![Page 7: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/7.jpg)
http://arxiv.org/pdf/1204.4096.pdf @arm_gilles
![Page 8: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/8.jpg)
https://www.whitehouse.gov/blog/2011/06/27/competition-shines-light-dark-matter@arm_gilles
![Page 9: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/9.jpg)
http://arxiv.org/pdf/1204.4096.pdf @arm_gilles
![Page 10: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/10.jpg)
Le compétitif
I’m better than
you
Nop, my
algorithme
crush you
Check my new
neural network
!
STFU look at
my amazing
cluster !
Random
Forest tuned
for the win
Lol my
ensemble is
killing you bro !
@arm_gilles
![Page 11: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/11.jpg)
Best practices
• Data Exploration & Feature Engineering
• Machine learning
• Cross Validation
• Tunning / Ensemble
@arm_gilles
![Page 12: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/12.jpg)
Features Engineering &
exploration des données
• Connaître ses données pour comprendre le
problème.
@arm_gilles
![Page 13: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/13.jpg)
@arm_gilles
• Utilisation de graphiques
Connaître ses données
![Page 14: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/14.jpg)
Features Engineering &
exploration des données
• Connaître ses données pour connaitre le
problème.
• Transformer ces données
@arm_gilles
![Page 15: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/15.jpg)
Transformer ces données
• Numérique : log, normalisation, range
@arm_gilles
• Catégorie : one hot encoding, Stemming,
stopword, bag-of-words, TF-IDF, word2vec…
![Page 16: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/16.jpg)
Features Engineering &
exploration des données
• Connaître ses données pour connaitre le
problème.
• Transformer ces données
@arm_gilles
• Créer de la donnée (la golden feature) !
![Page 17: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/17.jpg)
But : Prédire le CA journalier de plus 1k magasins
sur 6 semaines
Metric : Root Mean Square Percentage Error (RMSPE)
Data : • 2 ans et demi d’historique (800 k)
• Promotions
• Vacances
• Nombre de clients par jour
• Type de magasin
• Distance de compétition
• Données extérieures autorisées
![Page 18: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/18.jpg)
• Clustering de magasins
• Features descriptives :
• Moyenne / médiane / Std / percentiles…
• Group by promo(0/1), vacance(0/1)
• Temporalité : trimestre / mois /
semaines / x derniers jours
@arm_gilles
![Page 19: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/19.jpg)
• Golden feature du #2
@arm_gilles
99.99 % des personnes sont
passé à coté de cette feature
Supprimer les lignes ou les magasins sont fermés ainsi que
lorsque ceux-ci sont ouvert avec 0 Sales
![Page 20: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/20.jpg)
@arm_gilles
Mettre un compteur du nombre de jour ouvert avec Sales à 0
permet de détecter un nombre de vente anormal.
Perspective d’un magasin (99.99% de Kaggle) Perspective d’un magasin par Nima #2
![Page 21: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/21.jpg)
But : Prédire si un client va prendre ou non
une assurance habitation (probabilité)
Metric : Area Under the Curve (AUC)
Data : • Données par utilisateur
anonymisées
• shape : 260 753 * 299
• Pas d’explication métier
• Beaucoup valeurs à absentes
![Page 22: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/22.jpg)
• Compter le nombre de valeurs null
(par ligne)
• Enlever les features avec peu de
variance
• Connaitre les features les plus
importantes (Xgboost / Random Forest)
• Combiner des features entres-elles !
![Page 23: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/23.jpg)
@arm_gilles
Machine Learning
Algorithmes Tools Commentaires
Gradient Boosting
MachineXgboost Hype
Random Forest Scikit Learn L’ancien Hype
Neural NetworkTensorflow, Lasage,
KerasAnalyse d’image ++
Regression Scikit Learn
Support Vector Machine Scikit Learn
![Page 24: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/24.jpg)
@arm_gilles
Cross Validation
• Comment connaitre la performance de son
modèle ?
Tra
in D
ata
Phase
d'apprentissageTest
Précision de
votre algorithme
![Page 25: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/25.jpg)
@arm_gilles
Cross Validation
• Comment connaitre la performance de son
modèle ?
Underfitting
GOOD
Overfitting
![Page 26: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/26.jpg)
@arm_gilles
Cross Validation
• Comment connaitre la performance de son
modèle ?
Tra
in D
ata
Phase
d'apprentissage
Test
QPrécision de
votre algorithme
![Page 27: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/27.jpg)
@arm_gilles
Cross ValidationT
rain
Da
ta
Fold 1 Fold 2 Fold 3 Fold 4 Fold 5
Test
Train
Train
Test
Train
Train
Test
Train
Train
Test
Train
Train
Test
Test
Test
Test
Test
Test
Cro
ss V
alid
atio
n p
réd
ictio
n
![Page 28: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/28.jpg)
@arm_gilles
Tunning / Ensemble
• Un algorithme possède plusieurs
paramètres qui vont jouer sur le résultat
Comment déterminé le meilleur paramétrage ?
• GridSearchCV : va parcourir une liste de paramètres donnée
par l’utilisateur et garder en mémoire le résultat
• RandomizedSearchCV : va parcourir une liste de paramètre de
façon random X fois.
• De façon plus intelligente (BayesianOptimization)
![Page 29: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/29.jpg)
@arm_gilles
Tunning / Ensemble
• Pour arriver au top, il faut aller plus loin…
Quand les algorithmes utilisent la démocratie !
Target : 1111111111
Model A 1111111100 80% accuracy
Model B 0111011101 70% accuracy
Model C 1000101111 60% accuracy
Vote 1111111101 90% accuracy
![Page 30: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/30.jpg)
@arm_gilles
Tunning / EnsembleT
es
t D
ata
Model A
Pred A1
Pred A2
Pred A3
Pred A4
…
Pred A n-1
Pred A n
Model B
Pred B1
Pred B2
Pred B3
Pred B4
…
Pred B n-1
Pred B n
Model C
Pred C1
Pred C2
Pred C3
Pred C4
…
Pred C n-1
Pred C n
Model X
Pred X1
Pred X2
Pred X3
Pred X4
…
Pred X n-1
Pred X n
Super Model
Se servir des
prédictions des
models comme
features pour
nourrir un super
model
![Page 31: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/31.jpg)
http://blog.kaggle.com/2015/12/03/dato-winners-interview-1st-place-mad-professors/@arm_gilles
![Page 32: A la découverte de Kaggle](https://reader031.fdocuments.us/reader031/viewer/2022021509/588250a91a28ab37158b6a3b/html5/thumbnails/32.jpg)
Liens utiles
• Forums Kaggle (une vrai mine d’or)
• Post blog Kaggle : http://blog.kaggle.com/
• Tuto Scikit Learn / Pandas (python) : http://blog.kaggle.com/tag/scikit-learn-tutorial-series/
• Python Machine Learning par Sebastian Raschka
• Post blog MLWave : http://mlwave.com/
• What has Kaggle learned from 2 M model : https://www.youtube.com/watch?v=8KzjARKIgTo&ab_channel=CarlMullins
• Winning Data Science Competitions: Jeong-Yoon Lee : https://www.youtube.com/watch?v=ClAZQI_B4t8&ab_channel=DataScience.LA
@arm_gilles
Question ?