Fai una previsione

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

Prepara i dati del test di previsione

Prima di poter utilizzare i dati di test per creare previsioni, rimuovi la colonna species. Poiché la specie di pinguino è quella 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 prende come input. Esegui questo codice per convertire i tuoi 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 dei test

Per aiutarti a comprendere i dati del 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 del pinguino
0 island: l'isola in cui è stata trovata una specie di pinguino. La mappatura del valore dell'isola è 0 per Dream, 1 per Biscoe e 2 per Torgersen.
1 culmen_length_mm: la lunghezza del crinale lungo la sommità 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 genere 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 prevedere il tipo di pinguino che rappresenta. Esegui il seguente codice per creare le previsioni. Le previsioni restituite contengono un elenco di righe, in cui ogni riga ha tre colonne: Pinguino di Adelie (Pygoscelis adeliae) (colonna 1), Pinguino di Pinguino (Pygoscelis antarctica) (colonna 2) o Pinguino di Gentoo (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. Più alto è il valore, maggiore sarà l'affidabilità della previsione corretta per la specie di pinguino rappresentata da quella colonna. Ad esempio, nella seguente riga di output della previsione di esempio, il modello utilizza le caratteristiche della riga di dati del pinguino campione per prevedere che il pinguino è molto probabilmente della specie di pinguino di 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 argmax NumPy restituisce la colonna per ogni riga che contiene il valore più alto. Il valore più alto corrisponde alla previsione molto probabilmente 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 pinguini corrispondono i valori nella riga corrispondente di dati di test. Ad esempio, il primo valore è 0, che corrisponde alla specie di pinguino di Adelie (Pygoscelis adeliae). Ciò significa che il modello prevede che la specie di un pinguino con le caratteristiche nella prima riga dei dati di test è Adelie Penguin (Pygoscelis adeliae).

Esegui la pulizia delle risorse

Ora che hai finito, puoi continuare a utilizzare il blocco note per esplorare e scoprire di più sulle risorse che hai creato e su come funzionano.

Elimina le risorse

Quando è tutto pronto, ti consigliamo di eliminare le risorse Google Cloud create durante questo tutorial per evitare addebiti inutili. Esistono due modi per eliminare le risorse:

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

  • Esegui 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 qualsiasi altra risorsa che potresti aver creato e che non elimini esplicitamente con il tuo 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 create durante questo tutorial, esegui il codice seguente nel blocco note:

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)

Elimina l'istanza di Vertex AI Workbench

Puoi mantenere l'istanza di Vertex AI Workbench per utilizzarla in futuro. Se lo tieni, assicurati di conoscere il suo costo. Per ulteriori informazioni, consulta i prezzi di Vertex AI Workbench.

Se vuoi eliminare l'istanza di Vertex AI Workbench:

  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. L'eliminazione richiede alcuni minuti.