Crie, treine e use um modelo do Snowflake ML em um aplicativo¶
Este tópico fornece um exemplo de como treinar um modelo do Snowflake ML em um Snowflake Native App usando o pacote scikit-learn Python. O exemplo deste tópico pode ser usado para treinar modelos nos dados das contas do consumidor ou do provedor.
Criar um esquema com versão para manter os procedimentos armazenados¶
No script de configuração, crie um esquema com versão que contenha o procedimento armazenado, conforme mostrado no exemplo a seguir:
Criar um esquema com versão para o procedimento armazenado
Criar um procedimento armazenado para criar e treinar um modelo¶
Crie um procedimento armazenado para a função Python que você está usando para treinar um modelo, conforme mostrado no exemplo a seguir:
Este exemplo cria um procedimento armazenado chamado
py_log_modele declara os pacotes Python necessários para treinar um modelo usandoscikit-learn:
snowflake-snowpark-python
scikit-learn
snowflake-ml-python
pandas
numpy
xgboost
Depois de criar um procedimento armazenado, adicione o seguinte código ao corpo do procedimento armazenado:
Adicionar o código Python ao corpo do procedimento armazenado
A função
log_modelexecuta o seguinte:
Usa
pandasenumpypara criar um DataFrame para servir como dados de treinamento para o modelo.Cria uma instância do XGBoost para servir como algoritmo de treinamento para os dados.
Chama a função
fit()do XGBoost para criar um modelo e treiná-lo no conjunto de dados.Chama a função
log_model()do Snowflake Model Registry para adicionar o modelo ao registro de modelos.Nota
Os modelos criados por um aplicativo devem ser armazenados em um registro de modelos. Os aplicativos não podem acessar modelos armazenados em um estágio.
Opcional: para permitir que os consumidores executem o procedimento armazenado para treinar o modelo, conceda o privilégio USAGE no procedimento armazenado:
Criar um procedimento armazenado para executar um modelo¶
Crie um procedimento armazenado para a função Python que você usa para chamar o modelo.
Adicionar o código Python que você usa para chamar o modelo
A função
run_modelfaz o seguinte:
Executa a função
load_iris()para carregar o conjunto de dados de aprendizado de máquina iris.Usa o
pandaspara criar um DataFrame com base no conjunto de dados iris.Executa a função
get_model()para obter o registro do modelo.Executa a função de previsão no modelo.
Retorna o resultado.
Opcional: para permitir que os consumidores executem o procedimento armazenado para treinar o modelo, conceda o privilégio USAGE no procedimento armazenado:
Executar os procedimentos armazenados¶
Se o aplicativo conceder o privilégio USAGE nesses procedimentos armazenados a uma função de aplicativo, os consumidores poderão chamar os procedimentos armazenados para treinar e executar os modelos, conforme mostrado nos exemplos a seguir:
Esse comando chama o procedimento armazenado py_log_model para treinar o modelo.
Esse comando chama o procedimento armazenado py_call_predict para chamar a função de previsão no modelo.