RevoScaleR (pakiet R in SQL Server Machine Learning Services)

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje

RevoScaleR to pakiet R od Microsoft, który obsługuje rozproszone obliczenia, zdalne konteksty obliczeniowe oraz wysokowydajne algorytmy nauki o danych. Obsługuje także import danych, ich transformację, streszczenie, wizualizację i analizę. Pakiet jest zawarty w usługach SQL Server Machine Learning Services i SQL Server 2016 R Services.

W przeciwieństwie do podstawowych funkcji R, operacje RevoScaleR mogą być wykonywane na dużych zbiorach danych, równolegle oraz na rozproszonych systemach plików. Funkcje mogą działać nad zbiorami danych, które nie mieszczą się w pamięci, poprzez podział na części oraz ponowne składanie wyników po zakończeniu operacji.

Funkcje RevoScaleR oznaczane są prefiksem rx** lub Rx , aby ułatwić ich identyfikację.

RevoScaleR służy jako platforma do rozproszonej nauki o danych. Na przykład możesz używać kontekstów obliczeniowych i transformacji RevoScaleR z najnowocześniejszymi algorytmami w MicrosoftML. Możesz też użyć rxExec do uruchamiania podstawowych funkcji R równolegle.

Pełna dokumentacja referencyjna

Pakiet RevoScaleR jest dystrybuowany w wielu produktach Microsoft, ale zużycie jest takie samo, niezależnie od tego, czy dostajesz pakiet w SQL Server, czy w innym produkcie. Ponieważ funkcje są takie same, dokumentacja dla poszczególnych funkcji RevoScaleR jest publikowana tylko w jednym miejscu pod referencją R. Jeśli istnieją jakiekolwiek zachowania charakterystyczne dla produktu, rozbieżności zostaną zanotowane na stronie pomocy funkcji.

Wersje i platformy

Pakiet RevoScaleR oparty jest na R 3.4.3 i dostępny tylko po zainstalowaniu jednego z następujących produktów lub pobranych produktów Microsoft:

Note

Pełne wersje wydania produktu są dostępne wyłącznie na Windows w SQL Server 2017. Zarówno Windows, jak i Linux są obsługiwane dla RevoScaleR w SQL Server 2019.

Funkcje według kategorii

Ta sekcja wymienia funkcje według kategorii, aby dać Ci wyobrażenie, jak każda z nich jest używana. Możesz również użyć spisu treści , aby znaleźć funkcje w kolejności alfabetycznej.

1 — źródło danych i obliczenia

RevoScaleR zawiera funkcje tworzenia źródeł danych oraz ustalania lokalizacji, czyli kontekstu obliczeniowego, miejsca, w którym wykonywane są obliczenia. Obiekt źródła danych to kontener określający ciąg połączenia wraz ze zbiorem danych, które chcesz uzyskać, zdefiniowanych jako tabela, widok lub zapytanie. Wywołania procedur przechowywanych nie są obsługiwane. Funkcje istotne dla scenariuszy programu SQL Server są wymienione w poniższej tabeli.

SQL Server i R w niektórych przypadkach używają różnych typów danych. Listę odwzorowań między typami danych SQL i R można znaleźć w artykule Typy danych R-do-SQL.

Funkcja Description
RxInSqlServer Utwórz obiekt kontekstu obliczeniowego programu SQL Server w celu wypychania obliczeń do wystąpienia zdalnego. Kilka funkcji RevoScaleR przyjmuje kontekst obliczeniowy jako argument.
rxGetComputeContext / rxSetComputeContext Pobierz lub ustaw aktywny kontekst obliczeniowy.
RxSqlServerData Utwórz obiekt danych na podstawie zapytania lub tabeli programu SQL Server.
RxOdbcData Utwórz źródło danych na podstawie połączenia ODBC.
RxXdfData Utwórz źródło danych na podstawie lokalnego pliku XDF. Pliki XDF są często używane do odciążania danych w pamięci na dysku. Plik XDF może być przydatny podczas pracy z większą ilością danych niż można przesyłać z bazy danych w jednej partii lub więcej danych, niż można zmieścić w pamięci. Jeśli na przykład regularnie przenosisz duże ilości danych z bazy danych na lokalną stację roboczą, zamiast wykonywać zapytania dotyczące bazy danych wielokrotnie dla każdej operacji języka R, możesz użyć pliku XDF jako rodzaju pamięci podręcznej, aby zapisać dane lokalnie, a następnie pracować z nią w obszarze roboczym języka R.

Wskazówka

Jeśli dopiero zaczynasz od pomysłu źródeł danych lub kontekstów obliczeniowych, zalecamy rozpoczęcie pracy z artykułem Przetwarzanie rozproszone.

Wykonywanie instrukcji DDL

Możesz wykonywać instrukcje DDL z R, jeśli masz odpowiednie uprawnienia do instancji i bazy danych. Następujące funkcje wykorzystują wywołania ODBC do wykonywania instrukcji DDL lub pobierania schematu bazy danych.

Funkcja Description
rxSqlServerTableExists oraz rxSqlServerDropTable Usuń tabelę SQL Server lub sprawdź istnienie tabeli lub obiektu bazy danych.
rxExecuteSQLDDL Wykonaj polecenie Data Definition Language (DDL), które definiuje lub manipuluje obiektami bazy danych. Funkcja ta nie zwraca danych i służy jedynie do pobierania lub modyfikowania schematu obiektów lub metadanych.

2-Manipulowanie danymi (ETL)

Po utworzeniu obiektu źródłowego możesz użyć go do załadowania danych, transformacji danych lub zapisu nowych danych do określonego miejsca docelowego. W zależności od wielkości danych w źródle możesz także zdefiniować rozmiar partii jako część źródła danych i przenosić dane w kawałkach.

Funkcja Description
rxOpen-methods Sprawdź, czy źródło danych jest dostępne, otwórz lub zamknij źródło danych, odczytaj dane ze źródła, zapisz dane do celu i zamknij źródło danych.
rxImport Przenieś dane ze źródła danych do pamięci plików lub do ramki danych.
rxDataStep Przekształcaj dane podczas przenoszenia ich między źródłami danych.

3 — Rysowanie wykresów funkcji

Nazwa funkcji Description
rxHistogram Tworzy histogram z danych.
rxLinePlot Tworzy wykres liniowy z danych.
rxLorenz Oblicza krzywą Lorenza, którą można narysować.
rxRocCurve Oblicza i rysuje krzywe ROC na podstawie rzeczywistych i przewidywanych danych.

4-Statystyka opisowa

Nazwa funkcji Description
rxQuantile* Oblicza przybliżone kwantyle dla plików .xdf i ramek danych bez sortowania.
rxPodsumowanie* Podstawowe podsumowanie statystyk danych, w tym obliczenia według grup. Zapisywanie przez obliczenia grupowe do pliku .xdf nie jest obsługiwane.
rxCrossTabs* Tabulacja krzyżowa danych oparta na formułach.
rxCube* Alternatywna tabela krzyżowa oparta na formułach, zaprojektowana z myślą o wydajnej prezentacji wyników kostki danych. Zapis wyjścia do pliku .xdf nie jest obsługiwany.
rxMarginals Marginalne podsumowania krzyżowych tabulacji.
as.xtabs Konwertuje wyniki tabeli krzyżowej na obiekt xtabs.
rxChiSquaredTest Wykonuje test chi-kwadrat dla obiektu xtabs. Stosowany z małymi zbiorami danych i nie dzieli danych.
rxFisherTest Wykonuje dokładny test Fishera dla obiektu xtabs. Stosowany z małymi zbiorami danych i nie dzieli danych.
rxKendallCor Oblicza współczynnik korelacji rangi Tau Kendalla za pomocą obiektu xtabs.
rxPairwiseCrossTab Zastosuj funkcję do parowych kombinacji wierszy i kolumn obiektu xtabs.
rxRiskRatio Oblicz względne ryzyko dla obiektu xtabs o wymiarze dwa na dwa.
rxOddsRatio Oblicz iloraz szans na obiekcie xtabs o profilu dwa na dwa.

* Oznacza najpopularniejsze funkcje w tej kategorii.

5-funkcje predykcyjne

Nazwa funkcji Description
rxLinMod* Dopasowuje model liniowy do danych.
rxLogit* Dopasowuje model regresji logistycznej do danych.
rxGlm* Dopasowuje uogólniony model liniowy do danych.
rxCovCor* Oblicz kowariancję, korelację lub macierz sum kwadratów i iloczynów krzyżowych dla zbioru zmiennych.
rxDTree* Dopasowuje drzewo klasyfikacji lub regresji do danych.
rxBTrees* Dopasowuje las decyzyjny klasyfikacji lub regresji do danych za pomocą algorytmu stochastycznego wzmacniania gradientu.
rxDForest* Dopasowuje model decyzyjnego lasu klasyfikacyjnego lub regresyjnego do danych.
rxPredict* Oblicza prognozy dla dopasowanych modeli. Wyjście musi być źródłem danych XDF.
rxKmeans* Wykonuje klasteryzację metodą k-średnich.
rxNaiveBayes* Wykonuje klasyfikację Naivnego Bayesa.
rxCov Oblicz macierz kowariancji dla zbioru zmiennych.
rxCor Oblicz macierz korelacji dla zestawu zmiennych.
rxSSCP Oblicz macierz sum kwadratów i iloczynów krzyżowych dla zbioru zmiennych.
rxRoc Obliczenia charakterystyki operacyjnej odbiornika (ROC) z wykorzystaniem rzeczywistych i przewidywanych wartości z systemu klasyfikatorów binarnych.

* Oznacza najpopularniejsze funkcje w tej kategorii.

Jak pracować z RevoScaleR

Funkcje w RevoScaleR można wywołać w kodzie R enkapsulowanym w procedurach przechowywanych. Większość programistów buduje rozwiązania RevoScaleR lokalnie, a następnie migruje gotowy kod R do procedur przechowywanych jako ćwiczenie wdrożenia.

Podczas uruchamiania lokalnie zazwyczaj uruchamiasz skrypt R z wiersza poleceń lub ze środowiska R i określasz kontekst obliczeniowy SQL Server, używając jednej z funkcji RevoScaleR. Można użyć zdalnego kontekstu obliczeniowego dla całego kodu lub dla poszczególnych funkcji. Na przykład możesz odciążyć trenowanie modelu na serwerze, aby używać najnowszych danych i unikać przenoszenia danych.

Gdy jesteś gotowy do enkapsulacji skryptu R w procedurze przechowywanej, sp_execute_external_script zalecamy przepisanie kodu jako jednej funkcji z jasno zdefiniowanymi wejściami i wyjściami.