Realiza una predicción

Ya está todo listo para usar los datos de prueba en df_for_prediction y realizar una solicitud de predicción. La solicitud de predicción invoca tu modelo para predecir qué especies de pingüino están representadas por las características del pingüino en cada fila en df_for_prediction.

Prepara datos de prueba de predicción

Antes de usar los datos de prueba para crear predicciones, debes quitar la columna species. Debido a que la especie del pingüino es lo que vas a predecir, no se puede incluir en los datos de prueba usados para crear una predicción. Después de quitar la columna species, debes convertir los datos en una lista de Python, ya que eso es lo que toma como entrada el método predict. Ejecuta el siguiente código para convertir tus datos en una lista de 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()

Consulta los datos de prueba (opcional)

Para ayudarte a comprender los datos de prueba, puedes ejecutar la siguiente línea de código para verlos:

test_data_list

En cada fila, los valores respectivos de cada una de las seis columnas hacen referencia a las siguientes características de un pingüino:

Columna Característica del pingüino
0 island: Es la isla donde se encuentra una especie de pingüino. La asignación de valores de la isla es 0 para Dream, 1 para Biscoe y 2 para Torgersen.
1 culmen_length_mm: Es la longitud de la crestas a lo largo del pico de un pingüino.
2 culmen_depth_mm: Es la altura del pico de un pingüino.
3 flipper_length_mm: Es la longitud del ala similar a las aletas de un pingüino.
4 body_mass_g: Es la masa del cuerpo de un bolígrafo.
5 sex: Es el sexo del pingüino. 0 es FEMALE y 1 es MALE.

Envía la solicitud de predicción

Para crear una solicitud de predicción, pasa la lista de Python de los datos de prueba que creaste al método predict de endpoint.

El método predict evalúa las características de cada fila y las usa para predecir qué tipo de pingüino representan. Ejecuta el siguiente código para crear tus predicciones. Las predicciones que se muestran contienen una lista de filas, en la que cada fila tiene tres columnas (pingüino Adelie (Pygoscelis adeliae) (columna 1), pingüino Barbijo (Pygoscelis antartica) (columna 2) o pingüino Gentoo (Pygoscelis papua) (columna 3).

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

# View the predictions
predictions.predictions

Cada columna de una fila contiene un valor, y cuanto más alto sea el valor, mayor será la confianza de que la especie del pingüino representada por esa columna es una predicción correcta. Por ejemplo, en la siguiente fila de salida de predicción de muestra, el modelo usa las características de la fila de datos del pingüino de muestra para predecir que es más probable que el pingüino sea de la especie Adelie (Pygoscelis adeliae). Esto se debe a que, el valor más alto, 0.732703805, está en la primera columna.

[0.732703805, 0.233752429, 0.0335437432]

En el siguiente código, el método argmax de NumPy muestra la columna de cada fila que contiene el valor más alto. El valor más alto corresponde a la predicción que es más probable que sea correcta. En la segunda línea, se muestra el array de predicciones.

# 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 del array species_predictions predice a qué especie de pingüino corresponden los valores en la fila correspondiente de datos de prueba. Por ejemplo, el primer valor es 0, que se asigna a la especie pingüino Adelie (Pygoscelis adeliae). Esto significa que tu modelo predice que la especie de un pingüino con las características en la primera fila de los datos de prueba es Pingüino Adelie (Pygoscelis adeliae).

Limpia los recursos

Ahora que terminaste, puedes seguir usando el notebook para explorar y obtener más información sobre los recursos que creaste y cómo funcionan.

Borra tus recursos

Cuando estés listo, te recomendamos que borres los recursos de Google Cloud que creaste durante este instructivo para no se generen cargos innecesarios. Hay dos maneras de borrar tus recursos:

  • Borra el proyecto, lo que también borrará todos los recursos asociados con él. Para obtener más información, consulta Cerrar proyectos (borrarlos).

  • Ejecuta un código que borre tu trabajo de entrenamiento (un objeto CustomTrainingJob), el modelo (un objeto Model), el extremo (un objeto Endpoint) y el bucket de Cloud Storage. Esta opción conserva tu proyecto y cualquier otro recurso que hayas creado y que no borres de forma explícita con tu código.

    Debes anular la implementación de tu modelo para poder borrarlo si pasas force=True al método endpoint.delete.

    Para conservar tu proyecto y borrar solo los recursos que creaste durante este instructivo, ejecuta el siguiente código en tu 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)

Borra tu instancia de Vertex AI Workbench

Puedes conservar tu instancia de Vertex AI Workbench para usarla en trabajos futuros. Si lo conservas, asegúrate de conocer su costo. Para obtener más información, consulta los precios de Vertex AI Workbench.

Si deseas borrar la instancia de Vertex AI Workbench, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Instancias de Vertex AI Workbench.

    Ir a Instancias

  2. Selecciona la instancia de Vertex AI Workbench.

  3. En el menú superior, haz clic en  Borrar.

  4. En el cuadro de diálogo de confirmación Borrar instancia, haz clic en Confirmar. La eliminación demora unos minutos en completarse.