Gerar e salvar previsões em uma tabela Delta

Concluído

Para gerar previsões, você precisa aplicar um modelo treinado a novos dados. Os dados aos quais você deseja aplicar o modelo devem ser armazenados em uma tabela Delta e o modelo deve ser salvo no espaço de trabalho do Microsoft Fabric. Em seguida, você pode usar a função PREDICT para aplicar o modelo aos dados e obter previsões em lote.

Use o assistente para gerar a função PREDICT

Uma maneira fácil de desenvolver o código para gerar as previsões em lote é usar o assistente disponível no Microsoft Fabric.

Depois de salvar um modelo, você pode navegar até a página do modelo no Microsoft Fabric. Quando você seleciona a opção Aplicar esta versão no assistente, um pop-up aparece:

Screenshot of model wizard for a custom model.

Através do assistente, você pode selecionar a tabela de entrada, mapear as colunas de entrada para as entradas esperadas do modelo e definir a tabela de saída e as colunas. Finalmente, o código que você precisa para executar as previsões em lote é gerado para você.

Execute a função PREDICT para aplicar o modelo

Você pode usar o assistente ou criar diretamente o código para gerar previsões. Para aplicar um modelo em um bloco de anotações, crie o MLFlowTransformer objeto com os seguintes parâmetros:

  • inputCols: Os nomes de coluna do dataframe passados como entradas de modelo.
  • outputCols: O nome da(s) coluna(s) da saída ou previsões.
  • modelName: O nome do modelo salvo no Microsoft Fabric.
  • modelVersion: A versão do modelo salvo.
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
)

Depois de criar o MLFlowTransformer objeto, você pode usá-lo para gerar as previsões em lote no dataframe df executando o seguinte código:

model.transform(df).show()

Finalmente, você pode salvar as previsões em uma tabela Delta. Você pode optar por salvá-lo em uma nova tabela ou acrescentar as previsões a uma tabela existente. Se desejar especificar uma tabela existente:

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

Nota

Ao acessar uma tabela Delta por meio da interface do usuário do espaço de trabalho do Microsoft Fabric, você pode copiar facilmente o caminho de uma tabela Delta. O formato do caminho deve ser semelhante e abfss://XXXX@msit-onelake.dfs.fabric.microsoft.com/XXX/Tables/your_delta_table pode ser usado sempre que você quiser ler ou gravar dados na tabela.