Generación y guardado de predicciones en una tabla Delta

Completado

Para generar predicciones, debe aplicar un modelo entrenado a nuevos datos. Los datos a los que desea aplicar el modelo deben almacenarse en una tabla Delta y el modelo debe guardarse en el área de trabajo de Microsoft Fabric. Después, puede usar la función PREDICT para aplicar el modelo a los datos y obtener predicciones por lotes.

Uso del asistente para generar la función PREDICT

Una manera sencilla de desarrollar el código para generar las predicciones por lotes es usar el asistente disponible en Microsoft Fabric.

Una vez que haya guardado un modelo, puede ir a la página del modelo en Microsoft Fabric. Al seleccionar la opción Aplicar esta versión en el asistente, aparece una ventana emergente:

Recorte de pantalla del Asistente para modelos correspondiente a un modelo personalizado.

Mediante el asistente puede seleccionar la tabla de entrada, asignar las columnas de entrada a las entradas esperadas del modelo y definir la tabla de salida y las columnas. Por último, el código que necesita para ejecutar las predicciones por lotes se genera automáticamente.

Ejecución de la función PREDICT para aplicar el modelo

Puede usar el asistente o crear directamente el código para generar predicciones. Para aplicar un modelo en un cuaderno, cree el MLFlowTransformer objeto con los parámetros siguientes:

  • inputCols: Los nombres de columna del dataframe pasados como entradas del modelo.
  • outputCols: El nombre de las columnas de la salida o las predicciones.
  • modelName: el nombre del modelo guardado en Microsoft Fabric.
  • modelVersion: La versión del modelo guardado.
from synapse.ml.predict import MLFlowTransformer

model = MLFlowTransformer(
    inputCols=["AGE","SEX","BMI","BP","S1","S2","S3","S4","S5","S6"],
    outputCol='predictions',
    modelName='diabetes-model',
    modelVersion=1
)

Después de crear el MLFlowTransformer objeto, puede usarlo para generar las predicciones por lotes en el dataframe df ejecutando el código siguiente:

model.transform(df).show()

Por último, puede guardar las predicciones en una tabla Delta. Puede elegir guardarla en una nueva tabla o anexar las predicciones a una tabla existente. Si desea especificar una tabla existente:

df.write.format("delta").mode("overwrite").save(f"Tables/your_delta_table")

Nota:

Al acceder a una tabla Delta a través de la interfaz de usuario del área de trabajo de Microsoft Fabric, puede copiar fácilmente la ruta de acceso de una tabla Delta. El formato de la ruta de acceso debería ser similar a abfss://XXXX@msit-onelake.dfs.fabric.microsoft.com/XXX/Tables/your_delta_table y se puede usar siempre que quiera leer o escribir datos en la tabla.