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 nos quais você deseja aplicar o modelo devem ser armazenados em uma tabela Delta, e o modelo deve ser salvo no workspace do Microsoft Fabric. Em seguida, você pode usar a função PREDICT para aplicar o modelo aos dados e obter previsões em lote.

Usar o assistente para gerar a função PREDICT

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

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

Screenshot of model wizard for a custom model.

Por meio do assistente, você pode selecionar a tabela de entrada, mapear as colunas de entrada para as entradas esperadas pelo modelo e definir a tabela de saída com suas respectivas colunas. Por fim, o código necessário para executar as previsões em lote é gerado para você.

Executar a função PREDICT para aplicar o modelo

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

  • inputCols: os nomes de colunas do dataframe passados como entradas do modelo.
  • outputCols: o nome(s) da(s) coluna(s) da saída ou das 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 objeto MLFlowTransformer, você pode usá-lo para gerar as previsões em lote no dataframe df executando o código a seguir:

model.transform(df).show()

Por fim, você pode salvar as previsões em uma tabela Delta. É possível escolher entre salvá-las em uma nova tabela ou adicionar as previsões a uma tabela existente. Se você quiser especificar uma tabela existente:

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

Observação

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