SlideShare uma empresa Scribd logo
1 de 19
1 
Kaggle Tradeshift Challenge 
Paris ML Meetup 
12 novembre 2014 
Romain Ayres - OCTO 
Eric Biernat - OCTO 
Matthieu Scordia - Dataiku
2
Le challenge en 2 mots 
3
Les données à disposition 
4 
Train : 
1 700 000 lignes représentant des zones de textes 
33 labels à prédire (data, adresse, champs libres, nom, etc.) 
145 features : float, int, catégorielles hachées avec nombreuses modalitées 
(> 200 000) 
Test : 
540 000 lignes 
540 000 * 33 = 17 000 000 millions de prédictions
La métrique d’évaluation 
5 
Le log-loss 
Zone de 
texte 
label
Modélisation 
6 
1. Online learning 
1. Two-stage learning 
1. Vowpal Wabbit
Online learning 
7 
● Descente de gradient stochastique 
● Learning rate adaptatif : 
● Hashing trick 
● Gros avantage : passage à l’échelle (20min, <400MB) 
● Problème : modèle linéaire, ne capte pas les 
interactions entre les variables 
http://www.kaggle.com/c/tradeshift-text-classification/forums/t/10537/beat-the-benchmark-with-less-than-400mb-of-memory
Online learning - ajout non linéarité 
8 
● Random Forest (librairie sklearn) 
rf.fit(X,y) rf.apply(X) 
id tree_1 tree_2 
0 3 7 
1 2 3 
2 4 6 
3 4 8 
4 3 4 
Xinran He, Junfeng Pan, Ou Jin, Tianbing Xu, Bo Liu, Tao Xu, Yanxin Shi, Antoine Atallah, Ralf Herbrich, Stuart Bowers and Joaquin 
Quinonero Candela, Practical Lessons from Predicting Clicks on Ads at Facebook, ADKDD'14. 
id x1 ... x145 
0 3.7 ... 204 
1 -5.0 ... 4 
2 12 ... 35 
3 0.1 ... 83 
4 -2.3 ... 56
Online learning - problème 
9 
Le script construit 33 modèles disjoints alors que les labels 
à prédire ne sont pas indépendants 
Exemple : quand y33 == 1 alors y1,...,y32 == 0
10 
● Séparation du dataset en deux : 
● Apprentissage de 33 modèles sur X_base 
● P = prédictions de ces modèles sur X_meta 
● Concaténation de P et X_meta et 
apprentissage du meta modèle : 
X_base 
X_meta 
P X_meta 
Two-stage learning
Vowpal Wabbit 
11
Un peu différent de sklearn 
12 
[Label] [Importance [Tag]]|Namespace Features |Namespace 
Features ... |Namespace Features 
rf.fit(X_train, y_train) 
Focus sur une dizaine de labels seulement
Eviter de switcher entre le notebook et le terminal 
13
Un peu de cuisine pour la fin 
14 
vw 
Log_loss 
0.0043350
Evolution du leaderboard 
15
14 minutes avant la fin… 
16
Et à une heure du mat’ 
17
Et parce qu’on aime se faire du mal… 
18
19 
Merci de votre attention! 
Romain Ayres - OCTO 
Eric Biernat - OCTO 
Matthieu Scordia - Dataiku

Mais conteúdo relacionado

Destaque

Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...
Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...
Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...PraTIC / projet de l'UQAM
 
Mercadeo ii ronald_ordonez
Mercadeo ii ronald_ordonezMercadeo ii ronald_ordonez
Mercadeo ii ronald_ordonezRonald Ordoñez
 
La tensión
La tensiónLa tensión
La tensiónraultabu
 
Sacate un diez leccion 6
Sacate un diez leccion 6Sacate un diez leccion 6
Sacate un diez leccion 6Miguel Rivera
 
Commendation
CommendationCommendation
CommendationMinh Tu
 
Livret Jumel : ressources numériques
Livret Jumel : ressources numériquesLivret Jumel : ressources numériques
Livret Jumel : ressources numériquesSarahBib
 
Taller de tutoría 1
Taller de tutoría 1Taller de tutoría 1
Taller de tutoría 1jhony
 
Polynésie française (με μουσική)
Polynésie française (με μουσική)Polynésie française (με μουσική)
Polynésie française (με μουσική)GIA VER
 
Construcción de la tecnología educativa
Construcción de la tecnología educativaConstrucción de la tecnología educativa
Construcción de la tecnología educativaHECJ
 
Edicion 84
Edicion 84Edicion 84
Edicion 84leynyl
 
Premier league
Premier leaguePremier league
Premier leagueGIA VER
 

Destaque (20)

Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...
Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...
Formation Soigner ses TIC communautaires - AGIR, novembre 2011 - tutoriel Fac...
 
Amistad
AmistadAmistad
Amistad
 
Mercadeo ii ronald_ordonez
Mercadeo ii ronald_ordonezMercadeo ii ronald_ordonez
Mercadeo ii ronald_ordonez
 
La tensión
La tensiónLa tensión
La tensión
 
Le SID dans la guerre urbaine
Le SID dans la guerre urbaineLe SID dans la guerre urbaine
Le SID dans la guerre urbaine
 
Miners de Chile
Miners de ChileMiners de Chile
Miners de Chile
 
Ing oscar vazquez
Ing oscar vazquezIng oscar vazquez
Ing oscar vazquez
 
Sacate un diez leccion 6
Sacate un diez leccion 6Sacate un diez leccion 6
Sacate un diez leccion 6
 
Debate PEA
Debate PEADebate PEA
Debate PEA
 
Commendation
CommendationCommendation
Commendation
 
Livret Jumel : ressources numériques
Livret Jumel : ressources numériquesLivret Jumel : ressources numériques
Livret Jumel : ressources numériques
 
Trabajo 4
Trabajo 4 Trabajo 4
Trabajo 4
 
Traballo inma!
Traballo inma!Traballo inma!
Traballo inma!
 
Taller de tutoría 1
Taller de tutoría 1Taller de tutoría 1
Taller de tutoría 1
 
Polynésie française (με μουσική)
Polynésie française (με μουσική)Polynésie française (με μουσική)
Polynésie française (με μουσική)
 
Esquema parabenes
Esquema parabenesEsquema parabenes
Esquema parabenes
 
Construcción de la tecnología educativa
Construcción de la tecnología educativaConstrucción de la tecnología educativa
Construcción de la tecnología educativa
 
Edicion 84
Edicion 84Edicion 84
Edicion 84
 
Mtra carmen caceres
Mtra carmen caceresMtra carmen caceres
Mtra carmen caceres
 
Premier league
Premier leaguePremier league
Premier league
 

Semelhante a Kaggle Tradeshift Challenge

Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logiciellecyrilgandon
 
Km400 g formation-ibm-infosphere-advanced-datastage
Km400 g formation-ibm-infosphere-advanced-datastageKm400 g formation-ibm-infosphere-advanced-datastage
Km400 g formation-ibm-infosphere-advanced-datastageCERTyou Formation
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]linasafaa
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxLaurent Broudoux
 
Javia formation-java-les-bases-et-perfectionnement
Javia formation-java-les-bases-et-perfectionnementJavia formation-java-les-bases-et-perfectionnement
Javia formation-java-les-bases-et-perfectionnementCERTyou Formation
 
Scala : programmation fonctionnelle
Scala : programmation fonctionnelleScala : programmation fonctionnelle
Scala : programmation fonctionnelleMICHRAFY MUSTAFA
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetupSamir Rouabhi
 
PJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdfPJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdfYounesOuladSayad1
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketStéphane Legrand
 
OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015Tarik Zakaria Benmerar
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 
FOSS4G-FR 2014 : OpenLayers 3
FOSS4G-FR 2014 : OpenLayers 3FOSS4G-FR 2014 : OpenLayers 3
FOSS4G-FR 2014 : OpenLayers 3Camptocamp
 
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
 

Semelhante a Kaggle Tradeshift Challenge (20)

Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logicielle
 
Km400 g formation-ibm-infosphere-advanced-datastage
Km400 g formation-ibm-infosphere-advanced-datastageKm400 g formation-ibm-infosphere-advanced-datastage
Km400 g formation-ibm-infosphere-advanced-datastage
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
Javia formation-java-les-bases-et-perfectionnement
Javia formation-java-les-bases-et-perfectionnementJavia formation-java-les-bases-et-perfectionnement
Javia formation-java-les-bases-et-perfectionnement
 
Scala : programmation fonctionnelle
Scala : programmation fonctionnelleScala : programmation fonctionnelle
Scala : programmation fonctionnelle
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetup
 
PJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdfPJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdf
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacket
 
OOP and Design Patterns
OOP and Design PatternsOOP and Design Patterns
OOP and Design Patterns
 
OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
The Future of Javascript
The Future of JavascriptThe Future of Javascript
The Future of Javascript
 
The future of JavaScript
The future of JavaScriptThe future of JavaScript
The future of JavaScript
 
FOSS4G-FR 2014 : OpenLayers 3
FOSS4G-FR 2014 : OpenLayers 3FOSS4G-FR 2014 : OpenLayers 3
FOSS4G-FR 2014 : OpenLayers 3
 
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
 

Último

Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 

Último (6)

Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 

Kaggle Tradeshift Challenge

  • 1. 1 Kaggle Tradeshift Challenge Paris ML Meetup 12 novembre 2014 Romain Ayres - OCTO Eric Biernat - OCTO Matthieu Scordia - Dataiku
  • 2. 2
  • 3. Le challenge en 2 mots 3
  • 4. Les données à disposition 4 Train : 1 700 000 lignes représentant des zones de textes 33 labels à prédire (data, adresse, champs libres, nom, etc.) 145 features : float, int, catégorielles hachées avec nombreuses modalitées (> 200 000) Test : 540 000 lignes 540 000 * 33 = 17 000 000 millions de prédictions
  • 5. La métrique d’évaluation 5 Le log-loss Zone de texte label
  • 6. Modélisation 6 1. Online learning 1. Two-stage learning 1. Vowpal Wabbit
  • 7. Online learning 7 ● Descente de gradient stochastique ● Learning rate adaptatif : ● Hashing trick ● Gros avantage : passage à l’échelle (20min, <400MB) ● Problème : modèle linéaire, ne capte pas les interactions entre les variables http://www.kaggle.com/c/tradeshift-text-classification/forums/t/10537/beat-the-benchmark-with-less-than-400mb-of-memory
  • 8. Online learning - ajout non linéarité 8 ● Random Forest (librairie sklearn) rf.fit(X,y) rf.apply(X) id tree_1 tree_2 0 3 7 1 2 3 2 4 6 3 4 8 4 3 4 Xinran He, Junfeng Pan, Ou Jin, Tianbing Xu, Bo Liu, Tao Xu, Yanxin Shi, Antoine Atallah, Ralf Herbrich, Stuart Bowers and Joaquin Quinonero Candela, Practical Lessons from Predicting Clicks on Ads at Facebook, ADKDD'14. id x1 ... x145 0 3.7 ... 204 1 -5.0 ... 4 2 12 ... 35 3 0.1 ... 83 4 -2.3 ... 56
  • 9. Online learning - problème 9 Le script construit 33 modèles disjoints alors que les labels à prédire ne sont pas indépendants Exemple : quand y33 == 1 alors y1,...,y32 == 0
  • 10. 10 ● Séparation du dataset en deux : ● Apprentissage de 33 modèles sur X_base ● P = prédictions de ces modèles sur X_meta ● Concaténation de P et X_meta et apprentissage du meta modèle : X_base X_meta P X_meta Two-stage learning
  • 12. Un peu différent de sklearn 12 [Label] [Importance [Tag]]|Namespace Features |Namespace Features ... |Namespace Features rf.fit(X_train, y_train) Focus sur une dizaine de labels seulement
  • 13. Eviter de switcher entre le notebook et le terminal 13
  • 14. Un peu de cuisine pour la fin 14 vw Log_loss 0.0043350
  • 16. 14 minutes avant la fin… 16
  • 17. Et à une heure du mat’ 17
  • 18. Et parce qu’on aime se faire du mal… 18
  • 19. 19 Merci de votre attention! Romain Ayres - OCTO Eric Biernat - OCTO Matthieu Scordia - Dataiku

Notas do Editor

  1. Ceux qui dans la xval qui devait donner les coefficients de pondération des modèles, donnait un poids plus fort pour Vowpal