Fare un'inferenza

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

Preparare i dati di test per l'inferenza

Prima di poter utilizzare i dati di test per creare inferenze, rimuovi la colonna species. Poiché la specie di pinguino è ciò che stai prevedendo, non può essere inclusa nei dati di test utilizzati per creare un'inferenza. Dopo aver rimosso la colonna species, converti i dati in un elenco Python perché è ciò che il metodo predict accetta 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) Visualizzare 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 del pinguino
0 island - L'isola in cui si trova una specie di pinguino. Il mapping dei valori dell'isola è 0 per Dream, 1 per Biscoe e 2 per Torgersen.
1 culmen_length_mm - La lunghezza della cresta 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 a forma di 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.

Inviare la richiesta di inferenza

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

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

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

# View the inferences
predictions.predictions

Ogni colonna di una riga contiene un valore e maggiore è il valore, maggiore è la certezza che la specie di pinguino rappresentata da quella colonna sia un'inferenza corretta. Ad esempio, nella seguente riga di output di inferenza di esempio, il modello utilizza le caratteristiche della riga di dati di esempio del pinguino per prevedere che il pinguino sia molto probabilmente della specie Pinguino di Adelia (Pygoscelis adeliae). Questo perché il valore più alto, 0.732703805, si trova nella prima colonna.

[0.732703805, 0.233752429, 0.0335437432]

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

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

# View the best inference 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 di dati di test corrispondente. Ad esempio, il primo valore è 0, che esegue il mapping alla specie Pinguino di Adelia (Pygoscelis adeliae). Ciò significa che il modello prevede che la specie di un pinguino con le caratteristiche nella prima riga dei dati di test sia Pinguino di Adelia (Pygoscelis adeliae).

Liberare spazio dalle risorse

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

Eliminare le risorse

Quando è tutto pronto, ti consigliamo di eliminare le Google Cloud risorse che hai creato durante questo tutorial per evitare addebiti non necessari. Esistono due modi per eliminare le risorse:

  • Elimina il progetto, che elimina anche tutte le risorse associate al progetto. Per saperne di più, consulta la sezione Arrestare (eliminare) i 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 tutte 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 endpoint.delete metodo.

    Per conservare il progetto ed eliminare solo le risorse create durante questo tutorial, esegui il seguente codice nel 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 Workbench di Agent Platform

Puoi conservare l'istanza Workbench di Agent Platform per utilizzarla in futuro. Se la conservi, assicurati di essere a conoscenza del suo costo. Per saperne di più, consulta i prezzi di Workbench di Agent Platform .

Se vuoi eliminare l'istanza Workbench di Agent Platform:

  1. Nella Google Cloud console, vai alla pagina Istanze di Workbench di Agent Platform.

    Vai a Istanze

  2. Seleziona l'istanza Workbench di Agent Platform.

  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.