Développez les compétences de votre entreprise en ML et en IA avec Kaggle

1. Introduction

47566e1490c16443.png

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

  1. Dans l'angle supérieur droit de la page, cliquez sur l'image de votre profil.
  2. Cliquez sur "Votre profil".
  3. Cliquez sur le bouton "Paramètres" bouton situé à droite du contenu du profil
  4. 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 :

  1. 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).
  2. 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.
  3. 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.
  4. 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).

2629bf77a282a46c.png

Sélectionnez "Régression avec un ensemble de données sur l'âge du crabe". Concurrence.

Informations sur le concours

2dd2228b9d686a6e.png

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.

5c7dcae412ddd574.png

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:

bcedd6768cc4f32c.png

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.

7141f4aea90bccb0.png

É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.

5efb6387612db941.png

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.

6dfd442376a1c702.png

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.

8f8c90eb6baa7747.png

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.

89fa1f42d177505a.png

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

50b03df072c02e6a.png

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.

938b9ed7bc4e0597.png

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&#39;: test[‘id&#39;], ‘Age&#39;: 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.

1cf17449cae53abe.png

Conseils pour organiser un concours de qualité

  1. Veillez à inclure un bloc-notes de démarrage qui fait un envoi de base.
  2. Encourager les discussions et le partage de blocs-notes dès le début du concours
  3. Amusez-vous bien !