R SaaS

Tutorial: Jak opublikować skrypt w R jako Web Service?

Wyobraź sobie, że posiadasz model predykcyjny zbudowany za pomocą języka R i przykładowo chciałbyś przewidywać w czasie rzeczywistym czy warto udzielić kredytu i zastanawiasz się jak opublikować skrypt napisany w języku R jako Web Service.

Zadanie to wydaje się skomplikowane, jednakże może okazać się proste i przyjemne. Modele predykcyjne mają wiele innych zastosowań i możliwości przewidywania określonych zdarzeń na podstawie danych historycznych, ale w tym przykładzie zajmiemy się modelem, który ocenia prawdopodobieństwo spłacenia pożyczki.

Posiadam model w R, jak wgrać go do Scoring.One?

Scoring.One to narzędzie umożliwiające szybkie wdrażanie modeli predykcyjnych, tworzenie scenariuszy decyzyjnych oraz, dzięki niezwykle wysokiej wydajności, przetwarzanie setki tysięcy zapytań dla wielu modeli predykcyjnych w tym samym czasie.

Załóż darmowe konto tutaj.

Aby zastosować taki model w Scoring.One potrzebujemy pliku .zip zawierającego:

  1. plik .rds zawierający model
  2. plik .csv zawierający zmienne wchodzące do modelu. Można go stworzyć samodzielnie lub za pomocą klocka „Start” dostępnego podczas tworzenia scenariusza, a następnie go wyeksportować do pliku .csv (należy pamiętać o regularnym zapisywaniu edytowanego klocka).
  3. plik .R zawierający zmienną z wynikiem, który ma być zwracany przez model; zmienna musi nosić nazwę rResult

Możesz pobrać przykładowy ZIP użyty w tym tutorialu tutaj ,a także zajrzeć do dokumentacji Scoring.One.

Skrypt w R jako Web Service 1

Wszystkie pliki pakujemy do archiwum .zip. I tak naprawdę najtrudniejsze za nami, teraz przyszła pora na samą przyjemność, czyli zastosowanie modelu!

Wchodzimy w zakładkę „Scoring Code Management” i wybieramy opcję dodania nowego kodu.

Skrypt w R jako Web Service 2

Następnie wpisujemy nazwę, jaką chcemy nadać naszemu kodowi scoringowemu (scoring code) i upuszczamy stworzony wcześniej plik .zip w przeznaczone do tego miejsce.

Skrypt w R jako Web Service 3

Tworzenie scenariusza w Scoring.One

Gdy zapiszemy kod, przychodzi pora na scenariusz. Wybieramy odpowiednią zakładkę i tworzymy nowy. Przeciągamy kafelki na środek ekranu. W tym przypadku (chociaż pewnie jak we wszystkich, na co wskazuje nazwa kafelka) zaczynamy od kafelka „Start”.

Nie uzupełniamy już tym razem zmiennych, gdyż posiadamy je w pliku .zip. Metodą drag&drop wybieramy jeszcze „Scoring Code” oraz „End”. Kafelki łączymy ze sobą w takiej kolejności.

Następnie klikamy na „Scoring Code” i wybieramy wcześniej wgrany kod, z którego importujemy także zmienne. Zapisujemy i klikamy „Deploy”. Po kliknięciu, scenariusz przetworzy się i wówczas w klocku „End” możemy wybrać zmienne, które mają zostać zwrócone jako wynik scenariusza. Następnie klikamy „Deploy” ponownie.

Skrypt w R jako Web Service 4

Z uśmiechem na twarzy stworzyliśmy scenariusz!

Przetestujmy jego działanie: wybieramy „Forms”, znajdujemy nasz scenariusz i uzupełniamy dane. W efekcie dostajemy ocenę scoringową zapisaną jako zmienna rResult. I już model został odpytany.

Skrypt w R jako Web Service 5

Jest możliwość dodania kolejnych zmiennych, na przykład w celu kategoryzowania na podstawie wyniku. W tym celu wracamy do scenariusza i dodajemy jeszcze jeden kafelek.

Skrypt w R jako Web Service 6

W „Expressions” możemy dopisać kod w R lub Groovy. Zmienne, które tam utworzymy będą także zwracane przez model.

Skrypt w R jako Web Service 7 Skrypt w R jako Web Service 8

Po dodaniu zmiennej „category” oprócz oceny scoringowej w wyniku otrzymamy także kategorię, do której zalicza się jej wartość.

Skrypt w R jako Web Service 9

Przyszła pora na wysłanie zapytania http. W tym celu możemy użyć dowolnego klienta http. W poniższym przykładzie został użyty Advanced REST Client.

W miejsce, gdzie należy wpisać URL wstawiamy:

https://demo.scoring.one/api/scenario/code/remote/score/?name=NAZWA_SCENARIUSZA&key=KLUCZ_UŻYTKOWNIKA

 

Jak znaleźć ten tajemniczy klucz?

Skrypt w R jako Web Service 10

Ukryty został pod nazwą „Score Token”.

 

Jako Body zapytania wpisujemy zmienne potrzebne do modelu w postaci JSONa.

Skrypt w R jako Web Service 11

Naciskamy „Send”. I to tyle. Zadanie wykonane!

Skrypt w R jako Web Service 12

Pin It on Pinterest