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);