revoscalepy (Python-paket i SQL Server Machine Learning Services)

Gäller för: SQL Server 2017 (14.x) och senare versioner

revoscalepy är ett Python-paket från Microsoft som stöder distribuerad databehandling, fjärrberäkningskontexter och datavetenskapsalgoritmer med höga prestanda. Paketet ingår i SQL Server Machine Learning Services.

Paketet erbjuder följande funktioner:

  • Lokala och fjärranslutna beräkningskontexter på system som har samma version av revoscalepy
  • Funktioner för datatransformering och visualisering
  • Datavetenskapsfunktioner, skalbara genom distribuerad eller parallell bearbetning
  • Förbättrad prestanda, inklusive användning av Intels matematiska bibliotek

Datakällor och beräkningskontexter som du skapar i revoscalepy kan också användas i maskininlärningsalgoritmer. En introduktion till dessa algoritmer finns i microsoftml Python-modulen i SQL Server.

Fullständig referensdokumentation

Revoscalepy-paketet distribueras i flera Microsoft-produkter, men användningen är densamma oavsett om du får paketet i SQL Server eller någon annan produkt. Eftersom funktionerna är desamma publiceras dokumentationen för enskilda revoscalepy-funktioner till bara en plats under Python-referensen. Om det finns några produktspecifika beteenden noteras avvikelser på funktionshjälpsidan.

Versioner och plattformar

Revoscalepy-modulen baseras på Python 3.5 och är endast tillgänglig när du installerar någon av följande Microsoft-produkter eller -nedladdningar:

Anmärkning

Fullständiga produktversioner finns endast för Windows i SQL Server 2017. Både Windows och Linux stöds för revoscalepy i SQL Server 2019 och senare.

Funktioner efter kategori

Detta avsnitt listar funktionerna per kategori för att ge dig en uppfattning om hur varje funktion används. Du kan också använda innehållsförteckningen för att hitta funktioner i alfabetisk ordning.

1-Datakälla och beräkning

revoscalepy innehåller funktioner för att skapa datakällor och ange platsen eller beräkningskontexten för var beräkningar utförs. Funktioner som är relevanta för SQL Server-scenarier visas i tabellen nedan.

SQL Server och Python använder i vissa fall olika datatyper. En lista över mappningar mellan SQL- och Python-datatyper finns i Python-till-SQL-datatyper.

Funktion Description
RxInSqlServer Skapa ett SQL Server-beräkningskontextobjekt för att skicka beräkningar till en fjärrinstans. Flera revoscalepy-funktioner tar beräkningskontext som argument. Ett exempel på kontextväxling finns i Skapa en modell med revoscalepy.
RxSqlServerData Skapa ett dataobjekt baserat på en SQL Server-fråga eller -tabell.
RxOdbcData Skapa en datakälla baserat på en ODBC-anslutning.
RxXdfData Skapa en datakälla baserat på en lokal XDF-fil. XDF-filer används ofta för att avlasta minnesintern data till disk. En XDF-fil kan vara användbar när du arbetar med mer data än vad som kan överföras från databasen i en batch eller mer data än vad som får plats i minnet. Om du till exempel regelbundet flyttar stora mängder data från en databas till en lokal arbetsstation, i stället för att köra frågor mot databasen upprepade gånger för varje R-åtgärd, kan du använda XDF-filen som ett slags cacheminne för att spara data lokalt och sedan arbeta med dem på R-arbetsytan.

Tips/Råd

Om du är nybörjare på idén om datakällor eller beräkningskontexter rekommenderar vi att du börjar med artikeln Distribuerad databehandling.

2-Data manipulering (ETL)

Funktion Description
rx_import Importera data till en .xdf-fil eller dataram.
rx_data_step Transformera data från en indatauppsättning till en utdatauppsättning.

3-Utbildning och sammanfattning

Funktion Description
rx_btrees Justera beslutsträd med stokastisk gradientförstärkning
rx_dforest Anpassa beslutsskogar för klassificering och regression
rx_dtree Anpassa klassificerings- och regressionsträd
rx_lin_mod Skapa en linjär regressionsmodell
rx_logit Skapa en logistisk regressionsmodell
rx_summary Skapa envariera sammanfattningar av objekt i revoscalepy.

Du bör också granska funktionerna i microsoftml för ytterligare metoder.

4-bedömningsfunktioner

Funktion Description
rx_predict Generera förutsägelser från en tränad modell och kan användas för realtidsbedömning.
rx_predict_default Beräkna förutsagda värden och residualer med hjälp av rx_lin_mod och rx_logit objekt.
rx_predict_rx_dforest Beräkna förutsagda eller anpassade värden för en datauppsättning från ett rx_dforest- eller rx_btrees objekt.
rx_predict_rx_dtree Beräkna förutsagda eller anpassade värden för en datauppsättning från ett rx_dtree objekt.

Så här arbetar du med revoscalepy

Funktioner i revoscalepy kan anropas i Python-kod som kapslas in i lagrade procedurer. De flesta utvecklare skapar revoscalepy-lösningar lokalt och migrerar sedan färdig Python-kod till lagrade procedurer som en distributionsövning.

När du kör lokalt kör du vanligtvis ett Python-skript från kommandoraden eller från en Python-utvecklingsmiljö och anger en SQL Server-beräkningskontext med någon av funktionerna för revoscalepy . Du kan använda fjärrberäkningskontexten för hela koden eller för enskilda funktioner. Du kanske till exempel vill avlasta modellträningen till servern för att använda de senaste data och undvika dataflytt.

När du är redo att kapsla in Python-skript i en lagrad procedur sp_execute_external_script rekommenderar vi att du skriver om koden som en enda funktion som har tydligt definierade indata och utdata.

Indata och utdata måste vara pandas-dataramar . När detta är klart kan du anropa den lagrade proceduren från alla klienter som stöder T-SQL, enkelt skicka SQL-frågor som indata och spara resultatet i SQL-tabeller. Ett exempel finns i Learn in-database Python analytics for SQL developers (Lär dig Python-analys i databasen för SQL-utvecklare).

Att använda revoscalepy med microsoftml

Python-funktionerna för microsoftml är integrerade med beräkningskontexter och datakällor som tillhandahålls i revoscalepy. När du anropar funktioner från microsoftml, till exempel när du definierar och tränar en modell, använder du funktionerna revoscalepy för att köra Python-koden antingen lokalt eller i en fjärrberäkningskontext för SQL Server.

I följande exempel visas syntaxen för att importera moduler i Python-koden. Du kan sedan referera till de enskilda funktioner som du behöver.

from microsoftml.modules.logistic_regression.rx_logistic_regression import rx_logistic_regression
from revoscalepy.functions.RxSummary import rx_summary
from revoscalepy.etl.RxImport import rx_import_datasource

Se även