Fazer uma previsão

Agora está tudo pronto para você usar os dados de teste em df_for_prediction para fazer uma solicitação de previsão. A solicitação de previsão invoca seu modelo para prever quais espécies de pinguim são representadas pelas características em cada linha em df_for_prediction.

Preparar dados do teste de previsão

Antes de usar os dados de teste para criar previsões, remova a coluna species. Como a espécie do pinguim é o que você está prevendo, ela não pode ser incluída nos dados de teste usados para criar uma previsão. Depois de remover a coluna species, converta os dados em uma lista Python, porque é isso que o método predict usa como entrada. Execute o código a seguir para converter seus dados em uma lista 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()

(Opcional) Acessar dados de teste

Para entender os dados de teste, execute a seguinte linha de código para visualizá-los:

test_data_list

Em cada linha, os respectivos valores em cada uma das seis colunas se referem às seguintes características de um pinguim:

Coluna Características do pinguim
0 island: ilha em que uma espécie de pinguim é encontrada. O mapeamento de valor da ilha é 0 para Dream, 1 para Biscoe e 2 para Torgersen.
1 culmen_length_mm: o comprimento da crista ao longo da parte superior do bico de um pinguim.
2 culmen_depth_mm: a altura do bico de um pinguim.
3 flipper_length_mm: o comprimento da asa em forma de nadadeira de um pinguim.
4 body_mass_g: a massa do corpo de um pinguim.
5 sex: o sexo do pinguim. 0 é FEMALE e 1 é MALE.

Enviar a solicitação de previsão

Para criar uma solicitação de previsão, transmita a lista Python dos dados de teste que você criou para o método predict do endpoint.

O método predict avalia as características em cada linha e as usa para prever que tipo de pinguim elas representam. Execute o código a seguir para criar as previsões. As previsões retornadas contêm uma lista de linhas, em que cada linha tem três colunas (Pinguim-de-adélia (Pygoscelis adeliae) (coluna 1), Pinguim-de-barbicha (Pygoscelis antarctica) (coluna 2) ouPinguim-gentoo (Pygoscelis papua) (coluna 3).

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

# View the predictions
predictions.predictions

Cada coluna em uma linha contém um valor e, quanto maior o valor, maior a confiança de que a espécie do pinguim representada por essa coluna é uma previsão correta. Por exemplo, na linha de saída da previsão de amostra a seguir, o modelo usa as características da linha de dados do pinguim para prever que o pinguim é provavelmente da espécie Pinguim-de-adélia (Pygoscelis adeliae). Isso ocorre porque o valor mais alto, 0.732703805, está na primeira coluna.

[0.732703805, 0.233752429, 0.0335437432]

No código a seguir, o método argmax NumPy retorna a coluna para cada linha que contenha o valor mais alto. O valor mais alto corresponde à previsão mais provável. A segunda linha exibe a matriz de previsões.

# 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

Cada resultado na matriz species_predictions prevê a qual espécie de pinguim os valores na linha correspondente dos dados de teste correspondem. Por exemplo, o primeiro valor é 0, que é mapeado para a espécie Pinguim-de-adélia (Pygoscelis adeliae). Isso significa que seu modelo prevê que a espécie de um pinguim com as características na primeira linha dos dados de teste é Pinguim-de-adélia (Pygoscelis adeliae).

Limpar recursos

Agora que está tudo pronto, continue usando seu notebook para conhecer melhor os recursos criados e saber como eles funcionam.

Excluir os recursos

Quando estiver tudo pronto, recomendamos que você exclua os recursos do Google Cloud criados durante este tutorial para não gerar cobranças desnecessárias. Há duas maneiras de excluir seus recursos:

  • Exclua o projeto, assim como todos os recursos associados a ele. Confira mais informações em Como encerrar (excluir) projetos.

  • Execute o código que exclui o job de treinamento (um objeto CustomTrainingJob), o modelo (um objeto Model), o endpoint (um objeto Endpoint) e o bucket do Cloud Storage. Essa opção mantém seu projeto e quaisquer outros recursos que você tenha criado e que não sejam explicitamente excluídos com o código.

    É preciso cancelar a implantação do modelo antes de excluí-lo transmitindo force=True para o método endpoint.delete.

    Para manter o projeto e excluir apenas recursos criados durante este tutorial, execute o seguinte código no seu 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)

Excluir a instância do Vertex AI Workbench

É possível manter sua instância do Vertex AI Workbench para usar em trabalhos futuros. Se ela for mantida, certifique-se de que está ciente do custo. Para mais informações, consulte Preços do Vertex AI Workbench.

Se você quiser excluir a instância do Vertex AI Workbench, faça o seguinte:

  1. No console do Google Cloud, acesse a página Instâncias do Vertex AI Workbench.

    Acesse "Instâncias"

  2. Selecione sua instância do Vertex AI Workbench.

  3. No menu superior, clique em  Excluir.

  4. Na caixa de diálogo de confirmação Excluir instância, clique em Confirmar. A exclusão leva alguns minutos para ser concluída.