MicrosoftML (SQL Server Machine Learning 服務中的 R 套件)

適用於:SQL Server 2016 (13.x) 和更新版本

MicrosoftML 是來自 Microsoft 的 R 套件,其提供高效能的機器學習演算法。 它包含用於定型與轉換、評分、文字與影像分析的函式,以及用於從現有資料衍生值的特徵擷取。 此套件包含在 SQL Server Machine Learning 服務SQL Server 2016 R 服務中,並支援巨量資料的高效能、使用多核心處理,以及快速的資料串流。 MicrosoftML 也包含許多適用於文字與影像處理的轉換。

完整參考文件

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

版本與平台

MicrosoftML 套件以 R 3.5.2 為基礎,只有當您安裝下列其中一項 Microsoft 產品或下載項目時才可供使用:

注意

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

套件相依性

MicrosoftML 中的演算法在下列方面倚賴 RevoScaleR

  • 資料來源物件。 MicrosoftML 函式所取用的資料是使用 RevoScaleR 函式來建立的資料。
  • 遠端計算 (將函式執行切換至遠端 SQL Server 執行個體)。 RevoScaleR 套件提供建立與啟用 SQL Server 遠端計算內容的函式。

在大多數情況下,您會在每次使用 MicrosoftML 時一起載入套件。

依類別區分的函式

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

1-機器學習演算法

函式名稱 描述
rxFastTrees FastRank 的實作,MART 梯度提升演算法的有效實作。
rxFastForest 使用 rxFastTrees 的隨機樹系與分位數迴歸樹系實作。
rxLogisticRegression 使用 L-BFGS 的羅吉斯迴歸。
rxOneClassSvm 單一類別支援向量機器。
rxNeuralNet 二進位、多類別及迴歸類神經網路。
rxFastLinear 適用於線性二進位分類與迴歸的推測雙座標堆疊最佳化。
rxEnsemble 將一些各種種類的模型定型,以取得與從單一模型取得的效能相比更佳的預測效能。

2-轉換函式

函式名稱 描述
concat 從多個資料行建立單一向量值資料行的轉換。
categorical 搭配字典使用類別目錄轉換來建立指標向量。
categoricalHash 透過雜湊將類別目錄值轉換成指標陣列。
featurizeText 從指定的文字主體產生一包連續單字序列 (稱為 n-grams) 的計數。 這可提供語言偵測、Token 化、停用字詞移除、文字正規化及特徵產生。
getSentiment 對自然語言文字進行評分,並建立包含文字中情緒為正面之機率的資料行。
ngram 允許定義適用於計數型和雜湊型特徵擷取的引數。
selectColumns 選取一組要重新定型的資料行,捨棄所有其他資料行。
selectFeatures 使用指定的模式從指定的變數中選取功能。
loadImage 載入影像資料。
resizeImage 使用指定的調整大小方法,將影像大小調整成指定的維度。
extractPixels 從影像中擷取像素值。
featurizeImage 使用預先定型的深度類神經網路模型將影像特徵化。

3-評分與定型函式

函式名稱 描述
rxPredict.mlModel 從 SQL Server、使用預存程序或從啟用即時評分功能的 R 程式碼來執行評分程式庫,以提供更快的預測效能。
rxFeaturize 將資料從輸入資料集轉換至輸出資料集。
mlModel 提供 Microsoft R Machine Learning 模型的摘要。

4-分類與迴歸的損失函式

函式名稱 描述
expLoss 指數分類損失函式的規格。
logLoss 記錄分類損失函式的規格。
hingeLoss 鉸鏈分類損失函式的規格。
smoothHingeLoss 平滑鉸鏈分類損失函式的規格。
poissonLoss 波氏迴歸損失函式的規格。
squaredLoss 平方迴歸損失函式的規格。

5-功能選取函式

函式名稱 描述
minCount 計數模式中特徵選取的規格。
mutualInformation 相互資訊模式中特徵選取的規格。

6-整體模型化函式

函式名稱 描述
fastTrees 建立包含可使用 rxEnsemble 將「快速樹狀結構」模型定型之函式名稱與引數的清單。
fastForest 建立包含可使用 rxEnsemble 將「快速樹系」模型定型之函式名稱與引數的清單。
fastLinear 建立包含可使用 rxEnsemble 將「快速線性」模型定型之函式名稱與引數的清單。
logisticRegression 建立包含可使用 rxEnsemble 將羅吉斯迴歸模型定型之函數名稱與引數的清單。
oneClassSvm 建立包含可使用 rxEnsemble 將 OneClassSvm 模型定型之函式名稱與引數的清單。

7-類神經網路函式

函式名稱 描述
optimizer 指定 rxNeuralNet 機器學習演算法的最佳化演算法。

8-套件狀態函式

函式名稱 描述
rxHashEnv 用來儲存全套件狀態的環境物件。

如何使用 MicrosoftML

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

適用於 R 的 MicrosoftML 套件在 SQL Server 2017 中是「現成」安裝的項目。

預設並不會安裝此套件。 作為第一步,請載入 MicrosoftML 套件,然後如果您需要使用遠端計算內容、相關連線能力或資料來源物件,則載入 RevoScaleR。 接著,參考您需要的個別函式。

library(microsoftml);
library(RevoScaleR);
logisticRegression(args);

另請參閱