Results in C# or R

Az eredményeinket persze nem csak az Azure szolgáltatásain belül vagyunk képesek használni, hanem simán ki tudjuk vinni a modellünket egy külső appra is. Gyors megmutatom, hogy hogyan is néz ez ki C# és R programokban.

Mind a kettő programnyelvhez elsősorban szükség van az API kulcsra, és egy mintakódra, amely ugyanúgy megtalálható a Web Service oldalának a REQUEST/RESPONSE linkje alatt. (A példakódok C#, Python és R kódokhoz az oldal alján lesznek, teljesen az alján)
c7

C#

Nyissunk meg egy Visual Studio-t, majd kezdjünk is rögtön egy új projektet. (Ami most egy sima Console App. lesz, mert erre van a példakód, de ezt nem nagy tudomány átírni. 😀 )
c1

Mivel az app HTTP alapú kapcsolattal fog működni, szükségünk lesz egy csomagtelepítésre, hogy hasznáni tudjuk a post requestet. Ehhez nyissuk meg a NuGet Package Manager Console -t.
c2

Ha megnyitottuk, akkor a Console ablakba pattintsuk be a következő parancsot:
Install-Package Microsoft.AspNet.WebApi.Client
Ha az install lefutott akkor minden hiba nélkül fogjuk tudni használni a példakódot!
c3

Ezek után, az említett Request/response oldal alján található C# mintakódot egy sima copy-paste módszerrel tegyük be a Program.cs fájlba (Fontos, ami eddig volt benne az kuka, nem kell onnan semmi 😀 ).

Első dolog amit meg kell tennünk, az az, hogy az API kulcsunkat másoljuk be a kódba. Ezt az apiKey változónak kell megadni kábé az 54. sorban.
c4

Ha ez megvan, lényegében futásra kész a példakód. És most jegyeznék meg néhány infót a példakóddal kapcsolatban. Először is ahogy látszik is szépen benne az adatainkat egy dupla string tömbös megoldásban tárolódnak, az első a ColumnNames az inputok nevei, azok amelyeket a web servicben megadunk. A második a a Values, értelemszerűen az alapértelmezett numerikus vagy szöveges értékeket tartalmazza az input paraméterek számára. Ha minden alapértelmezetten hagyunk, azaz 0 vagy value értéken akkor lényegében le kell fusson az kód és sikeresen meg kell hívódjon a web service.

Na de cseréljük ki az alapértelmezett Values tömb értékeit (vagyis most értékét az én esetemben, mert a legutóbb feltett film javasló modellel ügyeskedem most.) valós értékekre és nézzük meg, hogy értelmes adatot kapunk-e vissza. tehát nálam most egy user id kell kell és megkapjuk hozzá azt az 5 filmet amit nagyon de nagyon meg kellene nézni az adott usernek.
c5

Az eredmény pedig a Console-ban szépen leolvasható, ugyanúgy mint ahogy eddig a Studio-nak a tesztfelületén:
c6

R

Az R script esetében sem túl bonyolult a helyzet, és az eljárás módja sem tér el túlzottan az előbbi folyamattól, de azért nézzük:

(Ahhoz hogy minden tökéletes legyen jobb ha az R beszerzése mellett az RStudio is felkerül az gépünkre, kicsit kellemesebb vele a munka.
R link itt ezen az oldalon
RStudio link itt ezen az oldalon)

Az RStudio megnyitása után itt is kreálunk egy új scriptet, majd ismét a Request/Response oldalon található R mintakódot bemásoljuk a munkaterületre.
DE még nem futtatjuk, mert itt is szükség van némi install-ra, azaz pontosabban kettő darab csomag feltelepítése szükséges. Ezt a Tools menüben az Install packages… menüpont alatt tehetjük meg.

c8

Itt megjelenik egy ablak, ahol a Packages beviteli mezőbe nekünk a következőt kell beütögetni: RCurl, RJSONIO (mehet vesszővel egyszerre). Figyeljünk rá, hogy a csomagok használva legyenek, és fel legyen telepítve mert különben hibakódok tömkelegét kapjuk meg. Azt, hogy egy csomag használatban van-e a Studió jobb alsó ablakában található Package ablakban kereshetjük meg, illetve ki és be is kapcsolhatjuk az egyes csomagok használatát.
c9

Majd Install gomb, ezután majd a konzolon is látszik, hogy megy a dolog, egy letöltés ablak is meg fog jelenni, tehát pörög a munka.
c10

Most újra ott tartunk, hogy szükségünk lesz az API kulcsunkra, ezt a szokásos helyről másoljuk be a kódba, pontosan a 23. sorban található api_key változóhoz.
c11

Ha mindennek megvagyunk, akkor futtathatjuk is a kódot, (már kicseréltem a user-id-t 111-re, hogy ugyanazt az eredményt kapjuk meg mint a C# kód esetében). A kódot futtatni az RStudióban úgy lehet, hogy kijelöljük az egész kódot a munkaterületen, majd a munkaterület jobb felső sarkában a Run gombra kattintunk, vagy ütünk egy ctrl+ENTER kombinációt.
Ha sikeresen lefutott a kód, akkor a Console ablakban megjelenik a várva várt információ.
c12

Nos, összegzésül ezek a kis példák tökéletesen elegek kellenek legyenek arra, hogy elinduljunk egy komolyabb kód megírásában és az Azure Ml eredményeink felhasználásában.

Leave a Reply