1 
Kaggle Tradeshift Challenge 
Paris ML Meetup 
12 novembre 2014 
Romain Ayres - OCTO 
Eric Biernat - OCTO 
Matthieu Scor...
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, adres...
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 : p...
Online learning - ajout non linéarité 
8 
● Random Forest (librairie sklearn) 
rf.fit(X,y) rf.apply(X) 
id tree_1 tree_2 
...
Online learning - problème 
9 
Le script construit 33 modèles disjoints alors que les labels 
à prédire ne sont pas indépe...
10 
● Séparation du dataset en deux : 
● Apprentissage de 33 modèles sur X_base 
● P = prédictions de ces modèles sur X_me...
Vowpal Wabbit 
11
Un peu différent de sklearn 
12 
[Label] [Importance [Tag]]|Namespace Features |Namespace 
Features ... |Namespace Feature...
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
Prochain SlideShare
Chargement dans…5
×

Kaggle Tradeshift Challenge

765 vues

Publié le

Description of our 2nd place on Kaggle Tradeshift Challenge

Publié dans : Données & analyses
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
765
Sur SlideShare
0
Issues des intégrations
0
Intégrations
18
Actions
Partages
0
Téléchargements
6
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Ceux qui dans la xval qui devait donner les coefficients de pondération des modèles, donnait un poids plus fort pour Vowpal
  • Kaggle Tradeshift Challenge

    1. 1. 1 Kaggle Tradeshift Challenge Paris ML Meetup 12 novembre 2014 Romain Ayres - OCTO Eric Biernat - OCTO Matthieu Scordia - Dataiku
    2. 2. 2
    3. 3. Le challenge en 2 mots 3
    4. 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. 5. La métrique d’évaluation 5 Le log-loss Zone de texte label
    6. 6. Modélisation 6 1. Online learning 1. Two-stage learning 1. Vowpal Wabbit
    7. 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. 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. 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. 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
    11. 11. Vowpal Wabbit 11
    12. 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. 13. Eviter de switcher entre le notebook et le terminal 13
    14. 14. Un peu de cuisine pour la fin 14 vw Log_loss 0.0043350
    15. 15. Evolution du leaderboard 15
    16. 16. 14 minutes avant la fin… 16
    17. 17. Et à une heure du mat’ 17
    18. 18. Et parce qu’on aime se faire du mal… 18
    19. 19. 19 Merci de votre attention! Romain Ayres - OCTO Eric Biernat - OCTO Matthieu Scordia - Dataiku

    ×