Blog

Prediktivna analitika upogonjena Microsoft Azure ML platformom

Ukoliko ste upoznati s rudarenjem podataka (data mining) i Microsoftovim BI tehnologijama onda ste zasigurno upoznati s izradom data mining modela u SSAS-u (Analysis Services) ili unutar Excelica (Data mining add-in). Strojno učenje (u nastavku prediktivna analitika) uzima sve više maha u svakom dijelu inteligentne aplikacije, pa tako i u poslovnim aplikacijama što je i tema ovog članka. Gdje možemo koristiti algoritme prediktivne analitike? Neki od poslovnih primjera su:

  • Predviđanje odlaska kupaca (churn prediction)
  • Sprječavanje prijevare s karticama (fraud detection)
  • Preporuka proizvoda (recommendation sustavi)
  • Analiza ponašanja kupaca pri kupnji proizvoda

Postoji još mnogo primjera koje možete pronaći, a da niste svjesni toga. Google ih koristi za AdWordse i detekciju spam-a, LinkedIn za preporuku poslova, članaka, treninga te Amazon za dobro poznati sustav preporuke. Međutim, ovo su ekstremni primjeri gdje se algoritmi koriste na ogromnim količinama podataka, ali kad pričamo o ekstremima onda su to terabajti podataka dnevno i to se službeno može nazvati Big Data-om.

U zadnjih nekoliko godine je došlo do “poplave” alata/jezika za prediktivnu analitiku. Primjeri alata su: IBM SPSS Modeler, KNIME, Alteryx, Orange, Rapid Miner. Na inozemnih tržištima dosta je popularno korištenje programskih jezika poput Python ili R-a, jer su besplatni i omogućavaju fleksibilnost, međutim nisu orijentirani krajnjem korisniku i enterprise okruženju, stoga ih uglavnom koriste startupi ili tvrtke gdje su podaci strateško dobro.

Ovi alati funkcioniraju jako dobro, međutim dosad je nedostajala cloud verzija alata za prediktivnu analitiku. S obzirom da sam fan Microsoftovih proizvoda, danas ću ukratko prezentirati Microsoftovu Azure Machine Learning platformu.

Pregled platforme

Microsoft Azure Machine Learning je cloud platforma  koja omogućuje data scientistima i developerima jednostavnu izradu prediktivnih modela kroz web sučelje. Microsoft Azure Machine Learning Studio je drag&drop alat koji koristimo za izradu, testiranje i implementaciju prediktivnih analitičkih rješenja te implementiranje istih unutar poslovnih aplikacija.

az

Proces izrade prediktivnih modela

Svaki vendor ima neki svoju metodologiju izrade prediktivnog modela pa tako i Microsoft. Microsoftova metodologija se zove Cortana Analytics Process(CAP) i zapravo je jednak/sličan standardnoj CRISP-DM metodologiji za izradu modela rudarenja podataka.

CAP se sastoji od dva glavna koraka i nekoliko podkoraka unutar svakog od njih te je cijeli proces iterativan:

1.) Priprema

1.1) Planiranje analitičkog projekta

1.2) Postavljanje analitičkog okružja

2.) Analitika

2.1) Import podataka

2.2) Istraživanje i obrada podataka

2.3) Izrada prediktivnog modela

2.4) Implementacija i korištenje modela

Planiranje analitičkog projekta

Definiranje poslovnih ciljeva i problema su početni korak u prediktivnoj analitici. Ovaj korak počinje s postavljanjem poslovnih pitanja što se želi postići i koji je konačni rezultat. Često se ovaj korak izostavlja misleći kako će podaci i algoritmi riješiti sve poslovne probleme, međutim ako nemamo neki konačni cilj ili output nećemo znati je li projekt uspio i imamo li dobre rezultate.

Postavljanje analitičkog okružja

Postavljanje analitičkog okružja obuhvaća infrastrukturu koja je potrebna za provedbu analitičkog zadataka. To uključuje hardversku i softversku infrastrukturu, međutim u Azure ML-u se taj dio zadataka obavlja u oblaku, što znači da nije potrebna nikakva instalacija softvera i priprema hardvera.

Import podataka

Kad smo postavili poslovna pitanja i postavili analitičko okružje onda pribavljamo podatke koji su nam potrebni za izradu prediktivnog modela. Izvori podataka mogu biti mnogobrojni, međutim uglavnom se radi o Exelicama, tekstualnim podacima, SQL bazama i u zadnje vrijeme Big data sustavima (Spark, Hive).  Azure ML vam omogućuje uvoz podataka kroz različita čvorišta (node). Izvori podataka se odnose na: ručni unos, Excelice, csv, Azure MS SQL Server, slike ili putem R programskog/statističkog jezika. Veličina podataka koja može biti uvezena je ograničena na 10GB.

Istraživanje i obrada podataka

Nakon što smo uvezli podatke u sustav, moramo provjeriti što nam se nalazi u tablicama. Obrada podataka je bitan dio izrade prediktivnog modela, jer će loši podaci dati loše rezultate. Pod obradom podataka podrazumijevamo: isključivanje redaka i stupaca, popunjavanje nedostajućih vrijednosti s prosjekom ili nekom drugom mjerom, spajanje tablica (join), izbacivanje nedozvoljenih “outliera” , brisanje duplikata itd. Azure ML Studio vam pruža veliki broj opcija za obradu podataka, a koje sve sadrži pogledajte na donjoj slici.

Capture

 

Izrada prediktivnog modela

Nakon što smo obradili podatke, vrijeme za izradu prediktivnog modela. Azure ML Studio sadrži  sve poznatije algoritme za klasifikaciju, klasterizaciju i regresije. Neki od njih su:

  • Stablo odlučivanja i njegove varijante (random forest i boosted decision tree)
  • Logistička regresija
  • Duboke neuronske mreže
  • Regresijski modeli (Bayes, Poisson)
  • K-means
  • Anomaly detection

Također postoje čvorovi za splitanje podataka na training i test te cross validation kako bismo mogli iterativni mogli provjeravati točnost modela. Nakon izrade modela, možemo vizualno provjeriti njegovu točnost na test podacima kako bismo utvrdili koji model je najbolji za poslovanje. Ovaj proces je iterativan, stoga nema najboljeg modela.

Capture

Implementacija i korištenje modela

Nakon što smo utvrdili koji je prediktivni model najbolji, vrijeme je da ga implementiramo unutar poslovne aplikacija. Azure ML Studio nam omogućuje da koristimo algoritam unutar aplikacija. Algoritmi se mogu koristiti putem Microsoftovog API-a koji je zasad pisan u C#, R-u i Pythonu. Prediktivne algoritme možemo koristiti u kombinaciji sa streaming analitikom (Apache Storm) ili u batchu kad želimo da se algoritam izvrti na nekom “statičnom” setu podataka.

Zaključak

Microsoftov Azure ML je odličan alat za analitičare podataka ili developere koji žele u kratkom vremenu razviti, a da pri tome nije nužna pomoć nekog eksperta za prediktivnu analitiku. Realno, Azure ML ne nudi nešto novo na machine learning tržištu, svi ovi algoritmi  za prediktivnu analitiku postoje godinama, međutim ovo je cloud inačica te se tim razlikuje od konkurencije. S druge strane pričamo o Microsoftu, stoga vjerujem da će se ovaj proizvod i nadalje razvijati te će omogućavati aplikacijama da dobiju inteligentnu crtu.

Ukoliko želite isprobati Azure ML, to možete napraviti na njihovoj Službena stranica , samo vam je potreban Microsoft account.

Prednosti:

  • Cloud inačica alata za prediktivnu analitiku
  • Odličan dizajn web aplikacije
  • Mnoštvo čvorova za oblikovanje podataka i algoritama za prediktivnu analitiku
  • Mnoštvo gotovih primjera modela u Gallery-u

Nedostatci:

  • Nedostatak podrške za neke izvore podataka
  • “Ograničenje” na količinu podataka koja se može uvesti (10GB)

Tags

 
 
 
 
%d bloggers like this: