Megosztás a következőn keresztül:


Rövid útmutató: R-függvények az SQL machine learning használatával

A következőkre vonatkozik: Sql Server 2016 (13.x) és újabb verziók felügyelt Azure SQL-példány

Ebben a rövid útmutatóban megismerheti, hogyan használhat R matematikai és használati függvényeket az SQL Server Machine Learning Services vagy Big Data-adatfürtök használatával. A statisztikai függvényeket gyakran bonyolult implementálni a T-SQL-ben, de az R-ben csak néhány sornyi kóddal végezhető el.

Ebben a rövid útmutatóban megtudhatja, hogyan használhatja az R matematikai és segédprogramfüggvényeket az SQL Server Machine Learning Services szolgáltatással. A statisztikai függvényeket gyakran bonyolult implementálni a T-SQL-ben, de az R-ben csak néhány sornyi kóddal végezhető el.

Ebben a rövid útmutatóban megtudhatja, hogyan használhatja az R matematikai és segédprogramfüggvényeket az SQL Server R Services használatával. A statisztikai függvényeket gyakran bonyolult implementálni a T-SQL-ben, de az R-ben csak néhány sornyi kóddal végezhető el.

Ebben a rövid útmutatóban megtudhatja, hogyan használhat adatstruktúrákat és adattípusokat az R használata során az Azure SQL Managed Instance Machine Learning Servicesben. Megismerheti az adatok az R és az SQL Managed Instance közötti áthelyezését, valamint az esetlegesen előforduló gyakori problémákat.

Előfeltételek

A rövid útmutató futtatásához a következő előfeltételekre lesz szüksége.

  • R-szkripteket tartalmazó SQL-lekérdezések futtatására szolgáló eszköz. Ez a gyors kezdési útmutató az Azure Data Studio használatát követi.

Tárolt eljárás létrehozása véletlenszerű számok létrehozásához

Az egyszerűség kedvéért használjuk az alapértelmezetten telepített és betöltött R-csomagot stats . A csomag több száz függvényt tartalmaz a gyakori statisztikai feladatokhoz, köztük a rnorm függvényt, amely meghatározott számú véletlenszerű számot hoz létre a normál eloszlás használatával, szórás és középérték alapján.

Az alábbi R-kód például 100 számot ad vissza, amelynek átlaga 50, és szórása 3.

as.data.frame(rnorm(100, mean = 50, sd = 3));

Az R sor T-SQL-ből való meghívásához adja hozzá az R függvényt a következő R-szkriptparaméterhez sp_execute_external_script:

EXECUTE sp_execute_external_script
      @language = N'R'
    , @script = N'
         OutputDataSet <- as.data.frame(rnorm(100, mean = 50, sd =3));'
    , @input_data_1 = N'   ;'
      WITH RESULT SETS (([Density] float NOT NULL));

Mi a teendő, ha egyszerűbbé szeretné tenni a véletlenszerű számok egy másik készletének generálását?

Ez a T-SQL-sel kombinálva egyszerű. Definiálhat egy tárolt eljárást, amely lekéri az argumentumokat a felhasználótól, majd változókként adja át ezeket az argumentumokat az R-szkriptbe.

CREATE PROCEDURE MyRNorm (
    @param1 INT
    , @param2 INT
    , @param3 INT
    )
AS
EXECUTE sp_execute_external_script @language = N'R'
    , @script = N'
	     OutputDataSet <- as.data.frame(rnorm(mynumbers, mymean, mysd));'
    , @input_data_1 = N'   ;'
    , @params = N' @mynumbers int, @mymean int, @mysd int'
    , @mynumbers = @param1
    , @mymean = @param2
    , @mysd = @param3
WITH RESULT SETS(([Density] FLOAT NOT NULL));
  • Az első sor határozza meg a tárolt eljárás végrehajtásakor szükséges SQL-bemeneti paramétereket.

  • A sor az @params R-kód által használt összes változót és a megfelelő SQL-adattípusokat határozza meg.

  • Az azonnal követendő sorok megfeleltetik az SQL-paraméterneveket a megfelelő R-változóneveknek.

Most, hogy becsomagolta az R függvényt egy tárolt eljárásba, egyszerűen meghívhatja a függvényt, és különböző értékeket adhat át, például a következőt:

EXECUTE MyRNorm @param1 = 100,@param2 = 50, @param3 = 3

R segédprogramfüggvények használata hibaelhárításhoz

Az alapértelmezés szerint telepített utils csomag számos segédprogramfüggvényt biztosít az aktuális R-környezet vizsgálatához. Ezek a függvények akkor lehetnek hasznosak, ha eltéréseket tapasztal az R-kód SQL Serveren és külső környezetekben végzett teljesítményében.

Az R system.timeproc.timerendszeridőzítési függvényeivel például rögzítheti az R-folyamatok által használt időt, és elemezheti a teljesítményproblémákat. Példaként tekintse meg az Adatszolgáltatások létrehozása című oktatóanyagot, amelyben R időzítési függvények vannak beágyazva a megoldásba.

EXECUTE sp_execute_external_script
      @language = N'R'
    , @script = N'
        library(utils);
        start.time <- proc.time();
        
        # Run R processes
        
        elapsed_time <- proc.time() - start.time;'

További hasznos függvények: R-kódprofilozási függvények használata a teljesítmény javítása érdekében.

Következő lépések

Ha R használatával szeretne gépi tanulási modellt létrehozni az SQL Machine Learning használatával, kövesse az alábbi rövid útmutatót: