Rudarenje podataka i CRISP metodologija

Rudarenje podataka

Rudarenje podataka i CRISP metodologija

Molim te, bi li mi htio pokazati kako da odem odavde?

Sve ovisi kamo želiš otići- reče Mačak.

Svejedno mi je kamo ću otići – reče Alisa.

Onda je svejedno kojim ćeš putem krenuti – reče Mačak

Lewis Carroll:Alisa u zemlji čudesa

 

Kad počinjemo raditi na bilo kojem projektu moramo znati što želimo postići s projektom tj. moramo imati cilj. Ista mudrost vrijedi i kod IT projekata gdje moramo imati čisto definirani cilj kako bismo znali  što želimo postići tim projektom. Naša današnja tema je uloga CRISP metodologije u upravljanju projekata rudarenja podataka (data mining)

Većina projekata se “ravna” po određenoj metodologiji, zbog toga jer je ista u većini slučajeva bila uspješna stoga nju prihvaćamo kao najbolju. U data mining-u to je CRISP metodologija.. Prije nego što krenem s objašnjavanjem, moramo znati barem rečenicu što je data mining. Ukratko, data mining je otkrivanje korisnog i nepoznatog znanja iz baza podataka putem specijaliziranog softvera za rudarenje podataka.

CRISP-DM

CRISP DM je skraćenica od  Cross Industry Standard Process for Data Mining i vjerojatno jedna od najpopularnijih metologija rudarenja podataka pri rješavanju određenih (poslovnih) problema.  Kao što donja slika prikazuje CRISP se sastoji od šest osnovnih koraka, a oni su:

  1. Definiranje poslovnog cilja
  2. Razumijevanje podataka
  3. Priprema podataka
  4. Modeliranje
  5. Evaluacija
  6. Implementacija

Kako ne bi ostali samo na pukoj teoriji, pokušati ćemo objasniti svaki od ovih koraka na jednom konkretnom primjeru.

 

Crisp-dmchartnew

 CRISP-DM metodologija

Definiranje poslovnog cilja

Razumijevanje poslovanja je najbitniji dio CRISP-a, jer ako ne znamo koji je zapravo naš (poslovni) cilj, onda nećemo znati što želimo dobiti od rudarenja podataka i vjerojatno će taj projekt voditi još jednom neuspjehu. Stoga prije nego što počnemo sa samim istraživanjem podataka moramo znati što je zapravo naš cilj, jer kad dođemo do faze evaluacije projekta moramo znamo jesmo li stigli tamo gdje smo htjeli ili ćemo ipak nešto morati mijenjati. Uzmimo kao studiju slučaja odjeljenje za marketing u sklopu poduzeća. Cilj ekipe iz marketinga je:

  1. Otkriti koji su segmenti kupaca, kako bi mogli slati različite vrste promidžbe različitim segmentima.
  2. Njihov drugi cilj je predvidjeti koliko će korisnika odgovoriti pozitivno na određene promidžbene kanale na temelju podataka koje imaju u bazi podataka.

Razumijevanje i priprema podataka

Nakon što smo odlučili koji su naši poslovni cilj/-evi, vrijeme da zavirimo u izvore podataka koji nam mogu dati odgovor na naša poslovna pitanja. To uglavnom mogu biti podaci u csv ili text formatu, Excel-ice ili podaci iz skladišta podataka. Također to mogu biti i baze podataka iz CRM sustava, odnosno sustava koji služe za upravljanje odnosa s kupcima. Nakon što smo otkrili izvore podataka, saznali smo da su naši podaci nepotpuni, nisu točni i nisu u formatu koji je potreban za rudarenje podataka. Moram naglasiti da je kvaliteta podataka najbitnija stavka u rudarenju podataka, jer baze podataka koje nisu kvalitetne mogu poremetiti analizu podataka i dati potpuno krive rezultate. Stoga je bitno imati nekakav oblika ETL procesa kako bi doveli podatke u određeni format koji je prihvatljiv za rudarenje podataka. Kod rudarenja podataka najviše se preporučuje rudarenje iz skladišta podataka, jer je opće poznato da se skladište podataka sastoji od pročišćenih i integriranih podataka iz različitih sustava. Većina stručnjaka su se složili da priprema podataka oduzima oko 70-80%  vremena projekta, stoga je riječ o jako bitnoj fazi kod rudarenja podataka.

Modeliranje 

Nakon što smo otkrili koji su izvori podataka koji mogu dati odgovor na naše poslovne ciljeve, vrijeme je da modeliramo model za rudarenje podataka. To podrazumijeva lakši oblik ETL-a ukoliko je riječ o nekoliko nedostajućih polja ili manjim greškama te primjenu različitih algoritama za rudarenje podataka kojih u rudarenju podataka ima puno. Ukoliko želimo dobiti odgovor na naše prvo pitanje onda ćemo koristiti algoritme za klasterizaciju koji od naših podataka rade određene segmente prema različitim karakteristikama. Najbolji algoritmi za klasterizaciju su k-Means algoritam i Apriori. Ukoliko želimo nešto predvidjeti iz postojećih podataka onda ćemo koristiti algoritme za klasifikaciju i to algoritam stabla odlučivanja, logističke regresije i neuronskih mreža.

Evaluacija i implementacija

Nakon što smo dobili rezultate analize rudarenja podataka, analiziramo jesmo li zadovoljni rezultatima analize. Ukoliko jesmo, možemo uz postojeće znanje, saznati nešto novo što prije nismo znali  i uključiti neke druge izvore podataka kako bi dobili potpuniju informaciju ili jednostavno prijeći na fazu implementacije. Ukoliko nismo zadovoljni ishodom rudarenja podataka, vraćamo se na početnu fazu revidiranja poslovnog cilja ili baza podataka te primjenu nekih drugih algoritama kako bi dobili bolji rezultat. Naravno, sve ove faze su iterativne i nema konačnog  rezultata iz prvog puta te dobra praksa pokazuje da iste podatke moramo rudariti na različite načine kako bismo dobili najoptimalniji rezultat. Puno se puta događa da  se revidiraju poslovni ciljevi, jer smo rudarenjem podataka dobili neočekivane rezultate.

Je li bitan alat pri procesu rudarenju podataka? Naravno da jest, međutim moramo znati da nam alat neće naći rješenje za naš poslovni problem ukoliko ga nismo prethodno precizno definirali. Postoji dosta odličnih open source alata kao što su Rapid Miner, KNIME, Weka i R i koji nam mogu dati jednake rezultate kao npr. IBM-ov komercijalni SPSS Modeler. Međutim, SPSS Modeler ima svoje prednosti koje open source alati nemaju, ali o usporedbi softvera za rudarenje podataka nekom drugom prilikom.

Koje vi metode i alate koristite u projektima rudarenja podataka ?