1. Introduction
Dernière mise à jour:10/05/2024
Qu'est-ce que Kaggle ?
Kaggle est le plus grand projet d'IA de la communauté du ML, la plate-forme ultime pour les passionnés de data science et de machine learning de tous niveaux qui souhaitent se familiariser avec les 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 concours, profitez de formations et échangez avec une communauté diversifiée composée de plus de 18 millions d'utilisateurs du monde entier. Que vous soyez débutant ou professionnel chevronné, Kaggle est l'endroit idéal pour perfectionner vos compétences, garder une longueur d'avance et collaborer sur des projets de pointe.
Objectifs de l'atelier
Dans cet atelier de programmation, vous allez créer, configurer et lancer une compétition Kaggle. Vous passerez en revue l’expérience de la concurrence et comprendrez les meilleures pratiques pour organiser une compétition engageante.
Points abordés
- Comprendre comment créer et gérer un concours Kaggle du côté de l'organisateur
- Parcourir l'expérience des concurrents, de l'exploration à l'envoi
- Découvrez les bonnes pratiques pour organiser une compétition attrayante
Cet atelier de programmation vise à créer rapidement un concours et à exploiter la bibliothèque de compétitions de plus en plus importante de Kaggle.
Prérequis
- Un navigateur Web récent
- Connaissances de base sur Python
2. Configuration
Créer un compte Kaggle
Visitez le site web de Kaggle (https://www.kaggle.com/) et cliquez sur « S'inscrire ». pour créer un compte sans frais.
Valider votre compte
- Dans l'angle supérieur droit de la page, cliquez sur l'image de votre profil.
- Cliquez sur "Votre profil".
- Cliquez sur le bouton "Paramètres" bouton situé à droite du contenu du profil
- Sous "Validation du numéro de téléphone" suit les instructions pour valider votre compte
3. Création de votre premier concours...
Présentation des modèles de concours générés par IA
La nouvelle fonctionnalité "Concours générés par IA" de Kaggle permet aux utilisateurs de créer rapidement et facilement des concours de machine learning. Il exploite 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 l'utilisateur.
Le principe est le suivant :
- Choisir un modèle: faites votre choix dans la liste de modèles basés sur différentes tâches de machine learning (par exemple, classification, régression).
- L'IA génère un ensemble de données: l'IA de Kaggle crée un ensemble de données pour vos concurrents en fonction du modèle que vous avez choisi. Cet ensemble de données est semblable à l'ensemble de données 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 vos concurrents: saisissez des informations de base telles que le nom, la description et le calendrier du concours. Vous pouvez également définir les paramètres de confidentialité de vos concurrents.
- Lancement: après avoir finalisé les détails et planifié un lancement, vous êtes prêt à lancer votre concurrent.
Cette fonctionnalité simplifie le processus de création d'un concours en le rendant accessible à un plus grand nombre d'utilisateurs et en leur permettant de se concentrer sur le machine learning plutôt que sur la préparation de l'ensemble de données.
Créer un concours
Accédez à https://www.kaggle.com/competitions/new, puis sélectionnez "New AI Generated Competition" (Nouvelle concurrence générée par IA).
Sélectionnez "Régression avec un ensemble de données sur l'âge du crabe". Concurrence.
Informations sur le concours
Saisissez un nom et un sous-titre descriptifs. Par exemple, vous pouvez utiliser le titre "Concours de crabes test de <Your Names>". comme titre et "Création de mon premier concours pour voir comment ça marche". comme sous-titre. Notez que l'URL du concours est automatiquement renseignée en fonction du titre.
Visibilité et accès
Nous devons maintenant définir la visibilité et l'accès de la concurrence.
Visibilité
- Public: votre concours est visible par tous les utilisateurs de Kaggle. Il apparaîtra dans les résultats de recherche, afin que toute personne intéressée puisse s'y inscrire.
- Privé: les concurrents ne sont pas visibles publiquement. Il n'apparaîtra pas dans les résultats de recherche, et seules les personnes que vous invitez spécifiquement peuvent y participer.
Qui peut participer ?
- Tout le monde: cette règle est comparable à une politique de porte ouverte. Tout le monde sur Kaggle peut participer à votre concours.
- Uniquement les personnes disposant du lien: option plus exclusive. Un lien spécial est alors généré et seules les personnes disposant de ce lien peuvent rejoindre le groupe.
- 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 (par exemple, @votreetablissement.edu), et seules les personnes disposant de ces adresses peuvent participer.
Nous parlerons plus en détail du paramètre Activer les notebooks et les modèles ultérieurement. Pour l'instant, vérifiez qu'elle est activée. Pour notre exemple, la concurrence doit définir ces paramètres sur Privé et Uniquement les personnes disposant du lien.
Lisez et acceptez les conditions d'utilisation, puis cliquez sur Créer un concours.
4. Comprendre et configurer vos concurrents
En coulisses, nous avons créé une toute nouvelle concurrence basée sur un ensemble de données unique. Examinons rapidement les paramètres de concurrence.
Onglet "Host" (Hôte)
L'onglet "Hôtes" contient tout ce dont vous avez besoin pour configurer correctement vos concurrents. Vous pouvez notamment consulter la liste à droite de la page:
Informations de base
Cette section inclut les éléments suivants :
- Général
- Confidentialité, accès et Ressources
- Chronologie
- Notation et Équipes
Nous avons abordé les sections "Général" et "Confidentialité" lors du lancement du concours.
Calendrier
La date de fin du concours tient compte du fuseau horaire.
Évaluation et Équipe
L'évaluation et La section "Équipe" vous permet de contrôler le nombre de personnes pouvant rejoindre une équipe, le nombre de fois qu'elles peuvent envoyer chaque jour et le nombre de soumissions qu'elles doivent sélectionner pour l'évaluation finale.
Images
L'affichage d'images vous permet de personnaliser la bannière et la miniature de vos concurrents. Cela affectera la page d'accueil du concurrent ainsi que sa fiche.
Hôtes
Ici, vous pouvez ajouter d'autres utilisateurs de Kaggle comme hôte pour votre concours. Les autres hôtes disposeront d'un accès complet (y compris pour le lancement) à vos concurrents.
Métrique d'évaluation
L'onglet "Évaluation des métriques" est au cœur de la compétition. Lorsque vous créez une concurrence en partant de zéro, vous devez bien réfléchir à la métrique d'évaluation (ou de notation) à utiliser, importer votre fichier de solution, définir la version de test publique/privée et fournir un exemple d'envoi. Cependant, comme nous avons utilisé une concurrence générée, aucune de ces actions n'est nécessaire.
Métrique
Ce paramètre détermine la façon dont un envoi est évalué par rapport au fichier de solution. Une documentation et du code sont disponibles pour chaque métrique.
Fichier de solution
Étant donné que nous utilisons un concours généré, ce fichier est unique à vos concurrents.
L'échantillonnage de solutions vous permet d'ajuster la quantité du fichier de solution utilisée pour noter les envois pendant la compétition (le classement public) par rapport au nombre de lignes utilisées pour déterminer le classement final. Pendant la compétition, les utilisateurs seront autorisés à sélectionner (en fonction du paramètre de soumissions privées notées) celles qui seront utilisées pour le classement final (appelé classement privé ici).
Ce processus garantit que les concurrents ne sont pas récompensés pour leur surapprentissage ou leur inondation de soumissions.
Envois dans le bac à sable
Ils permettent aux hôtes concurrents de s'assurer que l'attribution de scores fonctionne comme prévu et de définir un "benchmark" des propositions pour les concurrents afin de les comparer. Ces benchmarks s'afficheront dans le classement.
Équipes et Contributions
Pendant la compétition, les organisateurs peuvent télécharger tous les scores et gérer les équipes. Ce champ est vide avant le début du concours.
Launch Checklist
Ce point sera abordé dans la section suivante.
5. Lancer vos concurrents
En haut de la page du concours, cliquez sur la liste de contrôle avant lancement. .
Launch Checklist
La checklist avant lancement indique les étapes à suivre avant le lancement d'un concours. Comme nous avons déjà commencé à partir d'un modèle de concours, la plupart de ces étapes sont déjà terminées. Il ne reste plus que deux tâches : définir une date limite et mettre à jour les règles du concours.
Définir un délai
Cliquez d'abord 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 modifier vos règles du concours à partir du modèle par défaut avant de les lancer. Si vous organisez ce concours pour une classe ou un groupe, c'est l'endroit idéal pour présenter toutes vos attentes.
Lancement
Nous sommes prêts pour le lancement ! Lancez-vous ! Vous êtes maintenant prêt pour les concurrents !
6. Expérience des concurrents
Maintenant que vous avez lancé vos concurrents, voyons à quoi ressemble leur expérience. Nous aborderons l'inscription au concours et l'envoi d'une demande de participation. Pour cela, vous pouvez participer au concours de démonstration Google IO sur la page https://www.kaggle.com/competitions/google-io-demo-competition.
Rejoindre le concours
Accédez à la page d'accueil du concours, puis cliquez sur en haut à droite, puis lire et accepter les règles.
Votre premier envoi
Accédez à l'onglet "Code", puis cliquez sur "Nouveau notebook". Un bloc-notes s'ouvre et vous permet de le soumettre au concours.
Nous commencerons par lire les données d'entraînement
尃# lit les données de test et d'entraînement
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.
Ⰳ# Jetez un œil à certaines données
train.head()
Préparons les données pour l'entraînement. Dans ce cas, nous ignorons le sexe, car il ne s'agit pas d'une valeur numérique. (Astuce: déterminer comment l'inclure devrait améliorer les performances de votre modèle.)
Ⰳ # n'ont pas supprimé les résultats des données de test
data = train.drop(columns=[‘Age', ‘Sex'])
réponses = train[‘Age']
Ensuite, nous créons un modèle. Ici, nous créons un modèle de forêt aléatoire.
Ⰳ# importations pour le modèle
à partir de sklearn.model_selection importation train_test_split
depuis sklearn.ensemble, importez RandomForestRegressor.
depuis sklearn.metrics, import mean_absolute_error.
modèle = RandomForestRegressor()
# entraîner le modèle
model.fit(données; réponses)
Pour créer un envoi:
Ⰳpredictions = model.predict(test.drop(columns=[‘Sex']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
soumission.to_csv("submission.csv", index=False)
Vous pouvez ensuite vous inscrire au concours en sélectionnant "Envoyer au concours". dans le menu latéral de droite.
Conseils pour organiser un concours de qualité
- Veillez à inclure un bloc-notes de démarrage qui fait un envoi de base.
- Encourager les discussions et le partage de blocs-notes dès le début du concours
- Amusez-vous bien !