Kaggle est devenue la plateforme web qui accueille la plus grande communauté de Data Science au monde, avec plus de 12,5 millions membres actifs. Nous allons voir dans cet article ce qu’est Kaggle, le fonctionnement de ses compétitions et comment participer.
Qu’est-ce que Kaggle
Fondée en 2010 par Anthony Goldbloom, Kaggle est un environnement Jupyter Notebooks et une communauté d’apprentissage automatique en ligne pour les data scientists.
La plateforme interactive en ligne fournit des jeux de données , des notebooks et de didacticiels gratuits dont les data scientists ont besoin pour réaliser leurs projets de Machine learning.
Kaggle permet aux spécialistes des données et aux autres développeurs de participer à des concours ou data challenge, d’écrire, de partager du code et de discuter avec des leaders du Data Science et des experts.
Google a acquis Kaggle en 2017 et depuis elle a la confiance des plus grandes entreprises de science des données du monde, telles que Walmart ou Facebook.
Les Jeux de données
Kaggle héberge plus de 50 000 jeux de données (Datasets) dans une variété de formats de publication, y compris les valeurs (CSV) pour les données tabulaires, JSON pour les données arborescentes, les bases de données SQLite, les archives ZIP et les ensembles de données BigQuery.
Sur la page des jeux de données de Kaggle , vous trouverez une liste d’ensembles de données classés par popularité et tendance avec un filtre de recherche. Vous pouvez également utiliser des mots clés pour la recherche.
Cependant, vous pouvez créer des jeux de données publics et privés sur Kaggle à partir de votre machine locale, des URL, des référentiels GitHub et des sorties de Kaggle Notebook.
Les notebooks Kaggle
Kaggle dispose de plus de 400 000 notebooks et elle prend en charge trois types de cahiers : les scripts, les scripts RMarkdown et les Jupyter Notebooks. Vous pouvez écrire des cahiers en R ou Python.
Vous pouvez rechercher des notebooks par mot-clé via la liste Notebook ; comme les jeux de données, le classement des notebooks dans la liste est par popularité et tendance.
Vous pouvez collaborer avec d’autres personnes sur un notebook de plusieurs manières (public ou privé). S’il est public, vous pouvez accorder des privilèges d’édition à des utilisateurs spécifiques (tout le monde peut voir). S’il est privé, vous pouvez accorder des privilèges de visualisation ou de modification.
Les compétitions Kaggle
Les compétitions sont des tâches d’apprentissage automatique réalisées par Kaggle ou d’autres sociétés comme Google ou l’OMS. Si vous réussissez au concours, vous pouvez gagner des prix en argent réel.
Les compétitions varient selon les types de problèmes et la complexité. Vous pouvez y participer même si vous êtes débutant. Cependant, les compétitions avancées sont beaucoup plus intéressantes, et une place de leader dans une compétition est un excellent ajout à votre CV d’ingénieur en apprentissage automatique.
Il existe quatres types de compétitions Kaggle.
1- Les Compétitions débutant
Ces compétitions n’ont pas de prix, mais elles sont adaptées pour les nouveaux utilisateurs avec des sujets accessibles et des données facilement interprétables.
Vous accédez aux données, construisez un modèle, faites une soumission. Ensuite, vos résultats sont vérifiés par les hôtes de la compétition et un score vous est attribué dans le classement.
2- Les Compétitions de recherche
Les compétitions de recherche impliquent des problèmes qui sont expérimentaux et orientées recherche. Ils n’offrent généralement pas de prix ou de points en raison de leur nature expérimentale.
3- Les Compétitions de code
Elles sont sponsorisées par des entreprises, associations et même gouvernements, avec de gros prix à la clé.
Les compétitions de code sont des défis d’apprentissage automatique à grande échelle qui posent des problèmes de prédiction difficiles, sponsorisées par des entreprises, associations et même gouvernements. Les compétitions de code attirent les experts et les équipes les plus formidables et offrent des cagnottes pouvant atteindre un million de dollars.
4- Les Compétitions de recrutement
Dans les compétions de recrutement, les utilisateurs s’affrontent pour créer des modèles d’apprentissage automatique pour les défis organisés par l’entreprise. À la fin du concours, les participants intéressés peuvent télécharger leur curriculum vitae pour examen par l’hôte. Le prix est un entretien d’embauche dans l’entreprise ou l’organisation qui organise la compétition.
Comment utiliser l’interface compétition de Kaggle
Après votre inscription, vous êtes redirigé vers un flux personnalisé avec des publications, des concours et des discussions susceptibles de vous intéresser. De là, vous pouvez accéder à l’onglet Compétition.
Chaque compétition a ces onglets :
- Dans Data , vous trouverez les jeux de données pour entraîner et tester votre modèle.
- Les blocs-notes sont votre espace de travail. Ils contiennent des tutoriels, des articles de blog, de la documentation. Ils peuvent également exécuter du code sans que vous n’installiez quoi que ce soit.
- Dans Discussion , vous pouvez communiquer avec d’autres personnes qui participent au concours, poser des questions et donner des conseils.
- Le classement montre le score des participants au concours.
- Les ensembles de données incluent des ensembles de données supplémentaires qui ont été ajoutés par les participants.
- Enfin, les règles contiennent les règles de la compétition.
Si vous souhaitez participer, cliquez sur Rejoindre le concours.
Comment participer à une compétition Kaggle
Voila comment participer à un concours étape par étape.
1. Téléchargez les données
Si vous souhaitez effectuer une analyse exploratoire préliminaire avant de démarrer un noyau ou simplement avoir les fichiers sur votre ordinateur :
- accédez à Données
- faites défiler vers le bas
- cliquez sur Télécharger tout.
2. Lisez les règles
Vous devez suivre ces règles pour éviter d’être disqualifié, en particulier pour les compétitions organisées par des organisations tierces.
3. Étudiez les noyaux ouverts
Vous pouvez accéder aux blocs-notes publics d’autres personnes et voir comment ils ont abordé le problème . Rendez-vous simplement dans l’onglet Notebook du concours. Il est utile d’étudier les meilleurs exemples qui se sont classés parmi les 1 % à 3 % les plus performants.
4. Créez votre noyau
Vous pouvez créer des modèles sur Kaggle Kernels. Cet environnement Jupyter Notebooks personnalisable avec des GPU gratuits est très pratique. Il possède des bibliothèques préinstallées et vous permet de générer un fichier de prédiction CVS à soumettre.
Pour créer votre propre noyau :
- accédez à l’onglet Notebooks
- cliquez sur New Notebook.
- Ajoutez vos données à la soumission en cliquant sur Ajouter des données -> Données de compétition -> Ajouter
Si vous travaillez avec d’autres personnes, vous pouvez facilement partager votre carnet avec vos collègues en cliquant sur le bouton Partager.
Le Notebook vous permet de basculer entre différentes versions de la soumission et de les stocker en toute sécurité. Vous pouvez écrire jusqu’à 20 Go dans le répertoire qui est conservé.
5. Faites une soumission
Les soumissions sur Kaggle sont au format CSV et comportent généralement deux colonnes : une colonne d’ID et une colonne de prédiction. Téléchargez votre soumission et recevez un score de précision.
Pour essayer de soumettre sur Kaggle, suivez ce tutoriel . Il vous fournit même du code ; pas besoin d’écrire quoi que ce soit.
Des conseils pour que vous réussissiez la compétition
C’est toujours excitant de gagner ! Vous pouvez gagner une médaille d’or, d’argent ou de bronze qui augmentera votre réputation sur la plateforme. Voici quelques conseils pour que vous réussissiez :
- Avancez progressivement : La meilleure façon de s’améliorer est d’aller doucement, mais sûrement, en commençant par les sujets simples et dont les données sont facilement interprétables.
- Inspirez-vous des codes avec le plus de votes : Kaggle propose pour chaque compétition un classement des “meilleurs” codes. Ces notebooks sont très souvent bien expliqués et progressifs.
- Utilisez le forum : lisez les discussions, posez des questions et obtenez des informations d’autres utilisateurs pour apprendre et vous améliorer
- Travailler seul au début puis travaillez en équipe pour pousser les limites de vos connaissances.