revoscalepy (pacote de Python nos Serviços de Machine Learning do SQL Server)
Aplica-se a: SQL Server 2017 (14.x) e posterior
O revoscalepy é um pacote de Python da Microsoft que dá suporte à computação distribuída, a contextos de computação remota e a algoritmos de ciência de dados de alto desempenho. O pacote está incluído nos Serviços de Machine Learning do SQL Server.
O pacote oferece a seguinte funcionalidade:
- Contextos de computação local e remota em sistemas com a mesma versão do revoscalepy
- Funções de visualização e transformação de dados
- Funções de ciência de dados, escalonáveis por meio de processamento distribuído ou paralelo
- Melhor desempenho, incluindo o uso das bibliotecas de matemática Intel
As fontes de dados e os contextos de computação criados no revoscalepy também podem ser usados em algoritmos de aprendizado de máquina. Para obter uma introdução a esses algoritmos, confira Módulo microsoftml do Python no SQL Server.
Documentação de referência completa
O pacote revoscalepy é distribuído em vários produtos da Microsoft, mas o uso é o mesmo com o pacote no SQL Server ou em outro produto. Como as funções são as mesmas, a documentação para funções individuais do revoscalepy é publicada em apenas uma localização na referência do Python. Se existirem comportamentos específicos do produto, as discrepâncias serão indicadas na página de ajuda da função.
Versões e plataformas
O módulo revoscalepy se baseia no Python 3.5 e está disponível somente quando você instala um dos seguintes produtos ou downloads da Microsoft:
- Serviços de Machine Learning do SQL Server
- Bibliotecas de clientes do Python para um cliente de ciência de dados
Observação
As versões completas do produto são somente Windows no SQL Server 2017. Há suporte no Windows e no Linux para o revoscalepy no SQL Server 2019 e posteriores.
Funções por categoria
Esta seção lista as funções por categoria para dar uma ideia de como cada uma é usada. Use também o sumário para localizar as funções em ordem alfabética.
1 – Fonte de dados e computação
O revoscalepy inclui funções para criar fontes de dados e definir a localização ou o contexto de computação, de execução dos cálculos. Funções relevantes para cenários do SQL Server são listadas na tabela abaixo.
O SQL Server e o Python usam diferentes tipos de dados em alguns casos. Para obter uma lista de mapeamentos entre os tipos de dados SQL e Python, confira Tipos de dados do Python para SQL.
Função | Descrição |
---|---|
RxInSqlServer | Crie um objeto de contexto de computação do SQL Server para efetuar push de cálculos para uma instância remota. Várias funções do revoscalepy usam o contexto de computação como argumento. Para obter um exemplo de alternância de contexto, confira Criar um modelo usando revoscalepy. |
RxSqlServerData | Crie um objeto de dados com base em uma consulta ou uma tabela do SQL Server. |
RxOdbcData | Crie uma fonte de dados com base em uma conexão ODBC. |
RxXdfData | Crie uma fonte de dados com base em um arquivo XDF local. Os arquivos XDF geralmente são usados para descarregar dados na memória no disco. Um arquivo XDF pode ser útil ao trabalhar com mais dados do que é possível transferir do banco de dados em um lote ou mais dados do que cabem na memória. Por exemplo, se você mover regularmente grandes quantidades de dados de um banco de dados para uma estação de trabalho local, em vez de consultar o banco de dados repetidamente para cada operação do R, use o arquivo XDF como um tipo de cache para salvar os dados localmente e, em seguida, trabalhar com eles no workspace do R. |
Dica
Se a ideia de fontes de dados ou contextos de computação for uma novidade para você, recomendamos que comece com o artigo Computação distribuída.
2 – Manipulação de dados (ETL)
Função | Descrição |
---|---|
rx_import | Importe dados para um arquivo .xdf ou um quadro de dados. |
rx_data_step | Transforme dados de um conjunto de dados de entrada em um conjunto de dados de saída. |
3 – Treinamento e resumo
Função | Descrição |
---|---|
rx_btrees | Ajuste árvores de decisão aumentadas de gradiente alheatórias |
rx_dforest | Ajuste florestas de decisão de classificação e regressão |
rx_dtree | Ajuste árvores de classificação e regressão |
rx_lin_mod | Criar um modelo de regressão linear |
rx_logit | Criar um modelo de regressão logística |
rx_summary | Produza resumos monovariáveis de objetos no revoscalepy. |
Examine também as funções no microsoftml para ver outras abordagens.
4 – Funções de pontuação
Função | Descrição |
---|---|
rx_predict | Gera previsões com base em um modelo treinado e pode ser usado para pontuação em tempo real. |
rx_predict_default | Calcule os valores previstos e os resíduos usando objetos rx_lin_mod e rx_logit. |
rx_predict_rx_dforest | Calcule os valores previstos ou ajustados para um conjunto de dados de um objeto rx_dforest ou rx_btrees. |
rx_predict_rx_dtree | Calcule os valores previstos ou ajustados para um conjunto de dados de um objeto rx_dtree. |
Como trabalhar com o revoscalepy
As funções do revoscalepy podem ser chamadas no código Python encapsulado em procedimentos armazenados. A maioria dos desenvolvedores cria soluções do revoscalepy localmente e, em seguida, migra o código do Python concluído para procedimentos armazenados como um exercício de implantação.
Na execução local, normalmente, você executa um script Python na linha de comando ou em um ambiente de desenvolvimento do Python e especifica um contexto de computação do SQL Server usando uma das funções do revoscalepy. Use o contexto de computação remota para todo o código ou para funções individuais. Por exemplo, talvez você queira descarregar o treinamento do modelo no servidor para usar os dados mais recentes e evitar a movimentação de dados.
Quando você estiver pronto para encapsular o script Python dentro de um procedimento armazenado, sp_execute_external_script, recomendamos reescrever o código como uma única função que tenha entradas e saídas claramente definidas.
As entradas e as saídas precisam ser quadros de dados Pandas. Quando isso for feito, você poderá chamar o procedimento armazenado em qualquer cliente que dê suporte a T-SQL, passar com facilidade consultas SQL como entradas e salvar os resultados em tabelas SQL. Para obter um exemplo, confira Saiba mais sobre a análise do Python no banco de dados para desenvolvedores do SQL.
Como usar o revoscalepy com o microsoftml
As funções do Python para o microsoftml são integradas às fontes de dados e aos contextos de computação fornecidos no revoscalepy. Ao chamar funções no microsoftml, por exemplo, ao definir e treinar um modelo, use as funções do revoscalepy para executar o código Python localmente ou em um contexto de computação remota do SQL Server.
O exemplo a seguir mostra a sintaxe para importar módulos no código Python. Em seguida, referencie as funções individuais necessárias.
from microsoftml.modules.logistic_regression.rx_logistic_regression import rx_logistic_regression
from revoscalepy.functions.RxSummary import rx_summary
from revoscalepy.etl.RxImport import rx_import_datasource