revoscalepy (pacote de Python nos Serviços de Machine Learning do SQL Server)

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores

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:

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

Confira também