En esta página, se describe cómo obtener predicciones en línea (con una sola latencia baja) de AutoML Tables.
Introducción
Después de crear (entrenar) un modelo, puedes implementar el modelo y solicitar predicciones en línea (en tiempo real). Las predicciones en línea aceptan una fila de datos y proporcionan un resultado previsto según tu modelo para esos datos. Usas predicciones en línea cuando necesitas una predicción como entrada para tu flujo de lógica empresarial.
Antes de poder solicitar una predicción en línea, debes implementar tu modelo. Los modelos implementados generan cargos. Cuando termines de realizar las predicciones en línea, puedes anular la implementación de tu modelo para evitar que se generen más cargos. Obtén más información.
Los modelos se deben volver a entrenar cada seis meses para que puedan seguir entregando predicciones.
Obtén una predicción en línea
Console
En general, usas predicciones en línea para obtener predicciones desde las aplicaciones de tu empresa. Sin embargo, puedes usar AutoML Tables en la consola de Google Cloud para probar tu formato de datos o tu modelo con un conjunto de entrada específico.
Visita la página AutoML Tables en la consola de Google Cloud.
Selecciona Modelos y elige el modelo que deseas usar.
Selecciona la pestaña Probar y usar y haz clic en Predicción en línea.
Si el modelo aún no se implementó, haz clic en Implementar modelo para implementarlo ahora.
Se deben implementar los modelos para usar las predicciones en línea. La implementación del modelo genera costos. Para obtener más información, consulta la página Precios.
Proporciona los valores de entrada en los cuadros de texto proporcionados.
Como alternativa, puedes seleccionar Vista de código JSON para proporcionar los valores de entrada en formato JSON.
Si deseas ver cómo cada atributo influyó en la predicción, selecciona Generar importancia de características.
La consola de Google Cloud trunca los valores de importancia de los atributos locales para facilitar su lectura. Si necesitas un valor exacto, usa la API de Cloud AutoML para realizar la solicitud de predicción.
Para obtener información sobre la importancia de las características, consulta la sección sobre la importancia de las características locales.
Haz clic en Predecir (Predict) para obtener tu predicción.
Para obtener información sobre cómo interpretar tus resultados de predicción, consulta la sección acerca de cómo interpretar tus resultados de predicción. Para obtener información sobre la importancia de los atributos locales, consulta la sección sobre la importancia de los atributos locales.
Si no deseas solicitar más predicciones en línea, haz clic en Anular implementación a fin de anular la implementación de tu modelo para evitar cargos de implementación (opcional).
curl
Solicitas una predicción para un conjunto de valores mediante la creación de tu objeto JSON con los valores de tus atributos y, luego, usas el método model.predict
a fin de obtener la predicción.
Los valores deben contener las columnas exactas que incluiste en el entrenamiento y deben estar en el mismo orden que se muestra en la pestaña Evaluar cuando haces clic en el vínculo de columnas incluidas.
Si deseas reordenar los valores, puedes incluir, de manera opcional, un conjunto de ID de especificaciones de columna en el orden de los valores. Puedes obtener los ID de las especificaciones de columna de tu objeto de modelo. Se encuentran en el campo TablesModelMetadata.inputFeatureColumnSpecs.
El tipo de datos de cada valor (atributo) en el objeto de fila depende del tipo de datos de AutoML Tables del atributo. Para obtener una lista de los tipos de datos que acepta el tipo de datos de AutoML Tables, consulta la sección sobre el formato del objeto de fila.
Si aún no implementaste tu modelo, impleméntalo ahora. Obtener más información.
Solicita la predicción.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
endpoint:
automl.googleapis.com
para la ubicación global yeu-automl.googleapis.com
para la región de la UE. - project-id: Es el ID de tu proyecto de Google Cloud.
- location: la ubicación del recurso:
us-central1
para la global oeu
para la Unión Europea - model-id: El ID del modelo. Por ejemplo,
TBL543
- valueN: los valores de cada columna, en el orden correcto.
HTTP method and URL:
POST https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:predict
Cuerpo JSON de la solicitud:
{ "payload": { "row": { "values": [ value1, value2,... ] } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:predict"PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://endpoint/v1beta1/projects/project-id/locations/location/models/model-id:predict" | Select-Object -Expand Contentfeature_importance
. Para obtener información sobre la importancia de las características locales, consulta la sección sobre la importancia de las características locales.-
endpoint:
Visualiza los resultados.
Para un modelo de clasificación, deberías ver un resultado similar al siguiente ejemplo. Ten en cuenta que se muestran dos resultados, cada uno con una estimación de confianza (
score
). La estimación de confianza está entre 0 y 1, y muestra la probabilidad de que el modelo piense que este es el valor de predicción correcto. Para obtener más información sobre cómo usar la estimación de confianza, consulta la sección sobre cómo interpretar tus resultados de predicción.{ "payload": [ { "tables": { "score": 0.11210235, "value": "1" } }, { "tables": { "score": 0.8878976, "value": "2" } } ] }
En el caso de un modelo de regresión, los resultados incluyen un valor de predicción y un intervalo de predicción. El intervalo de predicción proporciona un rango que incluye el 95% del valor verdadero del tiempo (según los datos en los que se entrenó el modelo). Ten en cuenta que el valor previsto podría no estar centrado en el intervalo (incluso podría estar fuera del intervalo), ya que el intervalo de predicción se centra en la mediana, mientras que el valor previsto es el valor esperado (o la media).
{ "payload": [ { "tables": { "value": 207.18209838867188, "predictionInterval": { "start": 29.712770462036133, "end": 937.42041015625 } } } ] }
Para obtener información acerca de los resultados de importancia de los atributos locales, consulta la página sobre la importancia de los atributos locales.
Si terminaste de solicitar las predicciones en línea, puedes anular la implementación de tu modelo para evitar cargos de implementación (opcional). Obtener más información.
Java
Si tus recursos se encuentran en la región de la UE, debes establecer el extremo de manera explícita. Obtener más información.
Node.js
Si tus recursos se encuentran en la región de la UE, debes establecer el extremo de manera explícita. Obtener más información.
Python
La biblioteca cliente de AutoML Tables incluye métodos adicionales de Python que simplifican el uso de la API de AutoML Tables. Estos métodos hacen referencia a conjuntos de datos y modelos por nombre en lugar de ID. El conjunto de datos y los nombres de los modelos deben ser únicos. Para obtener más información, consulta la página de referencia del cliente.
Si tus recursos se encuentran en la región de la UE, debes establecer el extremo de manera explícita. Obtener más información.
¿Qué sigue?
- Obtén más información sobre cómo interpretar tus resultados de predicción.
- Obtén información sobre la importancia de los atributos locales.