Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
In deze zelfstudie voor gegevenswetenschappers leert u hoe u end-to-end-oplossing bouwt voor voorspellende modellering op basis van R-functieondersteuning in SQL Server 2016 of SQL Server 2017. In deze zelfstudie wordt een NYCTaxi_sample-database op SQL Server gebruikt.
nl-NL: U gebruikt een combinatie van R code, SQL Server-gegevens en aangepaste SQL-functies om een classificatiemodel te bouwen dat de waarschijnlijkheid aangeeft dat de chauffeur een fooi krijgt voor een bepaalde taxirit. U implementeert ook uw R-model in SQL Server en gebruikt servergegevens om scores te genereren op basis van het model.
Dit voorbeeld kan worden uitgebreid tot allerlei problemen in de praktijk, zoals het voorspellen van reacties van klanten op verkoopcampagnes of het voorspellen van uitgaven of aanwezigheid bij evenementen. Omdat het model kan worden aangeroepen vanuit een opgeslagen procedure, kunt u het eenvoudig insluiten in een toepassing.
Omdat de procedure is ontworpen om R-ontwikkelaars te introduceren bij R Services (In-Database), wordt R waar mogelijk gebruikt. Dit betekent echter niet dat R noodzakelijkerwijs het beste hulpmiddel is voor elke taak. In veel gevallen kan SQL Server betere prestaties bieden, met name voor taken zoals gegevensaggregatie en functie-engineering. Dergelijke taken kunnen met name profiteren van nieuwe functies in SQL Server, zoals columnstore-indexen die zijn geoptimaliseerd voor geheugen. We proberen mogelijke optimalisaties onderweg aan te wijzen.
Vereiste voorwaarden
SQL Server Machine Learning Services met R-integratie of SQL Server 2016 R Services
Databasemachtigingen verleend aan een databasegebruiker die is toegewezen aan een SQL Server-aanmelding
Een R IDE zoals RStudio of het ingebouwde RGUI-hulpprogramma dat is opgenomen in R
Wij raden aan deze doorloop uit te voeren op een client workstation. U moet verbinding kunnen maken op hetzelfde netwerk met een SQL Server-computer waar SQL Server en de R-taal zijn ingeschakeld. Voor instructies over werkstationconfiguratie, zie Een data science-client instellen voor R-ontwikkeling.
U kunt het scenario ook uitvoeren op een computer met zowel SQL Server als een R-ontwikkelomgeving, maar we raden deze configuratie niet aan voor een productieomgeving. Als u client en server op dezelfde computer wilt plaatsen, moet u een tweede set Microsoft R-bibliotheken installeren voor het verzenden van R-script vanaf een externe client. Gebruik de R-bibliotheken die zijn geïnstalleerd in de programmabestanden van het SQL Server-exemplaar niet. Als u één computer gebruikt, hebt u de RevoScaleR-bibliotheek op beide locaties nodig om client- en serverbewerkingen te ondersteunen.
- C:\Program Files\Microsoft\R Client\R_SERVER\library\RevoScaleR
- C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library\RevoScaleR
Aanvullende R-pakketten
Voor dit scenario zijn verschillende R-bibliotheken vereist die niet standaard zijn geïnstalleerd als onderdeel van R Services (In-Database). U moet de pakketten installeren op de client waar u de oplossing ontwikkelt en op de SQL Server-computer waarop u de oplossing implementeert.
Op een clientwerkstation
Kopieer in uw R-omgeving de volgende regels en voer de code uit in een consolevenster (Rgui of een IDE). Sommige pakketten installeren ook vereiste pakketten. In alles worden ongeveer 32 pakketten geïnstalleerd. U moet een internetverbinding hebben om deze stap uit te voeren.
# Install required R libraries, if they are not already installed.
if (!('ggmap' %in% rownames(installed.packages()))){install.packages('ggmap')}
if (!('mapproj' %in% rownames(installed.packages()))){install.packages('mapproj')}
if (!('ROCR' %in% rownames(installed.packages()))){install.packages('ROCR')}
if (!('RODBC' %in% rownames(installed.packages()))){install.packages('RODBC')}
Op de server
U hebt verschillende opties voor het installeren van pakketten op SQL Server. SQL Server biedt bijvoorbeeld de functie R-pakketbeheer waarmee databasebeheerders een pakketopslagplaats kunnen maken en gebruikers de rechten kunnen toewijzen om hun eigen pakketten te installeren. Als u echter een beheerder op de computer bent, kunt u nieuwe pakketten installeren met R, zolang u de juiste bibliotheek installeert.
Opmerking
Installeer op de server niet in een gebruikersbibliotheek, ook niet als daarom gevraagd wordt. Als u installeert in een gebruikersbibliotheek, kan het SQL Server-exemplaar de pakketten niet vinden of uitvoeren. Zie Nieuwe R-pakketten installeren op SQL Server voor meer informatie.
Open RGui.exe als beheerder op de SQL Server-computer. Als u SQL Server R Services hebt geïnstalleerd met behulp van de standaardinstellingen, kunt u Rgui.exe vinden in C:\Program Files\Microsoft SQL Server\MSSQL13. MSSQLSERVER\R_SERVICES\bin\x64).
Voer bij een R-prompt de volgende R-opdrachten uit:
install.packages("ggmap", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("mapproj", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("ROCR", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("RODBC", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
In dit voorbeeld wordt de functie R grep gebruikt om de vector van beschikbare paden te doorzoeken en het pad te vinden dat 'Program Files' bevat. Zie voor meer informatie RDocumentation voor het basispakket.
Als u denkt dat de pakketten al zijn geïnstalleerd, controleert u de lijst met geïnstalleerde pakketten door uit te voeren installed.packages().