revoscalepy (пакет Python в Службах машинного обучения SQL Server)revoscalepy (Python package in SQL Server Machine Learning Services)

Применимо к:Applies to: даSQL Server 2017 (14.x);SQL Server 2017 (14.x)yesSQL Server 2017 (14.x);SQL Server 2017 (14.x) и более поздние версииПрименимо к:Applies to: даSQL Server 2017 (14.x);SQL Server 2017 (14.x)yesSQL Server 2017 (14.x);SQL Server 2017 (14.x) and later

revoscalepy — это пакет Python от корпорации Майкрософт, который поддерживает распределенные вычисления, удаленные контексты вычислений и высокопроизводительные алгоритмы обработки и анализа данных.revoscalepy is a Python package from Microsoft that supports distributed computing, remote compute contexts, and high-performance data science algorithms. Этот пакет входит в состав Служб машинного обучения SQL Server.The package is included in SQL Server Machine Learning Services.

Пакет предоставляет следующие функциональные возможности.The package offers the following functionality:

  • локальные и удаленные контексты вычислений в системах с одной версией revoscalepy;Local and remote compute contexts on systems having the same version of revoscalepy
  • функции преобразования и визуализации данных;Data transformation and visualization functions
  • функции обработки и анализа данных, масштабируемые с помощью распределенной или параллельной обработки;Data science functions, scalable through distributed or parallel processing
  • улучшенная производительность, включая использование библиотек Intel Math.Improved performance, including use of the Intel math libraries

Источники данных и контексты вычислений, создаваемые в revoscalepy, можно также использовать в алгоритмах машинного обучения.Data sources and compute contexts that you create in revoscalepy can also be used in machine learning algorithms. Общие сведения об этих алгоритмах см. в статье microsoftml Python module in SQL Server (Модуль Python microsoftml в SQL Server).For an introduction to these algorithms, see microsoftml Python module in SQL Server.

Полная справочная документацияFull reference documentation

Пакет revoscalepy распространяется в нескольких продуктах Майкрософт, но его использование не зависит от того, получили ли вы его в SQL Server или в другом продукте.The revoscalepy package is distributed in multiple Microsoft products, but usage is the same whether you get the package in SQL Server or another product. Благодаря сходству функций документация по отдельным функциям revoscalepy опубликована только в одном разделе в справочнике по Python для Microsoft Machine Learning Server.Because the functions are the same, documentation for individual revoscalepy functions is published to just one location under the Python reference for Microsoft Machine Learning Server. Если для конкретных продуктов функции будут действовать иначе, выявленные расхождения будут приведены на странице справки по функциям.Should any product-specific behaviors exist, discrepancies will be noted in the function help page.

Версии и платформыVersions and platforms

Модуль revoscalepy основан на Python 3.5 и доступен только при установке одного из следующих продуктов или скачиваемых файлов Майкрософт:The revoscalepy module is based on Python 3.5 and available only when you install one of the following Microsoft products or downloads:

Примечание

В SQL Server 2017 полные версии выпусков продуктов доступны только для Windows.Full product release versions are Windows-only in SQL Server 2017. В SQL Server 2019 и более поздних версий пакет revoscalepy поддерживает Windows и Linux.Both Windows and Linux are supported for revoscalepy in SQL Server 2019 and later.

Функции по категориямFunctions by category

Чтобы можно было понять, как использовать каждую функцию, в этом разделе приводится описание функций по категориям.This section lists the functions by category to give you an idea of how each one is used. Для поиска функций в алфавитном порядке можно воспользоваться оглавлением.You can also use the table of contents to find functions in alphabetical order.

1. Источники данных и вычисления1-Data source and compute

revoscalepy содержит функции для создания источников данных и настройки расположения или контекста вычисления, в котором выполняются вычисления.revoscalepy includes functions for creating data sources and setting the location, or compute context, of where computations are performed. Функции, относящиеся к сценариям SQL Server, приведены в таблице ниже.Functions relevant to SQL Server scenarios are listed in the table below.

В некоторых случаях SQL Server и Python используют разные типы данных.SQL Server and Python use different data types in some cases. Список сопоставлений между типами данных SQL и Python см. в разделе о типах данных Python и SQL.For a list of mappings between SQL and Python data types, see Python-to-SQL data types.

ФункцияFunction ОписаниеDescription
RxInSqlServerRxInSqlServer Создание объекта контекста вычисления SQL Server для отправки вычислений в удаленный экземпляр.Create a SQL Server compute context object to push computations to a remote instance. Несколько функций revoscalepy принимают контекст вычисления в качестве аргумента.Several revoscalepy functions take compute context as an argument. Пример переключения контекста см. в статье о создание модели с помощью пакета revoscalepy.For a context-switch example, see Create a model using revoscalepy.
RxSqlServerDataRxSqlServerData Создание объекта данных на основе запроса или таблицы SQL Server.Create a data object based on a SQL Server query or table.
RxOdbcDataRxOdbcData Создание источника данных на основе соединения ODBC.Create a data source based on an ODBC connection.
RxXdfDataRxXdfData Создание источника данных на основе локального XDF-файла.Create a data source based on a local XDF file. XDF-файлы часто используются для разгрузки данных в памяти на диск.XDF files are often used to offload in-memory data to disk. XDF-файл может быть полезен при работе с объемом данных, превышающим объем передаваемых данных из базы данных в одном пакете, или же превышающим допустимый объем данных в памяти.An XDF file can be useful when working with more data than can be transferred from the database in one batch, or more data than can fit in memory. Например, если вам приходится часто перемещать большие объемы данных из базы данных на локальную рабочую станцию, то вместо того, чтобы выполнять запросы к базе данных для каждой операции R, вы можете использовать XDF-файл как кэш, чтобы сохранить данные локально, а затем работать с ними в рабочей области R.For example, if you regularly move large amounts of data from a database to a local workstation, rather than query the database repeatedly for each R operation, you can use the XDF file as a kind of cache to save the data locally and then work with it in your R workspace.

Совет

Если вы не знакомы с концепциями источников данных или контекстов вычислений, рекомендуется начать с изучения распределенных вычислений в документации по Microsoft Machine Learning Server.If you are new to the idea of data sources or compute contexts, we recommend that you start with distributed computing in the Microsoft Machine Learning Server documentation.

2. Работа с данными (ETL)2-Data manipulation (ETL)

ФункцияFunction ОписаниеDescription
rx_importrx_import Импорт данных в XDF-файл или кадр данных.Import data into a .xdf file or data frame.
rx_data_steprx_data_step Преобразование данных из набора входных данных в набор выходных данных.Transform data from an input data set to an output data set.

3. Обучение и формирование сводных данных3-Training and summarization

ФункцияFunction ОписаниеDescription
rx_btreesrx_btrees Подбор деревьев принятия решений со стохастическим градиентным усилениемFit stochastic gradient boosted decision trees
rx_dforestrx_dforest Подбор лесов принятия решений по классификации и регрессииFit classification and regression decision forests
rx_dtreerx_dtree Подбор деревьев классификации и регрессииFit classification and regression trees
rx_lin_modrx_lin_mod создание модели линейной регрессии;Create a linear regression model
rx_logitrx_logit создание модели логистической регрессии;Create a logistic regression model
rx_summaryrx_summary Создание однозначных сводок по объектам в revoscalepy.Produce univariate summaries of objects in revoscalepy.

Кроме того, для реализации дополнительных подходов следует изучить функции в microsoftml.You should also review the functions in microsoftml for additional approaches.

4. Функции оценки4-Scoring functions

КомпонентFunction ОписаниеDescription
rx_predictrx_predict Создание прогнозов на основе обученной моделиGenerate predictions from a trained model )) Создает прогнозы на основе обученной модели и может использоваться для оценки в реальном времени.Generates predictions from a trained model and can be used for real-time scoring.
rx_predict_defaultrx_predict_default Вычисление прогнозируемых значений и остатков с помощью объектов rx_lin_mod и rx_logit.Compute predicted values and residuals using rx_lin_mod and rx_logit objects.
rx_predict_rx_dforestrx_predict_rx_dforest Вычисление прогнозируемых или подогнанных значений для набора данных на основе объектов rx_dforest или rx_btrees.Calculate predicted or fitted values for a data set from an rx_dforest or rx_btrees object.
rx_predict_rx_dtreerx_predict_rx_dtree Вычисление прогнозируемых или подогнанных значений для набора данных на основе объекта rx_dtree.Calculate predicted or fitted values for a data set from an rx_dtree object.

Работа с revoscalepyHow to work with revoscalepy

Функции в revoscalepy вызываются в коде Python, инкапсулированном в хранимые процедуры.Functions in revoscalepy are callable in Python code encapsulated in stored procedures. Большинство разработчиков создают решения revoscalepy локально, а затем переносят готовый код Python в хранимые процедуры, отрабатывая, таким образом, процедуру развертывания.Most developers build revoscalepy solutions locally, and then migrate finished Python code to stored procedures as a deployment exercise.

При локальном выполнении скрипт Python обычно запускается из командной строки или из среды разработки Python с указанием контекста вычисления SQL Server с помощью одной из функций revoscalepy.When running locally, you typically run a Python script from the command line, or from a Python development environment, and specify a SQL Server compute context using one of the revoscalepy functions. Удаленный контекст вычисления можно использовать для всего кода или для отдельных функций.You can use the remote compute context for the entire code, or for individual functions. Например, может потребоваться разгрузить обучение модели на сервер, чтобы работать с актуальными данными и исключить перемещение данных.For example, you might want to offload model training to the server to use the latest data and avoid data movement.

Когда вы будете готовы инкапсулировать скрипт Python в хранимую процедуру sp_execute_external_script, рекомендуется переписать код и оформить его в виде функции, которая содержит четко определенные входные и выходные данные.When you are ready to encapsulate Python script inside a stored procedure, sp_execute_external_script, we recommend rewriting the code as a single function that has clearly defined inputs and outputs.

Входные и выходные данные должны быть кадрами данных Pandas.Inputs and outputs must be pandas data frames. После этого вы сможете вызывать хранимую процедуру из любого клиента, который поддерживает T-SQL, без труда передавать запросы SQL в качестве входных данных и сохранять результаты в таблицах SQL.When this is done, you can call the stored procedure from any client that supports T-SQL, easily pass SQL queries as inputs, and save the results to SQL tables. Пример см. в статье об анализе данных с помощью Python для разработчиков SQL.For an example, see Learn in-database Python analytics for SQL developers.

Использование revoscalepy с microsoftmlUsing revoscalepy with microsoftml

Функции Python для microsoftml интегрированы с контекстами вычислений и источниками данных, предоставленными в revoscalepy.The Python functions for microsoftml are integrated with the compute contexts and data sources that are provided in revoscalepy. При вызове функций из microsoftml, например при определении и обучении модели, функции revoscalepy можно использовать для выполнения кода Python в локальной среде или в удаленном контексте вычисления SQL Server.When calling functions from microsoftml, for example when defining and training a model, use the revoscalepy functions to execute the Python code either locally or in a SQL Server remote compute context.

В следующем примере показан синтаксис импорта модулей в коде Python.The following example shows the syntax for importing modules in your Python code. Затем можно сослаться на нужные вам функции.You can then reference the individual functions you need.

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

См. также разделSee also