Migliora le competenze della tua organizzazione in ML/IA con Kaggle

1. Introduzione

47566e1490c16443.png

Ultimo aggiornamento: 10/05/2024

Cos'è Kaggle?

Kaggle è la più grande piattaforma di IA e Community di ML, la piattaforma definitiva per gli appassionati di data science e machine learning di tutti i livelli per salire di livello con le tecniche e le tecnologie più recenti. Scopri un vasto repository di set di dati, blocchi note e modelli preaddestrati per dare il via al tuo prossimo progetto. Partecipa a competizioni, impara dai corsi ed entra in contatto con una community diversificata di oltre 18 milioni di utenti in tutto il mondo. Che tu sia principiante o esperto, Kaggle è il posto giusto per affinare le tue competenze, restare al passo con i tempi e collaborare a progetti all'avanguardia.

Cosa creerai

In questo codelab creerai, configurerai e lanci una gara Kaggle. Illustrerai l'esperienza della concorrenza e capirai le best practice per la conduzione di una competizione coinvolgente.

Cosa imparerai a fare

  • Comprendere come creare e gestire una gara di Kaggle dal lato dell'organizzatore
  • Naviga nell'esperienza della concorrenza, dall'esplorazione all'invio
  • Scopri le best practice per la conduzione di una competizione coinvolgente

Questo codelab è incentrato sulla creazione rapida di una competizione e sfrutta la crescente libreria di concorrenti di Kaggle.

Che cosa ti serve

  • Un browser web recente.
  • Conoscenza di base di Python

2. Preparazione

Creare un account Kaggle

Visita il sito web di Kaggle (https://www.kaggle.com/) e fai clic su "Registrati". per creare un account senza costi.

Verifica il tuo account

  1. Nell'angolo in alto a destra della pagina, fai clic sull'immagine del tuo profilo.
  2. Fai clic su "Il tuo profilo".
  3. Fai clic su "Impostazioni" pulsante sul lato destro dei contenuti del profilo
  4. Nella sezione "Verifica telefonica" segue le istruzioni per verificare il tuo account

3. Creazione della tua prima gara

Introduzione ai modelli di concorrenza creati con l'IA

Le competizioni create con l'IA sono una nuova funzionalità di Kaggle che consente agli utenti di creare gare di machine learning in modo rapido e semplice. Sfrutta l'IA per generare set di dati sintetici che imitano le proprietà statistiche di set di dati esistenti senza contenere informazioni che consentono l'identificazione personale.

Ecco come funziona:

  1. Scegli un modello: scegli da un elenco di modelli basati su diverse attività di machine learning (ad es. classificazione, regressione).
  2. L'IA genera un set di dati: l'AI di Kaggle crea un nuovo set di dati per la concorrenza in base al modello scelto. Questo set di dati è simile all'originale, ma utilizza un sottoinsieme di caratteristiche e ha distribuzioni delle caratteristiche leggermente diverse.
  3. Personalizzare la competizione: inserisci dettagli di base come il nome, la descrizione e la sequenza temporale del concorso. Puoi anche scegliere le impostazioni della privacy per la concorrenza.
  4. Lancio: dopo aver finalizzato i dettagli e impostato un lancio, puoi lanciare la concorrenza.

Questa funzionalità semplifica il processo di creazione della concorrenza, rendendola accessibile a più utenti e consentendo loro di concentrarsi sugli aspetti del machine learning anziché sulla preparazione del set di dati.

Creare un concorso

Vai a https://www.kaggle.com/competitions/new e seleziona "Nuova competizione creata con l'IA"

2629bf77a282a46c.png

Seleziona "Regressione con un set di dati Crab Age". Concorrenza.

Dettagli sulla competizione

2dd2228b9d686a6e.png

Inserisci un nome e un sottotitolo descrittivi. Ad esempio, potresti utilizzare la gara di granchi di prova "<Your names>" come titolo e "Creare la mia prima gara per vedere come funziona" come sottotitolo. Tieni presente che l'URL della competizione viene compilato automaticamente in base al titolo.

Visibilità e accesso

Ora dobbiamo impostare la visibilità e l'accesso per la competizione.

5c7dcae412ddd574.png

Visibilità

  • Pubblica: la tua competizione è visibile a chiunque su Kaggle. Verranno visualizzati nei risultati di ricerca, così chiunque sia interessato può partecipare.
  • Privato: la concorrenza è nascosta alla visualizzazione pubblica. Non verrà visualizzato nelle ricerche e potranno partecipare solo le persone da te invitate in modo specifico.

Chi può partecipare

  • Chiunque: è come un criterio di porta aperta. Chiunque su Kaggle può partecipare alla tua competizione.
  • Solo le persone con un link: questa opzione è più esclusiva. Puoi generare un link speciale a cui solo le persone che lo possiedono possono partecipare.
  • Email list con restrizioni: questa è l'opzione più controllata. Devi fornire un elenco di indirizzi email o domini specifici (come @tuascuola.edu) a cui possono partecipare solo le persone che possiedono questi indirizzi.

Parleremo più dettagliatamente dell'impostazione Abilita blocchi note e modelli più avanti. Per il momento, assicurati che sia attivata. Nel nostro esempio di competizione, occorre configurare queste impostazioni su Privato e Solo persone con il link.

Leggi e accetta i termini e fai clic su "Crea concorso".

4. Comprendere e configurare la concorrenza

Dietro le quinte abbiamo creato un concorso completamente nuovo con un set di dati unico. Esaminiamo rapidamente le impostazioni della concorrenza.

Scheda Host

La scheda Host contiene tutto ciò che serve come host per configurare correttamente la concorrenza. In particolare, controlla l'elenco di pagine sulla destra:

bcedd6768cc4f32c.png

Dettagli di base

Questa sezione comprende:

  • Generale
  • Privacy, accesso e Risorse
  • Sequenza temporale
  • Punteggio e Team

Al momento di lanciare il concorso, abbiamo esaminato le sezioni Generale e Privacy.

Tempistiche

La data di fine della competizione tiene conto del fuso orario.

7141f4aea90bccb0.png

Punteggi e Google Workspace

La classifica e La sezione Team ti consente di controllare quante persone possono unirsi a un team, quante volte possono inviare contenuti ogni giorno e quante delle loro proposte devono scegliere per la valutazione finale.

5efb6387612db941.png

Immagini

Immagini ti consente di personalizzare il banner e la miniatura per la concorrenza. Questa scelta avrà effetto sulla home page del concorso e sulla pubblicazione della stessa.

6dfd442376a1c702.png

Organizzatori

Qui puoi aggiungere altri utenti di Kaggle come organizzatore della competizione. Gli altri organizzatori avranno accesso completo (incluso il lancio) alla concorrenza.

8f8c90eb6baa7747.png

Metrica di valutazione

La scheda Metrica di valutazione è il cuore della concorrenza. Quando crei una competizione da zero, devi fare un'attenta valutazione della metrica di valutazione (o del punteggio) da utilizzare, caricare il file della soluzione, definire la suddivisione del test pubblico/privato e fornire un invio di esempio. Tuttavia, poiché abbiamo utilizzato un concorso generato, non è necessario fare nulla di tutto questo.

Metrica di punteggio

Questo determina il punteggio di un invio in base al file della soluzione. Per ogni metrica sono disponibili documentazione e codice effettivo.

File della soluzione

Poiché utilizziamo un concorso generato, questo file è esclusivo per la tua concorrenza.

89fa1f42d177505a.png

Il campionamento delle soluzioni ti consente di modificare la quantità del file delle soluzioni utilizzata per assegnare un punteggio ai contenuti inviati durante la competizione (la classifica pubblica) rispetto al numero di righe utilizzate per determinare la classifica finale. Durante la competizione, gli utenti potranno selezionare (in base all'impostazione dei contenuti inviati privati con punteggio) quali contenuti inviati possono essere utilizzati per la classifica finale (qui chiamata Classifica privata).

Questo processo garantisce che i concorrenti non vengano premiati per overfitting o inondazione di contenuti inviati.

Invii sandbox

Consentono agli organizzatori della gara di assicurarsi che il punteggio funzioni come previsto e di impostare un "benchmark" contenuti inviati dai concorrenti per il confronto. I contenuti inviati di benchmark verranno visualizzati nella classifica.

Team e Contenuti inviati

Durante la competizione, gli organizzatori possono scaricare tutti i risultati e gestire le squadre. Prima dell'inizio della competizione, questo campo è vuoto.

Launch Checklist

Ne parleremo nella prossima sezione.

5. Lanciare la concorrenza

50b03df072c02e6a.png

Nella parte superiore della pagina della concorrenza, fai clic su "Elenco di controllo per il lancio". .

Launch Checklist

L'elenco di controllo per il lancio mostra i passaggi richiesti da eseguire prima di lanciare una competizione. Poiché abbiamo già iniziato da un modello di concorso, la maggior parte di questi passaggi è già stata completata. Rimangono solo due attività: stabilire una scadenza e aggiornare le regole della competizione.

938b9ed7bc4e0597.png

Imposta scadenza

Innanzitutto, fai clic sulla freccia accanto a Imposta scadenza. In genere le gare durano almeno un paio di mesi. La durata massima di una competizione è un anno.

Modificare le regole

Le regole della concorrenza devono essere aggiornate rispetto al modello predefinito prima del lancio. Se gestisci questa competizione per una classe o un gruppo, è un buon posto per inserire qualsiasi informazione sulle aspettative.

Lancio

Siamo pronti per il lancio. Preparati a lanciare la tua competizione. Ora sei pronto per consentire la partecipazione dei concorrenti.

6. Esperienza della concorrenza

Ora che hai lanciato la tua competizione, diamo un'occhiata all'esperienza della concorrenza. Parleremo dell'iscrizione al concorso e dell'invio di contenuti inviati. A questo scopo, puoi partecipare al concorso demo IO di Google qui: https://www.kaggle.com/competitions/google-io-demo-competition

Partecipare alla competizione

Dopo aver visitato la home page della competizione, fai clic sul pulsante "Partecipa al concorso" in alto a destra, quindi le regole di lettura e accettazione.

Inviare il tuo primo invio

Vai alla scheda del codice e fai clic su "Nuovo blocco note". Si aprirà un blocco note che ti consentirà di partecipare al concorso.

Innanzitutto leggiamo i dati di addestramento e di test

Ⰳ# leggere i dati di test e addestramento

addestramento = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')

test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')

Diamo un'occhiata ai dati.

Ⰳ# dare un'occhiata ad alcuni dati

train.head()

Prepariamo i dati per l'addestramento. In questo caso eliminiamo il valore Sesso perché non è un valore numerico. Suggerimento: capire come includerlo dovrebbe migliorare le prestazioni del modello.

Ⰳ # elimina i risultati dai dati di test

data = train.drop(columns=['Età', 'Sesso'])

risposte = train['Età']

Quindi creiamo un modello. In questo caso stiamo realizzando un modello di foresta casuale.

Ⰳ# importazioni per il modello

da sklearn.model_selection import train_test_split

da sklearn.ensemble import RandomForestRegressor

da sklearn.metrics import mean_asolute_error

modello = RandomForestRegressor()

# addestra il modello

model.fit(dati, risposte)

Crea un invio:

Ⰳpredictions = model.predict(test.drop(columns=[‘Sex']))

submission = pd.DataFrame({‘id&#39;: test[‘id&#39;], ‘Age&#39;: predictions})

Submit.to_csv(‘submission.csv', index=False)

Quindi, puoi partecipare al concorso selezionando "Invia al concorso". nel menu laterale a destra.

1cf17449cae53abe.png

Suggerimenti per gareggiare una grande competizione

  1. Assicurati di includere un blocco note iniziale che effettui un invio di base
  2. Incoraggia l'uso delle discussioni e la condivisione dei blocchi note all'inizio della competizione
  3. Divertiti!