1. Introduzione

Ultimo aggiornamento: 10/05/2024
Che cos'è Kaggle?
Kaggle è la più grande community di AI e 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, notebook e modelli pre-addestrati per dare il via al tuo prossimo progetto. Partecipa a concorsi, segui corsi e entra in contatto con una community diversificata di oltre 18 milioni di utenti in tutto il mondo. Che tu sia un principiante o un professionista esperto, Kaggle è il posto ideale per affinare le tue competenze, rimanere al passo con i tempi e collaborare a progetti all'avanguardia.
Cosa creerai
In questo codelab creerai, configurerai e lancerai un concorso Kaggle. Esplorerai l'esperienza dei concorrenti e comprenderai le best practice per organizzare un concorso coinvolgente.
Cosa imparerai a fare
- Comprendere come creare e gestire un concorso Kaggle dal punto di vista dell'host
- Esplorare l'esperienza dei concorrenti, dall'esplorazione all'invio
- Imparare le best practice per organizzare un concorso coinvolgente
Questo codelab si concentra sulla creazione rapida di un concorso e sfrutta la crescente libreria di concorsi di Kaggle.
Che cosa ti serve
- Un browser web recente
- Conoscenze 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.
Verificare l'account
- Nell'angolo in alto a destra della pagina, fai clic sull'immagine del profilo
- Fai clic su "Il tuo profilo"
- Fai clic sul pulsante "Impostazioni" sul lato destro dei contenuti del profilo
- In "Verifica telefonica", segui le istruzioni per verificare il tuo account
3. Creare il primo concorso
Presentazione dei modelli di concorso generati dall'AI
I concorsi generati dall'AI sono una nuova funzionalità di Kaggle che consente agli utenti di creare concorsi di machine learning in modo rapido e semplice. Sfrutta l'AI per generare set di dati sintetici che imitano le proprietà statistiche dei set di dati esistenti senza contenere informazioni che consentono l'identificazione personale.
Ecco come funziona:
- Scegli un modello: seleziona un modello da un elenco in base a diverse attività di machine learning (ad es. classificazione, regressione).
- L'AI genera un set di dati: l'AI di Kaggle crea un nuovo set di dati per il tuo concorso in base al modello scelto. Questo set di dati è simile all'originale, ma utilizza un sottoinsieme di funzionalità e ha distribuzioni di funzionalità leggermente diverse.
- Personalizza il concorso: inserisci i dettagli di base, come il nome, la descrizione e la sequenza temporale del concorso. Puoi anche scegliere le impostazioni della privacy per il concorso.
- Lancia: dopo aver finalizzato i dettagli e impostato un lancio, puoi lanciare il concorso.
Questa funzionalità semplifica la procedura di creazione dei concorsi, rendendola accessibile a un maggior numero di utenti e consentendo loro di concentrarsi sugli aspetti di machine learning anziché sulla preparazione dei set di dati.
Creare un concorso
Vai all'indirizzo https://www.kaggle.com/competitions/new e seleziona "New AI Generated Competition" (Nuovo concorso generato dall'AI).

Seleziona il concorso "Regression with a Crab Age Dataset" (Regressione con un set di dati sull'età dei granchi).
Dettagli della competizione

Inserisci un nome e un sottotitolo descrittivi. Ad esempio, potresti utilizzare "Concorso di prova sui granchi di <Your Names>" come titolo e "Creazione del mio primo concorso per vedere come funziona" come sottotitolo. Tieni presente che l'URL del concorso viene compilato automaticamente in base al titolo.
Visibilità e accesso
Ora dobbiamo impostare la visibilità e l'accesso al concorso.
Visibilità
- Pubblico: il tuo concorso è visibile a chiunque su Kaggle. Verrà visualizzato nei risultati di ricerca, quindi chiunque sia interessato potrà partecipare.
- Privato: il tuo concorso è nascosto dalla visualizzazione pubblica. Non verrà visualizzato nelle ricerche e solo le persone che inviti specificamente potranno partecipare.
Chi può partecipare
- Chiunque: è come una politica di porte aperte. Chiunque su Kaggle può partecipare al tuo concorso.
- Solo le persone con un link: è più esclusivo. Genererai un link speciale e solo le persone che lo hanno potranno partecipare.
- Mailing list con limitazioni: è l'opzione più controllata. Fornisci un elenco di indirizzi email o domini specifici (ad es. @yourschool.edu) e solo le persone con questi indirizzi potranno partecipare.
Parleremo più approfonditamente dell'impostazione Enable Notebooks and Models (Attiva notebook e modelli) più avanti. Per ora, assicurati che sia attivata. Per il nostro concorso di esempio, imposta queste impostazioni su Private (Privato) e Only people with the link (Solo le persone con il link).
Leggi e accetta i termini e fai clic su "Create Competition".
4. Comprendere e configurare il concorso
Dietro le quinte, abbiamo creato un concorso completamente nuovo con un set di dati unico. Diamo una rapida occhiata alle impostazioni del concorso.
Scheda Host
La scheda Host contiene tutto ciò di cui hai bisogno come host per configurare correttamente il concorso. In particolare, consulta l'elenco delle pagine a destra della pagina:

Dettagli di base
Questa sezione comprende:
- Generale
- Privacy, accesso e risorse
- Sequenza temporale
- Punteggio e team
Abbiamo trattato le sezioni Generale e Privacy durante il lancio del concorso.
Sequenza temporale
La data di fine del concorso è sensibile al fuso orario.

Punteggio e team
La sezione Punteggio e team ti consente di controllare quante persone possono partecipare a un team, quante volte possono inviare ogni giorno e quante delle loro invii devono scegliere per la valutazione finale.

Google Immagini
Le immagini ti consentono di personalizzare il banner e la miniatura del concorso. Ciò influirà sulla home page della competizione e sulla voce della scheda della competizione.

Conduttori
Qui puoi aggiungere altri utenti Kaggle come host per il tuo concorso. Gli altri host avranno accesso completo (incluso il lancio) al tuo concorso.

Metrica di valutazione
La scheda Metrica di valutazione è il cuore del concorso. Quando crei una competizione da zero, devi riflettere attentamente su quale metrica di valutazione (o punteggio) utilizzare, caricare il file della soluzione, definire la suddivisione dei test pubblici/privati e fornire un invio di esempio. Tuttavia, poiché abbiamo utilizzato un concorso generato, non dobbiamo fare nulla di tutto ciò.
Metrica di punteggio
Determina il punteggio di un invio rispetto al file della soluzione. Per ogni metrica sono disponibili la documentazione e il codice effettivo.
File della soluzione
Poiché utilizziamo un concorso generato, questo file è univoco per il tuo concorso.

Il campionamento della soluzione ti consente di modificare la quantità del file della soluzione utilizzata per assegnare un punteggio agli invii durante il concorso (la classifica pubblica) rispetto al numero di righe utilizzate per determinare la classifica finale. Durante il concorso, gli utenti potranno selezionare (in base all'impostazione Invii privati con punteggio) quali dei loro invii utilizzare per la classifica finale (denominata qui Classifica privata).
Questa procedura garantisce che i concorrenti non vengano premiati per l'overfitting o l'invio di un numero eccessivo di invii.
Invii sandbox
Consentono agli host del concorso di assicurarsi che l'assegnazione dei punteggi funzioni come previsto e di impostare invii di "benchmark" per i concorrenti da confrontare. Questi invii di benchmark verranno visualizzati nella classifica.
Team e invii
Durante il concorso, gli host possono scaricare tutti i punteggi e gestire i team. Prima dell'inizio del concorso, questa sezione è vuota.
Launch Checklist
Questo aspetto verrà trattato nella prossima sezione.
5. Lanciare il concorso
Nella parte superiore della pagina del concorso, fai clic sul pulsante "Launch Checklist" (Elenco di controllo del lancio).
Launch Checklist
L'elenco di controllo del lancio mostra i passaggi necessari da eseguire prima di lanciare un concorso. Poiché abbiamo già iniziato da un modello di concorso, la maggior parte di questi passaggi è già stata completata. Rimangono solo due attività: impostare una scadenza e aggiornare le regole del concorso.

Impostare la scadenza
Innanzitutto, fai clic sulla freccia accanto a Imposta scadenza. I concorsi di solito durano almeno un paio di mesi. La durata massima di un concorso è di un anno.
Modificare le regole
Prima del lancio, è necessario aggiornare le regole del concorso dal modello predefinito. Se stai organizzando questo concorso per una classe o un gruppo, questo è un buon posto per inserire informazioni sulle aspettative.
Lancio
È tutto pronto per il lancio. Procedi e lancia il concorso. Ora i concorrenti possono partecipare.
6. Esperienza dei concorrenti
Ora che hai lanciato il concorso, diamo un'occhiata all'esperienza dei concorrenti. Tratteremo la partecipazione al concorso e l'invio di una candidatura. Per questo, puoi partecipare al concorso demo di Google I/O qui: https://www.kaggle.com/competitions/google-io-demo-competition
Partecipare al concorso
Dopo aver visitato la home page della competizione, fai clic sul pulsante "Join Competition" (Partecipa alla competizione) in alto a destra, quindi leggi e accetta le regole.
Effettuare il primo invio
Vai alla scheda del codice e fai clic su "New Notebook" (Nuovo notebook). Si aprirà un notebook che ti consentirà di inviare il concorso.
Per prima cosa, leggeremo i dati di addestramento e di 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')
Diamo un'occhiata ai dati.
# take a look at some of the data
train.head()
Prepariamo i dati per l'addestramento. In questo caso, eliminiamo il sesso perché non è un valore numerico. (Suggerimento: capire come includerlo dovrebbe migliorare il rendimento del modello).
# drop out the results from the test data
data = train.drop(columns=[‘Age', ‘Sex'])
answers = train[‘Age']
Quindi creiamo un modello. In questo caso, stiamo utilizzando un modello di foresta casuale.
# imports for the model
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)
Creare un invio:
predictions = model.predict(test.drop(columns=[‘Sex']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submission.to_csv(‘submission.csv', index=False)
Poi puoi inviare alla competizione selezionando "Submit to Competition" (Invia alla competizione) nel menu laterale a destra.

Suggerimenti per organizzare un concorso di successo
- Assicurati di includere un notebook di avvio che effettui un invio di base
- Incoraggia l'utilizzo delle discussioni e la condivisione dei notebook all'inizio del concorso
- Divertiti.

