MicrosoftML (R csomag a SQL Server Machine Learning Services-ben)

A következőkre vonatkozik: SQL Server 2016 (13.x) és újabb verziók

A MicrosoftML egy R csomag a Microsoft-tól, amely nagy teljesítményű gépi tanulási algoritmusokat kínál. Tartalmaz funkciókat a képzéshez és transzformációkhoz, pontozáshoz, szöveg- és képelemzéshez, valamint jellemzők kinyeréséhez szükséges értékek leszármaztatására meglévő adatokból. A csomag a SQL Server Machine Learning Services és SQL Server 2016 R Services részeként szerepel, és magas teljesítményt támogat a big data-kon, többmagos feldolgozást és gyors adatfolyamot. A MicrosoftML számos szöveg- és képfeldolgozási transzformációt is tartalmaz.

Teljes referenciadokumentáció

A MicrosoftML csomag több Microsoft termékben is elérhető, de a használat ugyanaz, akár SQL Server-ben, akár más termékben kapod meg. Mivel a függvények ugyanazok, az egyes RevoScaleR függvények dokumentációja csak egy helyen jelenik meg az R hivatkozás alatt. Ha léteznek termékspecifikus viselkedések, az eltéréseket a függvény súgóoldalán fogjuk feljegyezni.

Verziók és platformok

A MicrosoftML csomag az R 3.5.2-re épül, és csak akkor érhető el, ha az alábbi Microsoft termékek vagy letöltések egyikét telepíted:

Note

A teljes termékkiadású verziók kizárólag Windows verzióban elérhetők az SQL Server 2017-ben. Mind a Windows, mind a Linux támogatott a MicrosoftML-hez az SQL Server 2019-ben.

Csomagfüggőségek

A MicrosoftML algoritmusai a RevoScaleR-re támaszkodnak a következőkért:

  • Adatforrás objektumok. A MicrosoftML függvények által felhasznált adatokat RevoScaleR függvényekkel hozzák létre.
  • Távoli számítástechnika (a függvény végrehajtásának áthelyezése egy távoli SQL Server példányra). A RevoScaleR csomag funkciókat biztosít az SQL Server távoli számítási kontextusának létrehozásához és aktiválásához.

A legtöbb esetben a csomagokat együtt töltöd be, amikor MicrosoftML-t használsz.

Függvények kategória szerint

Ez a rész kategóriák szerint sorolja fel a függvényeket, hogy képet kapj arról, hogyan használják mindegyiket. A tartalomjegyzékben betűrendben is kereshet függvényeket.

1-Gépi tanulási algoritmusok

Függvény neve Description
rxFastTrees A FastRank megvalósítása, a MART gradiens booster algoritmus hatékony megvalósítása.
rxFastForest Egy véletlenszerű erdő és kvantil regressziós erdő megvalósítás rxFastTrees használatával.
rxLogicRegression Logisztikai regresszió L-BFGS segítségével.
rxOneClassSvm Egy osztály támogatja a vektorgépeket.
rxNeuralNet Bináris, többosztályos és regressziós neurális hálózat.
rxFastLinear Sztochasztikus duális koordinátaemelkedéses optimalizálás lineáris bináris osztályozáshoz és regresszióhoz.
rxEnsemble Számos különböző modellt képez, hogy jobb előrejelző teljesítményt érjen el, mint amit egyetlen modell képes lenne elérni.

2-Transzformációs függvények

Függvény neve Description
concat Transzformáció, amely egyetlen vektorértékű oszlopot hozhat létre több oszlopból.
kategóriás Hozz létre indikátorvektort kategórikus transzformációval szótárral.
categoricalHash A kategóriabeli értéket indikátori tömbbe alakítja hash-el.
featurizeText Egy adott szövegkorpuszból előállítja az egymást követő szavak sorozatai, azaz az ún. n-gramok előfordulási számának gyűjteményét. Nyelvfelismerést, tokenizációt, stopword eltávolítását, szöveg normalizálását és jellemzők generálását kínálja.
getSentiment Pontozza a természetes nyelvi szöveget, és létrehoz egy oszlopot, amely tartalmazza annak valószínűségét, hogy a szövegben szereplő érzelmek pozitívak.
ngram lehetővé teszi az argumentumok meghatározását a szám- és hash-alapú jellemzők kinyeréséhez.
selectColumns Kiválaszt egy oszlopkészletet az újratanításhoz, az összes többi oszlopot pedig elhagyja.
selectFeatures A megadott változók közül választja ki a jellemzőket egy meghatározott módban.
loadImage Képadatokat tölt be.
resizeImage Átméretezi a képet egy megadott méretre egy megadott átméretezési módszerrel.
extractPixels Kinyeri a pixelértékeket a képből.
featurizeImage Egy előre beképzett mély neurális hálózati modell segítségével featírizálja a képet.

3-Pontozási és képzési funkciók

Függvény neve Description
rxPredict.mlModel A pontozási könyvtárat SQL Server-ből futtatja a tárolt eljárás használatával, vagy R kódból, lehetővé téve a valós idejű pontozást, így sokkal gyorsabb előrejelzési teljesítményt nyújt.
rxFeaturize Az adatokat egy bemeneti adathalmazból egy kimeneti adathalmazmá alakítja.
mlModel Összefoglalót nyújt egy Microsoft R Machine Learning modellről.

4-Veszteségfüggvények a osztályozáshoz és regresszióhoz

Függvény neve Description
expLoss Az exponenciális osztályozási veszteségfüggvény specifikációi.
logLoss A log osztályozási veszteségfüggvény specifikációi.
hingeLoss A zsanérosztályozási veszteségfüggvény specifikációi.
smoothHingeLoss A sima zsanérosztályozási veszteségfüggvény specifikációi.
poissonLoss Poisson regressziós veszteségfüggvény specifikációi.
squaredLoss A négyzetes regressziós veszteségfüggvény specifikációi.

5-Funkcióválasztási funkciók

Függvény neve Description
minCount Specifikáció a jellemzők kiválasztásához számlálási módban.
kölcsönös információ Specifikáció a jellemzők kiválasztására kölcsönös információs módban.

6-Együttesmodellezési függvények

Függvény neve Description
fastTrees Létrehoz egy listát, amely tartalmazza a függvény nevét és argumentumokat, hogy egy Fast Tree modellt képezzen rxEnsemble-lel.
fastForest Létrehoz egy listát, amely tartalmazza a függvény nevét és argumentumokat, hogy egy Fast Forest modellt képezzen rxEnsemble-lel.
fastLinear Létrehoz egy listát, amely tartalmazza a függvény nevét és argumentumait, hogy egy gyors lineáris modellt képezzen rxEnsemble-lel.
logisticRegression Létrehoz egy listát, amely tartalmazza a függvény nevét és argumentumait, hogy egy logisztikai regressziós modellt képezzen rxEnsemble-lel.
oneClassSvm Létrehoz egy listát, amely tartalmazza a függvény nevét és argumentumokat, hogy OneClassSvm modellt képezzen rxEnsemble-lel.

7-Neurális hálózati funkciók

Függvény neve Description
Optimizer Meghatározza az rxNeuralNet gépi tanulási algoritmus optimalizálási algoritmusait.

8-csomagos állapotfüggvények

Függvény neve Description
rxHashEnv Egy környezeti objektum, amely a csomagszintű állapot tárolására szolgál.

Hogyan használjuk a MicrosoftML-t

A MicrosoftML függvényei R kódban hívhatók, amely tárolt eljárásokban kapszulálozva van. A legtöbb fejlesztő helyi környezetben készíti el a MicrosoftML-megoldásokat, majd a kész R-kódot telepítési lépésként tárolt eljárásokba helyezi át.

Az R-hez készült MicrosoftML csomag alapértelmezetten telepítve van az SQL Server 2017-ben.

A csomag alapértelmezetten nincs betöltve. Első lépésként töltsd be a MicrosoftML csomagot, majd a RevoScaleR-t , ha távoli számítási kontextusokat vagy kapcsolódó kapcsolati vagy adatforrás objektumokat kell használnod. Ezután hivatkozz az egyes funkciókra, amikre szükséged vannak.

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