Fai una previsione

Ora puoi utilizzare i dati di test in df_for_prediction per effettuare una richiesta di previsione. La richiesta di previsione invoca il tuo modello per prevedere la specie di pinguino rappresentata dalle caratteristiche del pinguino in ogni riga di df_for_prediction.

Prepara i dati di test di previsione

Prima di poter utilizzare i dati di test per creare previsioni, devi rimuovere la colonna species. Poiché la specie di pinguino è ciò che stai prevedendo, non può essere inclusa nei dati di test utilizzati per creare una previsione. Dopo aver rimosso la colonna species, converti i dati in un elenco Python perché è ciò che il metodo predict riceve come input. Esegui il seguente codice per convertire i dati in un elenco Python:

# Remove the species column
df_for_prediction.pop(LABEL_COLUMN)

# Convert data to a Python list
test_data_list = df_for_prediction.values.tolist()

(Facoltativo) Visualizza i dati di test

Per aiutarti a comprendere i dati di test, puoi eseguire la seguente riga di codice per visualizzarli:

test_data_list

In ogni riga, i rispettivi valori in ciascuna delle sei colonne si riferiscono alle seguenti caratteristiche di un pinguino:

Colonna Caratteristica dei pinguini
0 island: l'isola in cui si trova una specie di pinguino. La mappatura dei valori dell'isola è 0 per Dream, 1 per Biscoe e 2 per Torgersen.
1 culmen_length_mm: la lunghezza del rilievo lungo la parte superiore del becco di un pinguino.
2 culmen_depth_mm: l'altezza del becco di un pinguino.
3 flipper_length_mm - La lunghezza dell'ala simile a una pinna di un pinguino.
4 body_mass_g - La massa del corpo di una penna.
5 sex: il sesso del pinguino. 0 è FEMALE e 1 è MALE.

Invia la richiesta di previsione

Per creare una richiesta di previsione, passa l'elenco Python dei dati di test che hai creato al metodo predict di endpoint.

Il metodo predict valuta le caratteristiche in ogni riga e le utilizza per predire il tipo di pinguino che rappresentano. Esegui il seguente codice per creare le tue previsioni. Le previsioni restituite contengono un elenco di righe, in cui ogni riga ha tre colonne (Pinguino adelie (Pygoscelis adeliae) (colonna 1), Pinguino antartico (Pygoscelis antarctica) (colonna 2) o Pinguino papua (Pygoscelis papua) (colonna 3)).

# Get your predictions.
predictions = endpoint.predict(instances=test_data_list)

# View the predictions
predictions.predictions

Ogni colonna di una riga contiene un valore e più elevato è il valore, maggiore è la sicurezza che la specie di pinguino rappresentata dalla colonna sia una previsione corretta. Ad esempio, nella seguente riga di output della previsione di esempio, il modello utilizza le caratteristiche della riga di dati di esempio del pinguino per prevedere che il pinguino appartiene con maggiore probabilità alla specie pinguino adelie (Pygoscelis adeliae). Questo perché il valore più alto, 0.732703805, si trova nella prima colonna.

[0.732703805, 0.233752429, 0.0335437432]

Nel codice seguente, il metodo NumPy argmax restituisce la colonna per ogni riga che contiene il valore più alto. Il valore più alto corrisponde alla previsione più probabile corretta. La seconda riga mostra l'array di previsioni.

# Get the prediction for each set of input data.
species_predictions = np.argmax(predictions.predictions, axis=1)

# View the best prediction for the penguin characteristics in each row.
species_predictions

Ogni risultato nell'array species_predictions prevede a quale specie di pinguino corrispondono i valori nella riga corrispondente dei dati di test. Ad esempio, il primo valore è 0, che corrisponde alla specie Pinguino adelie (Pygoscelis adeliae). Ciò significa che il modello prevede che la specie di un pinguino con le caratteristiche riportate nella prima riga dei dati di test sia pinguino adelie (Pygoscelis adeliae).

Liberare le risorse

Ora che hai finito, puoi continuare a utilizzare il tuo notebook per esplorare e scoprire di più sulle risorse che hai creato e sul loro funzionamento.

Eliminare le risorse

Al termine, ti consigliamo di eliminare le risorse Google Cloud create durante questo tutorial per evitare addebiti non necessari. Esistono due modi per eliminare le risorse:

  • Eliminare il progetto, il che comporta anche l'eliminazione di tutte le risorse associate. Per ulteriori informazioni, consulta la sezione Chiusura (eliminazione) dei progetti.

  • Esegui il codice che elimina il job di addestramento (un oggetto CustomTrainingJob), il modello (un oggetto Model), l'endpoint (un oggetto Endpoint) e il bucket Cloud Storage. Questa opzione conserva il progetto e le altre risorse che potresti aver creato e che non elimini esplicitamente con il codice.

    Devi annullare il deployment del modello prima di poterlo eliminare passando force=True al metodo endpoint.delete.

    Per conservare il progetto ed eliminare solo le risorse che hai creato durante questo tutorial, esegui il seguente codice nel tuo notebook:

import os

# Delete the training job
job.delete()

# Delete the endpoint and undeploy the model from it
endpoint.delete(force=True)

# Delete the model
model.delete()

# Delete the storage bucket and its contents
bucket.delete(force=True)

Eliminare l'istanza di Vertex AI Workbench

Puoi conservare l'istanza di Vertex AI Workbench per utilizzarla per i lavori futuri. Se decidi di conservarlo, assicurati di conoscere il relativo costo. Per ulteriori informazioni, consulta i prezzi di Vertex AI Workbench.

Se vuoi eliminare l'istanza di Vertex AI Workbench, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Istanze di Vertex AI Workbench.

    Vai a Istanze

  2. Seleziona l'istanza di Vertex AI Workbench.

  3. Nel menu in alto, fai clic su  Elimina.

  4. Nella finestra di dialogo di conferma Elimina istanza, fai clic su Conferma. Il completamento dell'eliminazione richiede alcuni minuti.