revoscalepy (SQL Server 機器學習服務中的 Python 套件)

適用於: SQL Server 2017 (14.x) 和更新版本

revoscalepy 是來自 Microsoft 的 Python 套件,其支援分散式計算、遠端計算內容,以及高效能資料科學演算法。 該套件包含在 SQL Server 機器學習服務中。

套件提供下列功能:

  • 系統上的本機和遠端計算內容具有相同版本的 revoscalepy
  • 資料轉換與視覺化函式
  • 資料科學函式 (可透過分散式或平行處理進行調整)
  • 提升效能 (包括使用 Intel 數學程式庫)

您在 revoscalepy中建立的資料來源和計算內容也可以在機器學習演算法中使用。 如需這些演算法的簡介,請參閱 SQL Server 中的 microsoftml Python 模組

完整參考文件

revoscalepy 套件分散在多個 Microsoft 產品中,但不論是在 SQL Server 還是其他產品中取得該套件,其使用方式都相同。 因為函數相同,所以個別 revoscalepy 函數的文件只會發佈至 Python 參考下的一個位置。 若有任何產品特定行為存在,函式說明頁面中將會註明不一致之處。

版本與平台

revoscalepy 模組以 Python 3.5 為基礎,且只有當您安裝下列其中一個Microsoft 產品或下載項目時才會提供:

注意

在 SQL Server 2017 中,完整產品發行版本僅適用於 Windows。 在 SQL Server 2019 及更新版本中,revoscalepy 同時支援 Windows 和 Linux。

依類別區分的函式

本節依類別列出函式,讓您了解每個函式的使用方式。 您也可以使用目錄來依字母順序尋找函式。

1-資料來源與計算

revoscalepy 包含用於建立資料來源及設定計算執行位置 (或「計算內容」 ) 的函式。 下表列出與 SQL Server 案例相關的函式。

在某些情況下,SQL Server 和 Python 會使用不同的資料類型。 如需 SQL 與 Python 資料類型間的對應清單,請參閱 Python 與 SQL 的對應資料類型

函式 描述
RxInSqlServer 建立 SQL Server 計算內容物件以將計算推送至遠端執行個體。 數個 revoscalepy 函式會以計算內容作為引數。 如需內容切換範例,請參閱使用 revoscalepy 來建立模型
RxSqlServerData 根據 SQL Server 查詢或資料表來建立資料物件。
RxOdbcData 根據 ODBC 連線來建立資料來源。
RxXdfData 根據本機 XDF 檔案來建立資料來源。 XDF 檔案通常用來將記憶體內的資料卸載至磁碟。 當使用的資料超過可從資料庫以單一批次傳輸的資料,或是超過記憶體可容納的資料時,XDF 檔案非常實用。 例如,如果您會定期將大量資料從資料庫移到本機工作站,而不是針對每個 R 作業重複地查詢資料庫,則您可以使用 XDF 檔案作為一種快取以將資料儲存在本機,然後在您的 R 工作區中使用它。

提示

如果不熟悉資料來源或計算內容,建議先從分散式計算這篇文章開始。

2-資料操作 (ETL)

函式 描述
rx_import 將資料匯入至 .xdf 檔案或資料框架。
rx_data_step 將資料從輸入資料集轉換至輸出資料集。

3-定型與摘要

函式 描述
rx_btrees 符合隨機梯度提升決策樹
rx_dforest 符合分類與迴歸決策樹系
rx_dtree 符合分類與迴歸樹
rx_lin_mod 建立線性迴歸模型
rx_logit 建立羅吉斯迴歸模型
rx_summary 在 revoscalepy 中產生單變量物件摘要。

您也應該檢閱 microsoftml 中的函式來了解額外的方法。

4-評分函式

函式 描述
rx_predict 從已訓練的模型產生預測,並可用於即時評分。
rx_predict_default 使用 rx_lin_mod 和 rx_logit 物件來計算預測值和殘差。
rx_predict_rx_dforest 從 rx_dforest 或 rx_btrees 物件計算資料集的預測值或擬合值。
rx_predict_rx_dtree 從 rx_dtree 物件計算資料集的預測值或擬合值。

如何使用 revoscalepy

封裝在預存程序中的 Python 程式碼可呼叫 revoscalepy 中的函式。 大多數開發人員會在本機建置 revoscalepy解決方案,然後將完成的 Python 程式碼移轉至預存程序作為部署練習。

在本機執行時,您通常會從命令列或從 Python 開發環境執行 Python 指令碼,然後使用其中一個 revoscalepy 函式來指定 SQL Server 計算內容。 您可以將遠端計算內容用於整個程式碼,也可以用於個別函式。 例如,您可以將模型定型卸載至伺服器,以使用最新資料並避免資料移動。

當您準備好將 Python 指令碼封裝在預存程序 sp_execute_external_script 內時,建議您將程式碼重寫成已清楚定義輸入和輸出的單一函式。

輸入和輸出必須是 pandas 資料框架。 完成此作業後,您就可以從任何支援 T-SQL 的用戶端呼叫該預存程序、輕鬆傳遞 SQL 查詢作為輸入,然後將結果儲存至 SQL 資料表。 如需範例,請參閱了解適用於 SQL 開發人員的資料庫內 Python 分析

搭配 microsoftml 使用 revoscalepy

microsoftml 的 Python 函式已與 revoscalepy 中提供的計算內容和資料來源整合。 從 microsoftml 呼叫函式時 (例如定義模型並將其定型時),請使用 revoscalepy 函式在本機或 SQL Server 遠端計算內容中執行 Python 程式碼。

下列範例說明匯入您 Python 程式碼中模組的語法。 可以接著參考所需的個別函數。

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

另請參閱