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:
- plik .rds zawierający model
- 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).
- 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.

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.

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

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.

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.

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.

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


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

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?

Ukryty został pod nazwą „Score Token”.
Jako Body zapytania wpisujemy zmienne potrzebne do modelu w postaci JSONa.

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

















