Felmerült nemrégiben egy probléma (amit írtam is egy korábbi bejegyzésben), hogy ha pl. Azure SQL DB-ben mentünk el valamilyen adatot a kísérletben (legyen az végeredmény, köztes állapot, bemeneti adathalmaz egy metszete…), akkor a Writer modul minden egyes alkalommal végrehajtja az INSERT parancsot a megkapott adatokkal. Ez nekünk nem jó, nagyon nem jó. Ezt fel is tüntetik a hivatalos doksiban Azure ML fejlesztői is ( 🙂 utólag rájöttem). Megoldás viszont egy kicsit érdekes, vagy inkább alternatív, mint ahogy a címben is írtam 😀
Tag Archives: ml
Filters in Azure ML Studio experiment
A Data Tranformaton menüpontban található Filter modulok következnek. Maguk a filterek arra lettek koncepció szerint megalkotva, hogy a numerikus adatokon alkalmazva támogassák a machine learning feladatokat, mint pl. a képfelismerés, hangfelismerés és “hullám” analízis. Pontosabban mire is szokás használni a filtereket:
- Interferencia analízis telemetrikus jelekben
- Kép vagy beszédfelismerő feladatok ellátása
- “Trendek” felismerése vagy idényjellegű hatások eltávolítása zajos eladásokból vagy gazdasági adatokból
Azure ML dataset, result, etc… save to Azure SQl Database
Az aktuális adathalmazunkat, vagy eredményeinket, részeredményeinket (lényegében bármit) el tudunk menteni a Writer modul segítségével. A modul a Data Input and Output csoportosítás alatt található. A modul segítségével írható Hive Query, Azure SQL Databse, Azure Table és Azure BLOB Storage.
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.
Model results
Ha már felépítettük a kísérletet, minden rendben van, akkor ideje kinyerni belőle a hasznos adatot amiért végül is dolgoztunk. Átfutunk gyorsan és egyszerűen egy recommender system dolgon. Mint már korábban említettem valamikor, van elég sok olyan alkalmazása a gépi tanulásnak, hogy például a vásárlásaid alapján, vagy tervezett vásárlásaid alapján (i mean wishlist) a rendszer kidobálja, hogy más vásárolók miket vettek meg, vagy néztek még meg, és nagy valószínűséggel az neked is tetszene (erősen próbálnak rávenni arra, hogy termeld szépen a profitot nekik 😀 ).
Azure ML Studio and experiments
Tudjuk, hogy hogyan vigyünk fel adatokat az ML Studio-ba. Most dolgozzunk az adatokkal. A Studióban nagyon könnyen hozhatunk létre kísérleteket (erről már beszéltem egy korábbi bejegyzésben), egyszerű drag-n-drop módszerrel illesztjük össze a megfelelő modulokat, melyből a végén egy értelmes modell áll össze. A Studió számos előre rögzített szerszámot biztosít számunkra, legyen szó tesztelésről, adatmanipulációról vagy tanító algoritmusról. Azonban ha valamivel nem vagyunk kellőképpen megelégedve, vagy szükségünk van egy egyedi megoldásra akkor sokmindent felüldefiniálhatunk, lecserélhetjük saját megoldásunkkal, amelyeket R vagy Python kódban írhatunk meg.
A munka elkezdéséhez csupán két dologra lesz szükség:
- egy böngészőre (hiszen a teljes Azure ML Studió a felhőben fut, nincs szükségünk telepítésre vagy egyéb lokális konfigurációkra).
- és a tanító adatokra (hiszen adatok nélkül nem sok értelme van bármit is csinálni)
Azure ML Studio
A gépi tanulásra a Microsoft megoldása az ML Studio. Teljes mértékben a felhőben futó alkalmazás, így semmiféle telepítést nem igényel, bárhonnan elérhetjük a https://studio.azureml.net címen.
Nagyban megkönnyíti a munkát, hogy az egyes modulokat csak behúzzuk a munkaasztalunkra, és összekötjük őket, nem kell időt fecsérelni sok programozásra. Rengeteg gyakran használt összetevő készen van, csak paraméterezni kell őket:
Adat bemenet/kimenet, szűrők, szétválasztók, skálázók, illetve természetesen algoritmusok osztályozásra, regresszióra, klaszterizálásra, anomáliák felfedezésére.
Körbenézhetünk a Cortana Analytics Gallery-ben, ahol kész megoldásokat találhatunk gyakori problémákra:
arcfelismerés, lemorzsolódás, kézíráselemzés…
Természetesen, ha úgy érezzük, hogy nincsen számunkra megfelelő eszköz, mert egyedi dologra van szükségünk, bővíthetjük a programunkat R és Python szkriptekkel.
A továbbiakban megnézzük, hogyan lehet egy kísérletet megcsinálni elejétől a végéig, milyen alap egységeket lehet felhasználni a sikeres jóslás érdekében.