1. Introduction

Dernière mise à jour : 10/05/2024
Qu'est-ce que Kaggle ?
Kaggle est la plus grande communauté d'IA et de ML. C'est la plate-forme idéale pour les passionnés de data science et de machine learning de tous niveaux qui souhaitent se perfectionner grâce aux dernières techniques et technologies. Découvrez un vaste dépôt d'ensembles de données, de notebooks et de modèles pré-entraînés pour lancer votre prochain projet. Participez à des compétitions, suivez des cours et échangez avec une communauté diversifiée de plus de 18 millions d'utilisateurs du monde entier. Que vous soyez débutant ou professionnel, Kaggle est l'endroit idéal pour perfectionner vos compétences, rester à la pointe de la technologie et collaborer sur des projets innovants.
Objectifs de l'atelier
Dans cet atelier de programmation, vous allez créer, configurer et lancer une compétition Kaggle. Vous découvrirez l'expérience des concurrents et comprendrez les bonnes pratiques pour organiser une compétition attrayante.
Points abordés
- Découvrez comment créer et gérer un concours Kaggle en tant qu'organisateur.
- Découvrez l'expérience des concurrents, de l'exploration à l'envoi
- Découvrez les bonnes pratiques pour organiser un concours attrayant.
Cet atelier de programmation est axé sur la création rapide d'un concours et s'appuie sur la bibliothèque de concours de Kaggle, qui ne cesse de s'étoffer.
Prérequis
- Un navigateur Web récent
- Connaissances de base de Python
2. Configuration
Créer un compte Kaggle
Accédez au site Web de Kaggle (https://www.kaggle.com/) et cliquez sur "Register" (S'inscrire) pour créer un compte sans frais.
Valider votre compte
- En haut à droite de la page, cliquez sur l'image de votre profil.
- Cliquez sur "Votre profil".
- Cliquez sur le bouton "Paramètres" à droite du contenu du profil.
- Sous "Validation par téléphone", suivez les instructions pour valider votre compte.
3. Créer votre premier concours
Présentation des modèles de compétition générés par IA
Les compétitions générées par IA sont une nouvelle fonctionnalité de Kaggle qui permet aux utilisateurs de créer des compétitions de machine learning rapidement et facilement. Il utilise l'IA pour générer des ensembles de données synthétiques qui imitent les propriétés statistiques des ensembles de données existants sans contenir d'informations permettant d'identifier personnellement les utilisateurs.
Voici comment cela fonctionne :
- Choisir un modèle : sélectionnez un modèle dans une liste en fonction de différentes tâches de machine learning (par exemple, classification ou régression).
- L'IA génère un ensemble de données : l'IA de Kaggle crée un ensemble de données pour votre compétition en fonction du modèle que vous avez choisi. Cet ensemble de données est semblable à l'ensemble d'origine, mais il utilise un sous-ensemble de caractéristiques et présente des distributions de caractéristiques légèrement différentes.
- Personnalisez votre compétition : saisissez des informations de base comme le nom, la description et le calendrier de la compétition. Vous pouvez également définir les paramètres de confidentialité de votre compétition.
- Lancer : une fois que vous avez finalisé les détails et défini une date de lancement, vous pouvez lancer votre compétition.
Cette fonctionnalité simplifie le processus de création de compétitions, le rendant accessible à un plus grand nombre d'utilisateurs et leur permettant de se concentrer sur les aspects de machine learning plutôt que sur la préparation des ensembles de données.
Créer une compétition
Accédez à https://www.kaggle.com/competitions/new, puis sélectionnez "New AI Generated Competition" (Nouvelle compétition générée par l'IA).

Sélectionnez la compétition "Régression avec un ensemble de données sur l'âge des crabes".
Détails de la compétition

Saisissez un nom et un sous-titre descriptifs. Par exemple, vous pouvez utiliser "Concours de crabe de test de <Vos noms>" comme titre et "Créer mon premier concours pour voir comment ça marche" comme sous-titre. Notez que l'URL de la compétition est automatiquement renseignée en fonction du titre.
Visibilité et accès
Nous devons maintenant définir la visibilité et l'accès au concours.
Visibilité
- Public : votre compétition est visible par tous les utilisateurs de Kaggle. Il s'affichera dans les résultats de recherche pour que toute personne intéressée puisse le rejoindre.
- Privé : votre compétition est masquée au public. Il n'apparaîtra pas dans les résultats de recherche et seules les personnes que vous invitez spécifiquement pourront y participer.
Qui peut participer ?
- Tous les utilisateurs : cela revient à laisser la porte ouverte. Toute personne sur Kaggle peut participer à votre compétition.
- Seules les personnes disposant d'un lien : cette option est plus exclusive. Vous générerez un lien spécial, et seules les personnes disposant de ce lien pourront rejoindre la chaîne.
- Liste de diffusion restreinte : il s'agit de l'option la plus contrôlée. Vous fournissez une liste d'adresses e-mail ou de domaines spécifiques (comme @votreecole.edu). Seules les personnes disposant de ces adresses peuvent rejoindre le groupe.
Nous aborderons plus en détail le paramètre Activer les notebooks et les modèles ultérieurement. Pour l'instant, assurez-vous qu'elle est activée. Pour notre exemple de groupe de concurrents, définissez ces paramètres sur Privé et Seules les personnes disposant du lien.
Lisez et acceptez les conditions d'utilisation, puis cliquez sur Créer une compétition.
4. Comprendre et configurer vos concurrents
En coulisses, nous avons créé une toute nouvelle compétition avec un ensemble de données unique. Récapitulons brièvement les paramètres de la compétition.
Onglet "Organisateur"
L'onglet "Organisateur" contient tout ce dont vous avez besoin pour configurer correctement votre compétition. Consultez plus précisément la liste des pages à droite de la page :

Informations de base
Cette section inclut les éléments suivants :
- Général
- Confidentialité, accès et ressources
- Chronologie
- Scoring et équipes
Nous avons abordé les sections "Général" et "Confidentialité" lors du lancement du concours.
Calendrier
La date de fin de la compétition tient compte du fuseau horaire.

Scoring & Team
La section "Scoring et équipe" vous permet de contrôler le nombre de personnes pouvant rejoindre une équipe, le nombre de fois qu'elles peuvent envoyer des réponses chaque jour et le nombre de réponses qu'elles doivent choisir pour l'évaluation finale.

Images
Les images vous permettent de personnaliser la bannière et la miniature de votre compétition. Cela affectera la page d'accueil de la compétition ainsi que la fiche de votre compétition.

Hôtes
Vous pouvez ajouter d'autres utilisateurs Kaggle en tant qu'organisateurs de votre compétition. Les autres organisateurs auront un accès complet à votre compétition (y compris pour la lancer).

Métrique d'évaluation
L'onglet "Métriques d'évaluation" est au cœur de la compétition. Lorsque vous créez un concours de toutes pièces, vous devez réfléchir attentivement à la métrique d'évaluation (ou de score) à utiliser, importer votre fichier de solution, définir la répartition des tests publics/privés et fournir un exemple de soumission. Toutefois, comme nous avons utilisé une compétition générée, nous n'avons pas besoin de faire tout cela.
Métriques de scoring
Cela détermine la façon dont une réponse est évaluée par rapport au fichier de solution. Chaque métrique est accompagnée d'une documentation et d'un code réel.
Fichier de solution
Comme nous utilisons une compétition générée, ce fichier est unique à votre compétition.

L'échantillonnage de la solution vous permet d'ajuster la quantité de fichier de solution utilisée pour évaluer les contributions pendant la compétition (classement public) par rapport au nombre de lignes utilisées pour déterminer le classement final. Pendant la compétition, les utilisateurs pourront sélectionner (en fonction du paramètre "Soumissions privées notées") les soumissions à utiliser pour le classement final (appelé "Classement privé" ici).
Ce processus permet de s'assurer que les concurrents ne sont pas récompensés pour le surapprentissage ou l'inondation de soumissions.
Envois dans le bac à sable
Ils permettent aux organisateurs de concours de s'assurer que la notation fonctionne comme prévu et de définir des "benchmarks" auxquels les participants peuvent se comparer. Ces résultats de référence s'afficheront dans le classement.
Équipes et envois
Pendant la compétition, cela permet aux organisateurs de télécharger tous les scores et de gérer les équipes. Cette section est vide avant le début de la compétition.
Launch Checklist
Nous aborderons ce point dans la section suivante.
5. Lancer votre compétition
En haut de la page de la compétition, cliquez sur le bouton "Launch Checklist" (Liste de contrôle du lancement).
Launch Checklist
La checklist de lancement indique les étapes à suivre avant de lancer une compétition. Comme nous avons déjà commencé à partir d'un modèle de compétition, la plupart de ces étapes sont déjà terminées. Il ne reste plus que deux tâches à accomplir : définir une date limite et mettre à jour les règles du concours.

Définir une date limite
Commencez par cliquer sur la flèche à côté de "Définir une date limite". Les compétitions durent généralement au moins deux mois. La durée maximale d'un concours est d'un an.
Modifier les règles
Vous devez mettre à jour le règlement du concours à partir du modèle par défaut avant de le lancer. Si vous organisez ce concours pour une classe ou un groupe, c'est le bon endroit pour indiquer vos attentes.
Lancement
Nous sommes prêts à lancer le produit ! Lancez votre compétition ! Vous êtes maintenant prêt à ce que des concurrents rejoignent la compétition.
6. Expérience des concurrents
Maintenant que vous avez lancé votre compétition, examinons l'expérience des concurrents. Nous verrons comment participer à la compétition et envoyer une proposition. Pour ce faire, vous pouvez participer à la Google IO Demo Competition à l'adresse suivante : https://www.kaggle.com/competitions/google-io-demo-competition.
Participer au concours
Après avoir accédé à la page d'accueil de la compétition, cliquez sur le bouton "Join Competition" (Rejoindre la compétition) en haut à droite, puis lisez et acceptez les règles.
Envoyer votre première contribution
Accédez à l'onglet "Code", puis cliquez sur "Nouveau notebook". Un notebook s'ouvre, ce qui vous permet de participer à la compétition.
Nous allons d'abord lire les données d'entraînement et de test.
# read the test and train data
train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')
test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')
Examinons les données.
# examinez certaines données
train.head()
Préparons les données pour l'entraînement. Dans ce cas, nous supprimons "Sex" (Genre), car il ne s'agit pas d'une valeur numérique. (Conseil : trouver comment l'inclure devrait améliorer les performances de votre modèle.)
# drop out the results from the test data
data = train.drop(columns=[‘Age', ‘Sex'])
answers = train[‘Age']
Ensuite, nous allons créer un modèle. Dans ce cas, nous utilisons un modèle de forêt aléatoire.
# importations pour le modèle
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
model = RandomForestRegressor()
# train the model
model.fit(data, answers)
Créez un devoir :
predictions = model.predict(test.drop(columns=[‘Sex']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submission.to_csv(‘submission.csv', index=False)
Vous pouvez ensuite envoyer votre participation au concours en sélectionnant "Submit to Competition" (Envoyer au concours) dans le menu de droite.

Conseils pour organiser un concours réussi
- Veillez à inclure un notebook de démarrage qui effectue un envoi de base.
- Encouragez l'utilisation des discussions et le partage de notebooks au début du concours.
- Amusez-vous !

