RevoScaleR (R package in SQL Server Machine Learning Services)

platí pro: SQL Server 2016 (13.x) a novější verze

RevoScaleR je balíček R od Microsoftu, který podporuje distribuované výpočty, vzdálené výpočetní kontexty a vysoce výkonné algoritmy datové vědy. Podporuje také import dat, jejich transformaci, shrnování, vizualizaci a analýzu. Balíček je součástí služeb SQL Server Machine Learning Services a SQL Server 2016 R Services.

Na rozdíl od základních funkcí R lze operace RevoScaleR provádět na velkých datových sadách, paralelně a na distribuovaných souborových systémech. Funkce mohou pracovat nad datovými sadami, které se nevejdou do paměti, pomocí dělení částí a opětovného sestavování výsledků po dokončení operací.

Funkce RevoScaleR jsou označovány předponou rx** nebo Rx , aby byly snadno identifikovatelné.

RevoScaleR slouží jako platforma pro distribuovanou datovou vědu. Například můžete použít výpočetní kontexty a transformace RevoScaleR s nejmodernějšími algoritmy v MicrosoftML. Můžete také použít rxExec pro paralelní spuštění základních funkcí R.

Úplná referenční dokumentace

Balíček RevoScaleR je distribuován v několika produktech Microsoft, ale použití je stejné, ať už balíček získáte v SQL Server nebo v jiném produktu. Protože jsou funkce stejné, dokumentace jednotlivých funkcí RevoScaleR je publikována pouze na jednom místě pod odkazem R. Pokud existují nějaká chování specifická pro jednotlivé produkty, budou na stránce nápovědy funkce zaznamenány nesrovnalosti.

Verze a platformy

Balíček RevoScaleR je založen na R 3.4.3 a je dostupný pouze při instalaci některého z následujících produktů nebo stažení Microsoft:

Poznámka:

Plné verze produktových vydání jsou v SQL Server 2017 dostupné pouze pro Windows. Pro RevoScaleR v SQL Server 2019 jsou podporovány jak Windows, tak Linux.

Funkce podle kategorie

Tato sekce uvádí funkce podle kategorií, abyste měli představu, jak se každá z nich používá. Také můžete použít obsah k vyhledání funkcí v abecedním pořadí.

1 zdroj dat a výpočetní prostředky

RevoScaleR zahrnuje funkce pro vytváření datových zdrojů a nastavování místa, tedy výpočetního kontextu, kde se výpočty provádějí. Objekt datového zdroje je kontejner, který určuje připojovací řetězec spolu se sadou požadovaných dat definovanou buď jako tabulka, pohled nebo dotaz. Volání uložených procedur není podporováno. Funkce relevantní pro scénáře SQL Serveru jsou uvedené v následující tabulce.

SQL Server a R v některých případech používají různé datové typy. Pro seznam mapování mezi SQL a R datovými typy viz R-to-SQL datové typy.

Function Description
RxInSqlServer Vytvořte objekt výpočetního kontextu SQL Serveru pro zápis výpočtů do vzdálené instance. Několik funkcí RevoScaleR bere výpočetní kontext jako argument.
rxGetComputeContext / rxSetComputeContext Získejte nebo nastavte aktivní výpočetní kontext.
RxSqlServerData Vytvoření datového objektu založeného na dotazu nebo tabulce SQL Serveru
RxOdbcData Vytvořte zdroj dat založený na připojení ODBC.
RxXdfData Vytvořte zdroj dat založený na místním souboru XDF. Soubory XDF se často používají k vyložení dat v paměti na disk. Soubor XDF může být užitečný při práci s více daty, než je možné přenést z databáze v jedné dávce nebo více dat, než se vejde do paměti. Pokud například pravidelně přesouváte velké objemy dat z databáze na místní pracovní stanici, místo opakovaného dotazování databáze pro každou operaci R, můžete soubor XDF použít jako druh mezipaměti k uložení dat místně a pak s ní pracovat ve vašem pracovním prostoru R.

Tip

Pokud s myšlenkou zdrojů dat nebo výpočetních kontextů začínáte, doporučujeme začít článkem Distribuované výpočty.

Provádění příkazů DDL

DDL příkazy můžete spustit z R, pokud máte potřebná oprávnění na instanci a databázi. Následující funkce používají volání ODBC k vykonání DDL příkazů nebo k načtení schématu databáze.

Function Description
rxSqlServerTableExists a rxSqlServerDropTable Zrušte tabulku SQL Server nebo zkontrolujte existenci databázové tabulky či objektu.
rxExecuteSQLDDL Spusť příkaz Data Definition Language (DDL), který definuje nebo manipuluje s databázovými objekty. Tato funkce nemůže vracet data a slouží pouze k načtení nebo úpravě schématu objektu či metadat.

2- Manipulace s daty (ETL)

Poté, co vytvoříte objekt datového zdroje, můžete objekt použít k načtení dat, transformaci dat nebo zápisu nových dat do určeného cíle. Podle velikosti dat ve zdroji můžete také definovat velikost dávky jako součást zdroje a přesouvat data po částech.

Function Description
rxOpen-methods Zkontrolujte, zda je zdroj dat dostupný, otevřete nebo zavřete zdroj, čtěte data ze zdroje, zapisujte data na cílovou stanici a uzavřete zdroj dat.
rxImport Přesouvej data ze zdroje do úložiště souborů nebo do datového rámce.
rxDataStep Transformujte data při jejich přesunu mezi zdroji.

3-grafové funkce

Název funkce Description
rxHistogram Vytvoří histogram z dat.
rxLinePlot Vytvoří čárový graf z dat.
rxLorenz Vypočítá Lorenzovu křivku, kterou lze vykreslit.
rxRocCurve Počítá a vykresluje ROC křivky ze skutečných i předpokládaných dat.

4-Deskriptivní statistika

Název funkce Description
rxQuantile* Počítá přibližné kvantily pro soubory .xdf a datové rámce bez třídění.
rxSummary* Základní souhrnné statistiky dat, včetně výpočtů podle skupin. Zápis skupinovými výpočty do souboru .xdf není podporován.
rxCrossTabs* Křížová tabulace dat založená na vzorcích.
rxCube* Alternativní křížová tabulka založená na vzorcích navržená pro efektivní zobrazení výsledků z datové kostky. Zápis výstupu do .xdf souboru není podporován.
rxMarginals Mezní součty křížových tabulek.
as.xtabs Převádí výsledky křížové tabulace na objekt xtabs.
rxChiSquaredTest Provádí chi-kvadrát test u objektu xtabs. Používá se s malými datovými sadami a nedělí data.
rxFisherTest Provádí Fisherův přesný test na objektu xtabs. Používá se s malými datovými sadami a nedělí data.
rxKendallCor Vypočítá Kendallův korelační koeficient pořadí Tau pomocí objektu xtabs.
rxPairwiseCrossTab Aplikujte funkci na párové kombinace řádků a sloupců objektu xtabs.
rxRiskRatio Spočítejte relativní riziko u objektu xtabs o velikosti dva na dva.
rxOddsRatio Spočítejte poměr šancí na objektu xtabs o velikosti dva krát dva.

* Označuje nejoblíbenější funkce v této kategorii.

5 – funkce predikce

Název funkce Description
rxLinMod* Přizpůsobuje lineární model datům.
rxLogit* Proloží data modelem logistické regrese.
rxGlm* Přizpůsobí datům zobecněný lineární model.
rxCovCor* Vypočítejte kovarianci, korelaci nebo součet čtverců / křížovou součinovou matici pro množinu proměnných.
rxDTree* Přizpůsobuje klasifikační nebo regresní strom datům.
rxBTrees* Přizpůsobí klasifikační nebo regresní rozhodovací les datům pomocí algoritmu stochastického gradientního boostingu.
rxDForest* Přizpůsobuje klasifikační nebo regresní rozhodovací les datům.
rxPredict* Počítá predikce pro přizpůsobené modely. Výstup musí být zdrojem dat XDF.
rxKmeans* Provádí shlukování metodou k-průměrů.
rxNaiveBayes* Provádí naivní Bayesovu klasifikaci.
rxCov Vypočítejte kovarianční matici pro množinu proměnných.
rxCor Vypočítejte korelaci matice pro sadu proměnných.
rxSSCP Vypočítejte součet čtverců / matici křížových součinů pro soubor proměnných.
rxRoc Výpočty provozní charakteristiky přijímače (ROC) využívající skutečné a předpovězené hodnoty z binárního klasifikačního systému.

* Označuje nejoblíbenější funkce v této kategorii.

Jak pracovat s RevoScaleR

Funkce v RevoScaleR lze volat v R kódu zapouzdřeném v uložených procedurách. Většina vývojářů vytváří řešení RevoScaleR lokálně a poté migruje dokončený kód jazyka R do uložených procedur v rámci nasazení.

Při lokálním spuštění obvykle spouštíte R skript z příkazové řádky nebo z vývojového prostředí R a specifikujete výpočetní kontext SQL Server pomocí jedné z funkcí RevoScaleR. Můžete použít vzdálený výpočetní kontext pro celý kód nebo pro jednotlivé funkce. Můžete například chtít přesunout trénování modelu na server tak, aby používal nejnovější data a vyhnuli se přesunu dat.

Když jste připraveni zapouzdřit R skript do uložené procedury, sp_execute_external_script doporučujeme přepsat kód jako jednu funkci s jasně definovanými vstupy a výstupy.