Sveučilište Josipa Juraja Strossmayera u Osijeku
Ekonomski fakultet u Osijeku
Diplomski studij
Diplomski studij “Poslovna informatika”
Seminarski rad iz kolegija “Sustavi poslovne inteligencije”:
Uporaba neuronske mreže i stabla odlučivanja za
klasifikaciju kupaca kataloške prodaje
Student: Alen Pekić
Broj indeksa: 00763
Mentor: prof. dr. sc. Marijana Zekić-Sušac
Osijek, siječanj 2012.
2
SADRŽAJ
1. Sažetak ................................................................................................................... 3
1.1. Ključne riječi ..................................................................................................... 3
2. Uvod ....................................................................................................................... 3
3. Prethodna istraživanja ............................................................................................ 4
4. Neuronske mreže ................................................................................................... 5
4.1. Usporedba biološke i umjetne neuronske mreže .............................................. 6
4.2. Obrada podataka u neuronskim mrežama ....................................................... 7
4.3. Ulazne funkcije u neuronskim mrežama ........................................................... 8
4.4. Izlazne funkcije u neuronskim mrežama .......................................................... 8
4.5. Faze rada neuronskih mreža .......................................................................... 10
5. Stabla odlučivanja ................................................................................................ 11
5.1. Algoritam za izgradnju stabla ......................................................................... 12
6. Opis modela i varijabli ........................................................................................... 12
6.1. Model neuronske mreže ................................................................................. 12
6.2. Model stabla odlučivanja ................................................................................ 12
6.3. Varijable ......................................................................................................... 13
7. Testiranje .............................................................................................................. 15
7.1. Testiranje neuronskih mreža .......................................................................... 15
7.2. Testiranje stabla odlučivanja .......................................................................... 16
8. Rezultati najboljeg testiranja ................................................................................. 16
8.1. Rezultati testiranja neuronskih mreža ............................................................ 16
8.2. Rezultati testiranja stabla odlučivanja ............................................................ 19
8.2.1. Analiza značajnosti ulaznih varijabli ......................................................... 21
9. Zaključak .............................................................................................................. 21
10. Literatura ............................................................................................................ 22
3
1. Sažetak
U vremenskom razdoblju od 29.8.1988. do 16.02.1999. prikupljeni su podaci o 400
različitih kupovina u jednom trgovačkom poduzeću koje se bavi kataloškom
prodajom. Svrha istraživanja je pokušati kreirati modele neuronskih mreža i stabala
odlučivanja koji bi na temelju prikupljenih podataka o prethodnim kupovinama biti u
mogućnosti predvidjeti buduće ponašanje kupaca i klasificirati kupce na one koji će ili
neće kupiti određeni artikl u budućnosti. Na osnovu dobivenih rezultata, ukoliko bi
izostale dodatne preinake modela ili ulaznih varijabli, testirani modeli ne preporučuju
se za klasifikaciju kupaca kataloške prodaje, no ukoliko se mora birati između dva
modela, preporuka je upotrijebiti model neuronskih mreža jer je rezultat bio
minimalno bolji u usporedbi sa modelom stabla odlučivanja.
1.1. Ključne riječi
Neuronske mreže, stabla odlučivanja, kataloška prodaja, kupci, klasifikacija
ponašanja
2. Uvod
Neuronske mreže rapidno se razvijaju još od 1943. Godine kada su McCullock i Pitts
prvi postavili temelje za razvoj neuronskih mreža dokazavši da neuroni mogu imati
dva stanja (pobuđujuće i umirujuće) i da njihova aktivnost ovisi o nekom pragu
vrijednosti. Zajedno sa stablima odlučivanja vrlo su moćne i popularne tehnike
modeliranja za klasifikacijske i predikacijske probleme, te se danas koriste u brojim
gospodarskim ali i znanstvenim granama za rješavanje problema ili za pomoć u
donošenju ispravnih odluka.
Učinkovitost neuronskih mreža i stabala odlučivanja testirat će se i pokušat primijeniti
na predikciju ponašanja kupaca jednog trgovačkog poduzeća koje se bavi
kataloškom prodajom. Na osnovu određenog broja ulaznih varijabli i povijesti
ponašanje kupaca neuronske mreže i stabla odlučivanja pokušat će kupce klasificirati
u dvije skupine; one koji će kupiti određeni proizvodi i one koji neće, u svrhu
predviđanja buduće prodaje. Ovakvi modeli mogu poduzećima uvelike pomoći s
donošenjem poslovnih odluka, ali i s praktičnim stvarima poput racionalizacije nabave
i skladištenja proizvoda.
4
3. Prethodna istraživanja
U nedostatku istraživanja koja se bave primjenom neuronskih mreža i stabala
odlučivanja za klasifikaciju ponašanja kupaca u nastavku su opisana istraživanja koja
potvrđuju korisnost i praktičnost korištenja neuronskih mreža i stabala odlučivanja.
Branko Markić [6] istražio je primjenu neuronskih mreža klasifikacija u
menadžerskom računovodstvu. Menadžersko računovodstvo je orijentirano na
generiranje informacija menadžerima koji unutar organizacije usmjeravaju i nadziru
procese. Zato se mora pripremati veliki broj analiza i izvješća koji uspoređuju
planirane i ostvarene rezultate ili izvješća koja sadrže indikatore o rezultatima
poslovanje. Česti zadatak menadžerskom računovodstvu je klasifikacija. Problem
klasifikacije se pojavljuje kada neki objekt treba pridružiti unaprijed definiranoj grupi ili
klasi na temelju vrijednosti promatranih atributa. Tradicionalni pristup klasifikaciji je
diskriminacijska analiza ili Bayesova teorija odlučivanja koja izračunava posteriori
vjerojatnosti i na temelju njih donosi odluku o klasifikaciji. U radu se analizira i
prikazuju rezultati klasifikacije na temelju neuronskih mreža i njihovog povezivanja,
integracije s klaster analizom (k-means algoritam klasteriranja). Izgrađen je sustav
CLUSTERNET koji iz skladišta podataka (datawarehouse) u skladu s zahtjevom
menadžera generira željeni broj klastera a potom pomoću neuronske mreže
izgrađenoj u jeziku R sve nove objekte klasificira u odgovarajuće klastere.
Zekić-Sušac, Frajman-Jakšić i Drvenkar [7] provele su istraživanje o primjeni
neuronskih mreža i stabla odlučivanja za predviđanje uspješnosti studiranja. Rad se
bavi kreiranjem modela za predviđanje uspješnosti studenata s pomoću neuronskih
mreža i klasifikacijskih stabala odlučivanja, te analizom čimbenika koji utječu na
uspješnost studenata. Kreiran je model koji na temelju demografskih podataka o
studentima, te podacima o njihovom ponašanju i stavovima prema učenju nastoji
klasificirati studenta u jednu od dviju kategorija uspješnosti. Uspješnost je mjerena
prosjekom ocjena na studiju. Trenirano je i testirano više različitih arhitektura
neuronskih mreža, čiji je najbolji model dobiven s pomoću višeslojne perceptron
mreže. Stabla odlučivanja dala su znatno veću točnost klasifikacije od neuronskih
mreža, te ih se predlaže koristiti kao točniju metodu na promatranom skupu
podataka. Analiza osjetljivosti izlaznih varijabli na ulazne provedena kod neuronskih
mreža upućuje da su kolokviranje, prisustvo na vježbama, važnost ocjene za
studenta, te stipendije među najznačajnijim čimbenicima uspješnosti studenta. Stabla
5
odlučivanja izlučila su vrijeme provedeno u učenju, prisustvo na vježbama, te vrstu
materijala iz kojih se uči kao najznačajnije varijable. U budućim istraživanjima, uz
proširenje broja ulaznih varijabli i povećanje uzorka, te proširenje metodologije drugih
tehnikama umjetne inteligencije i statističkim metodama, moguće bi bilo kreirati
uspješniji model koji bi bio osnova za izgradnju sustava za potporu odlučivanju u
visokom obrazovanju.
4. Neuronske mreže
Teorijsko ishodište i inspiracija neuronskog računalstva je u ljudskom mozgu. Cilj mu
je spojiti sposobnost ljudi da dobro prepoznaju oblike, lica i glasove i sposobnost
računala da izvršava numeričke proračune i radi s velikom količinom podataka.
Neuronske mreže, stoga su metoda umjetne inteligencije, a čine međusobno
povezane nakupine jednostavnih elemenata obrade, jedinica ili čvorova, čiji se načini
djelovanja otprilike temelji na neuronima kod životinja (čovjeka). Sposobnost obrade
mreže je posljedica jačine veza među čvorovima, a postiže se kroz proces adaptacije
ili učenjem iz skupa primjera za uvježbavanje. Neuronske mreže zapravo iterativnim
postupkom iz prošlih podataka pronalaze vezu između ulaznih i izlaznih varijabli,
kako bi se za nove ulazne varijable dobila vrijednost izlaza.
Najčešća područja primjene neuronskih mreža su: [1]
1. proizvodnja i operacije (53.5%)
2. financije i ulaganje (25.4%) – procjena zajmova, tržište dionica i obveznica,
klasifikacija i rangiranje rizika i prognoze tržišta
3. marketing i trgovina – segmentiranje potencijalnih kupaca, identificiranje novih
tržišta, veza kupac-prodavatelj, ciljanje na potrošače putem pošte
U usporedbi sa statističkim metodama, kod većine radova točnost neuronskih mreža
je bila veća od točnosti dobivene: [1]
regresijskom analizom (problemi predviđanja),
diskriminantnom analizom (problemi klasifikacije),
cluster analizom (problemi klasifikacije),
ARIMA modelom (predviđanja vremenskih serija).
6
4.1. Usporedba biološke i umjetne neuronske mreže
S obzirom da je ishodište neuronskog računalstva u ljudskom mozgu, vrijedi
usporediti način funkcioniranja biološkog i umjetnog neurona.
Mozak se sastoji od nekoliko desetaka milijardi neurona povezanih u mrežu koji
mogu paralelno obrađivati informacije. Biološki neuron funkcionira na sljedeći način:
dendriti primaju signale drugih neurona, akson prenosi impulse do sinaptičkih
terminala i oni zatim prenose signale na dendrite drugih neurona Učenje se odvija
promjenom jačine sinaptičkih veza. Milijuni neurona u mreži mogu paralelno
obrađivati informacije.
Slika 4.1. Biološki neuron [3]
Kod umjetnog neuron jedinica za obradu podataka (varijabli) koja prima ponderirane
ulazne vrijednosti od drugih varijabli, prema nekoj formuli transformira primljenu
vrijednost, te šalje izlaz drugim varijablama. Učenje se odvija promjenom vrijednosti
„težina“ među varijablama. Analogija: signali su numeričke vrijednosti (xn), jakost
sinapse opisuje težinski faktor (wn), tijelo neurona je zbrajalo (∑), a akson
aktivacijska funkcija (φ)
Slika 4.1. McCulloch-Pitts model neurona (1943.) – Threshold Logic Unit [3]
7
Von Neumannova arhitektura (VNA) dobila je naziv po matematičaru John von
Neumannu koji je bio konzultant prilikom izgradnje računala prve generacije ENIAC.
Von Neumann je dokumentirao organizaciju ENIAC-a i zbog tog se razloga sva
računala koja imaju sličnu organizaciju ili arhitekturu nazivaju računala sa von
Neumannovom arhitekturom.
Odlike von Neumanove arhitekture su definirane s četiri svojstva:
programi i podaci koriste jedinstvenu glavnu memoriju
glavnoj se memoriji pristupa kao jednodimenzionalnom nizu (tj. sekvencijalno)
značenje (semantika) ili način primjene podataka nije spremljeno s podacima
Von Neumannovo računalo možemo koristiti kao emulator neuronske mreže i
usporediti između gradbenih elementa bioloških i umjetnih neuronskih mreža.
Mozak Računalo
Gradbeni element 1011neurona 1.17 B tranzistora (6c Core i7)
Broj veza 1014sinapsi (103 po neuronu) ≤32
Energetska potrošnja 10-16J po operaciji 10-6J po operaciji
Brzina prijenosa ms ciklus ns ciklus
Način rada serijski i paralelno uglavnom serijski
Tolerancija na pogreške da ne
Signali analogni digitalni
Sposoban učiti da malo
Svjestan/inteligentan da ne
Slika 4.1. Obrada podataka u mozgu i von Neumanovom računalu [3]
4.2. Obrada podataka u neuronskim mrežama
Kao i u biološkoj neuronskoj mreži tako i u umjetnoj neuronskoj mreži obrada
informacija se izvodi u jedinicama koje zovemo neuronima (elementima za obradu).
Izraz neuron označava osnovnu jedinicu u modelu neuronske mreže koja je
namijenjena obradi podataka. Umjetni neuron ima više ulaza od kojih prima
informacije, zbraja ih s pomoću neke zbrojne funkcije i tako stvara svoju internu
aktivaciju. Zatim se u neuronu s pomoću funkcije prijenosa mijenja taj zbrojni ulaz.
8
Funkcija prijenosa može biti diskontinuirana funkcija skoka, ili neka kontinuirana
funkcija, kao npr. sigmoida ili tangens-hiperbolna funkcija. Neuroni su spojeni u
mrežu na način da izlaz svakog neurona predstavlja ulaz u jedan ili više drugih
neurona. Prema smjeru, veza između neurona može biti jednosmjerna ili dvosmjerna,
a prema intenzitetu moguća je pobuđujuća (egzitatorna) ili smirujuća (inhibitorna)
veza. Neuroni su obično u umjetnoj neuronskoj mreži organizirani u grupe ili slojeve u
kojima se informacije paralelno obrađuju.
Tipična neuronska mreža sastoji se od nekoliko slojeva, najčešće dva vanjska, te od
jednog ili više međuslojeva ili tzv. skrivenih slojeva . Vanjski slojevi su: ulazni sloj koji
učitava podatke iz okoline i izlazni sloj koji prikazuje rezultat mreže za zadani ulaz.
Upravo je skriveni sloj onaj u kojem se uče međuzavisnosti u modelu, informacije
neurona se ovdje obrađuju i šalju u neurone izlaznog sloja. [2]
4.3. Ulazne funkcije u neuronskim mrežama
Kada neki neuron prima ulaz iz prethodnog sloja, vrijednost njegovog ulaza računa
se prema ulaznoj funkciji. Ako neuron „i“ prima ulaz od neurona „j“ , a je „wji“ težina
veze od neurona „j“ do neurona „i“, „n“ broj neurona u sloju koji šalje svoj izlaz, tada
opći oblik ulazne funkcije kod nadgledanih mreža izgleda na sljedeći način:
Drugim riječima, „inputi“ nekog neurona „i“ je suma svih vaganih izlaza koji pristižu u
taj neuron. [1]
4.4. Izlazne funkcije u neuronskim mrežama
Dvije najčešće korištene funkcije su sigmoidna i hiperboličko-tangentna, jer najbliže
oponašaju stvarne nelinearne pojave. Sigmoidna prijenosna funkcija jedna je od
najčešće upotrebljavanih prijenosnih funkcija u neuronskim mrežama. Formula
sigmoidne funkcije glasi
9
gdje je g doprinos funkcije izračunat kao g=1/T, a T je prag. Doprinos određuje
zaobljenost funkcije oko nule i funkcija rezultira kontinuiranim vrijednostima u
intervalu [0,1].
Slika 3.4.1. Grafički prikaz sigmoidne funkcije [1]
Tangens-hiperbolna prijenosna funkcija je poseban oblik sigmoidne funkcije,
pomaknute tako da izlaznim vrijednostima pokriva interval [-1,1]. Zbog svoje
mogućnosti mapiranja vrijednosti u pozitivna kao i u negativna područja, ova funkcija
upotrebljava se u mnogim eksperimentima. Formula hiperboličko-tangentne funkcije
gdje je u=g*inputi.glasi:
Slika 2. Grafički prikaz tangens-hiperbolne funkcije [1]
Ostale najčešće korištene prijenosne funkcije su funkcija koraka (step funkcija),
lignum funkcija, linearna funkcija i linearna funkcija s pragom.
10
4.5. Faze rada neuronskih mreža
Neuronske mreže prilikom rada prolaze kroz tri faze: treniranje, unakrsna validacija i
testiranje.
U fazi treniranja mreža uči na prošlim slučajevima, a rezultat u fazi treniranja se ne
uzima kao ocjena mreže jer je dobiven na uzorku za učenje. Ova faza traje najdulje,
provodi se u tisućama iteracija na istom uzorku. Treniranje je dakle proces mijenjanja
težina u mreži, a odvija se kao odgovor na podatke izvana koji su predstavljeni
ulaznom sloju i u nekim mrežama izlaznom sloju. Podaci koji se predstavljaju
izlaznom sloju su željene vrijednosti izlaznih varijabli. Ukoliko su one poznate, radi se
o tzv. nadgledanom učenju.
Prije samog učenja potrebno je definirati model (ulazne i izlazne varijable), te prikupiti
podatke iz prošlosti na kojima će se primijeniti mreža. Prikupljene podatke treba
podijeliti u dva poduzorka (uzorak za treniranje i uzorak za testiranje), a ukoliko se za
vrijeme učenja planiraju koristiti optimizacijske tehnike za optimiranje duljine učenja i
strukture mreže, potrebno je ukupan uzorak podijeliti na tri poduzorka (za treniranje,
testiranje i konačnu validaciju). [2]
Mreži je također potrebno odrediti pravilo učenja, tj. formulu koja se upotrebljava za
prilagođavanje težina veza među neuronima. U najvećem broju slučajeva koristi se
jedno od sljedećih pravila:
Delta pravilo (Widrow/Hoff-ovo pravilo),
Poopćeno Delta pravilo,
Delta-Bar-Delta i Prošireno Delta-Bar-Delta pravilo,
Kohonen-ovo pravilo.
Prošireno Delta-Bar-Delta pravilo prilagođava težine lokalno za svaku vezu u mreži
iuključuje momentum koji sprječava ekstremno kretanje težina koje dovodi do
blokade učenja, što ga čini najnaprednijim pravilom.
U fazi unakrsne validacije mreža nastoji optimirati duljinu treniranja, broj skrivenih
neurona i parametre (stopu učenja i momentum). Najbolja dobivena mreža se
pohranjuje i testira u sljedećoj fazi. Važno je za naglasiti da kvaliteta mreže, tj.
veličina njene greške ovisi i o broju iteracija, stoga je preporučljivo izdvojiti dovoljno
11
vremena za treniranje neuronske mreže. Mrežu možemo trenirati sve dok je idući
rezultat testiranja mreže bolji od prethodnog.
Testiranje mreže treća je faza rada neuronske mreže, i ona je odlučujuća za
ocjenjivanje mreže. Razlika između faze učenja i faze testiranja je u tome što u ovoj
drugoj fazi mreža više ne uči, a to znači da su težine fiksne na vrijednostima koje su
dobivene kao rezultat prethodne faze učenja. Takvoj mreži se predstavljaju novi
ulazni vektori koji nisu sudjelovali u procesu učenja, a od mreže se očekuje da za
predstavljen novi ulazni vektor proizvede izlaz. Ocjenjivanje mreže obavlja se
izračunavanjem greške ili nekog drugog mjerila točnosti (npr. stope točnosti), na
način da se izlaz mreže uspoređuje sa stvarnim izlazima. [2]
Kod rada neuronskih mreža razlikujemo problem predviđanja i problem klasifikacije.
Kod problema klasifikacije se u većini istraživanja koristi stopa klasifikacije kao
mjerilo ocjenjivanja mreže (postotak ili udio ispravno klasificiranih promatranja), a kod
problema predviđanja najčešće se kao mjerila koriste RMS greška (odstupanja
između željenog outputa i outputa mrežu u rasponu od 0 do 1)
5. Stabla odlučivanja
Stabla odlučivanja su vrlo moćna i popularna tehnika modeliranja, za klasifikacijske i
predikcijske probleme. Ona su zapravo klasifikacijski algoritam u formi stablaste
strukture, u kojoj se razlikuju dva tipa čvorova povezanih granama [5]:
krajnji čvor ("leaf node") - kojim završava određena grana stabla. Krajnji
čvorovi definiraju klasu kojoj pripadaju primjeri koji zadovoljavaju uvjete na toj
grani stabla;
čvor odluke ("decision node") - ovaj čvor definira određeni uvjet u obliku
vrijednosti određenog atributa (varijable), iz kojeg izlaze grane koje
zadovoljavaju određene vrijednosti tog atributa.
Kao metoda, stabla odlučivanja se pojavljuju u dva područja znanosti [4]:
1. U analizi odlučivanja (eng. Decision analysis) – koriste se kako bi vizualno
(grafički) predstavila način donošenja odluka od strane eksperata – koriste se
kod ekspertnih sustava.
12
2. U strojnom učenju – stabla odlučivanja su prediktivni modeli koji na temelju
podataka izvode njihove veze u cilju dobivanja izlaznih vrijednosti. Kao takvi
modeli koriste se u rudarenju podataka – traženju skrivenih veza među
podacima.
5.1. Algoritam za izgradnju stabla
Za izgradnju stabla koristi se najčešće CART algoritam, koji na temelju raspoloživih
podataka o ulaznim i izlaznim varijablama kreira binarno stablo grananjem slogova u
svakom čvoru prema funkciji određenoj za svaku ulaznu varijablu. Evaluacijska
funkcija korištena za prijelom je Gini indeks (IG), definiran prema formuli:
gdje je t trenutni čvor, pi je vjerojatnost klase i u čvoru t, a m je broj klasa u modelu.
Algoritam CART u obzir uzima sva moguća grananja kako bi pronašao najbolje
grananje za točnost modela. Najbolje grananje određuje se za svaki atribut u svakom
čvoru, a pobjednik se izabire pomoću Gini indeksa. Navedeni algoritam uspješno radi
i s kontinuiranim i s kategorijalnim varijablama. [4]
6. Opis modela i varijabli
6.1. Model neuronske mreže
U vremenskom razdoblju od 29.8.1988. do 16.02.1999. (5 mjeseci i 15 dana)
prikupljeni su podaci o 400 različitih kupovina u jednom trgovačkom poduzeću koje
se bavi kataloškom prodajom.
Svrha modela je na temelju prikupljenih podataka o prethodnim kupovinama (ulazne
varijable) prepoznati i klasificirati kupce (koji nisu u ispitanom uzorku) na one koji će
ili neće kupiti određeni artikl u budućnosti. Izlazna varijabla je LEISURE koja opisuje
artikle za slobodno vrijeme.
6.2. Model stabla odlučivanja
U vremenskom razdoblju od 29.8.1988. do 16.02.1999. (5 mjeseci i 15 dana)
prikupljeni su podaci o 400 različitih kupovina u jednom trgovačkom poduzeću koje
se bavi kataloškom prodajom.
13
Od ukupno 400 zasebnih kupovina, u 169 slučaja (ili 42,25%) kupci su kupili
proizvode za slobodno vrijeme, a u 231 slučaju (ili 57,75%) kupci nisu kupili
proizvode za slobodo vrijeme. Varijabla sample, koja služi kao „sample identifier“ u
izradi stabla odlučivanja, od ukupnog uzorka 80% (ili 320 kupovina) namjenjuje za
treniranje stabla a 20% (ili 80 kupovina) za testiranje.
Svrha modela je na temelju prikupljenih podataka o prethodnim kupovinama i s
obzirom na određeni utjecaj ulaznih varijabli prepoznati i klasificirati kupce na one koji
će ili neće kupiti određeni artikl u budućnosti. Također stablo odlučivanja bi nam
trebalo reći koje ulazne varijable imaju najveći utjecaj na ishod kupovine i po kojem
kriteriju su dotične varijable utjecale na ishod.
Primjer: ukoliko je varijabla income > vrijednosti xy tada dolazi do kupovine proizvoda
a ako je varijabla income < vrijednosti xy tada ne dolazi do kupovine.
Izlazna varijabla je LEISURE koja opisuje artikle za slobodno vrijeme.
6.3. Varijable
Ulazne varijable podijeljene su na 7 kontinuiranih i 5 kategorijalnih varijabli. Uz
ukupno 12 ulaznih i 1 izlaznu, korištena je prethodno opisana sample varijabla.
Kontinuirane varijable:
Varijabla INCOME opisuje godišnji prihod kupca
o Prosječan prihod kupaca iznosi 29895,74 kn
o Medijan iznosi 28600,00
o Standardna devijacija je 10701,14
o Najviši zabilježeni godišnji prihod iznosi 80000,00 kn
Varijabla HOMEVAL opisuje vrijednost kuće(stana) kupca
o Prosječna vrijednost kuće(stana) kupaca iznosi 75220,01 kn
o Medijan iznosi 57000,00
o Standardna devijacija je 55674,24
o Najveća zabilježena vrijednost kuće(stana) kupaca iznosi 351200,0 kn
Varijabla TRAVTIME opisuje vrijeme putovanja kupca
o Prosječno vrijeme putovanja kupca iznosi 19,98890
o Medijan iznosi 19,00
o Standardna devijacija je 8,532893
o Najduže zabilježeno vrijeme putovanja kupca iznosi 90,00
14
Varijabla AGE opisuje starost kupca
o Prosječna starost kupaca iznosi 31,82500 god
o Medijan iznosi 31,00
o Standardna devijacija je 7,076692
o Najveća zabilježena starost kupca iznosi 64,00 god
Varijabla EDLEVEL opisuje razinu obrazovanja kupca
o Prosječna razina obrazovanja kupaca iznosi 2,342500
o Medijan iznosi 2,00
o Standardna devijacija je 0,686565
o Najveća zabilježena razina obrazovanja kupaca iznosi 3,00
Varijabla NUMCARS opisuje broj auta kupca
o Prosječan broj auta kupaca iznosi 1,595000
o Medijan iznosi 2,000000
o Standardna devijacija je 0,511497
o Najveći zabilježeni broj auta iznosi 3,00
Varijabla NUMKIDS opisuje broj djece kupca
o Prosječan broj djece kupaca iznosi 1,042500
o Medijan iznosi 0,00
o Standardna devijacija je 1,480261
o Najveći zabilježeni broj djece iznosi 7,00
Kategorijalne varijable:
Varijabla MARITAL opisuje bračni status kupaca
o 106 kupaca (26,5%) nije u bračnoj zajednici a 294 (73,5%) kupaca je u
bračnoj zajednici
SEX Spol
o 316 kupaca (79%) su ženskog spola a 84 (21%) kupaca je muškog
spola
RACE Rasa
o S obzirom da kod varijable RACE ne postoji naznaka što bi vrijednosti
1, 2, 3, 4 i 5 mogle označavati ne mogu izvršiti analizu
HEAT Tip grijanja
o S obzirom da kod varijable HEAT ne postoji naznaka što bi vrijednosti
1, 2, 3 i 4 mogle označavati ne mogu izvršiti analizu
JOB Vrsta posla
o S obzirom da kod varijable JOB ne postoji naznaka što bi vrijednosti 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 i 16 mogle označavati ne
mogu izvršiti analizu
15
7. Testiranje
Obavljeno je testiranje šest arhitektura neuronskih mreža i dva stabla odlučivanja
7.1. Testiranje neuronskih mreža
Rb
Podjela uzorka
Broj skrivenih neurona
(# Hidden
PE)
Struktura konačne
mreže
Aktivacijska (prijenosna
funkcija) Algoritam
TRAIN rezultati
TEST rezultati (na uzorku za validaciju)
Stopa klasifikacije
Stopa klasifikacije
(za svaku klasu
posebno)
Ukupna stopa
klasifikacije
1
70%, 15%
Min: 2 Max: 20
31-14-2 Logistic MLP 87,14 58
58,33
15% 57
2
70%, 15%
Min: 2 Max: 20
31.7.2002 Tangh MLP 57,85 97
56,66
15% 3
3
60% Min: 4
Max: 20 31-11-2 Logistic MLP 63,3
69
42,5 20% 54
20%
4
60% Min: 4
Max: 20 31-9-2 Tangh MLP 65,41
79
51,25 20% 46
20%
5
70% Min: 4
Max: 20 31.5.2002 Logistic MLP 60
75
56,25 10% 39
20%
6
70% Min: 4
Max: 20 31-6-2 Tangh MLP 58,92
90
53,75 10% 16
20%
Obavljeno je testiranje na šest različitih arhitektura modela neuronskih mreža za
klasifikaciju kupaca koji su / nisu kupili proizvode za slobodno vrijeme. U svim
testiranjima korišten je MLP algoritam. Testiranja se razlikuju po podjeli uzorka (70-
15-15, 60-20-20, 70-10-10), broju skrivenih neurona (2-20, 4-20) te prijenosnoj
funkciji (Logistic, Tangh).
Najbolje rezultate dalo je testiranje na prvoj arhitekturi u kojoj je 70% uzorka
iskorišteno za treniranje, 15% uzorka za testiranje i 15% za unakrsnu validaciju.
Minimalni broj skrivenih neurona je 2, a maksimalni 20 i za prijenosnu funkciju je
korištena logistic funkcija. Konačna struktura mreže je 31-14-2, a stope klasifikacije
su sljedeće: 87.15 (treniranje), 58.0 i 57.0 (za svaku klasu posebno) i 58.33 (ukupna
stopa validacije.
16
7.2. Testiranje stabla odlučivanja
Rb
Podjela Uzorka
Split selectio
m methor
Stopping rule
Broj čvorova
(nodes) u lijevoj grani
Broj čvorova (nodes) u desnoj
grani
TEST rezultati (na uzorku za testiranje)
Stopa klasifikacije (za svaku klasu
posebno)
Ukupna stopa klasifikacije
1. 80%
20%
Discriminant-based univari
Prune on misclassification error
0 0 58.00
0.00 40.00
2. 80%
20% C&RT
Prune on misclassification error
0 0 58.00
0.00 40.00
Prilikom izrade stabla odlučivanja za klasifikaciju kupaca kataloške prodaje, na one
koji su kupili proizvode za slobodno vrijeme i na one koji nisu korištene obavljena su
dva testiranja. U oba slučaja, uzorak od 400 kupovina podijeljen je tako da se 80%
podataka koristilo za treniranje, a 20% podataka za testiranje. Također, u oba slučaja
je korišteno isto pravilo zaustavljanja (stopping rule), Prune on misclassification error.
Prilikom testiranja koristile su se dvije različite metode: metoda Discriminant-based
univariate splits for categ. and ordered predictors i C&RT -style exhaustive search for
univariate splits metoda. Nažalost niti jedna od ulaznih varijabli nije bila statistički
dovoljno značajna, kako bi došlo do grananja stabla, stoga je broj čvorova na lijevoj i
desnoj strani u oba slučaja 0. Ukupna stopa klasifikacije, u oba testiranja, iznosila je
58.
8. Rezultati najboljeg testiranja
8.1. Rezultati testiranja neuronskih mreža
Tablica 8.1.1. Sažetak rezultata najboljeg modela
Kratak pregled(sažetak) aktivne mreže (kataloska_prodaja400.sta)
Naziv mreže
Stopa točnosti na uzorku za treniranje
Stopa točnosti na uzorku za testiranje
Ukupna stopa na uzorku za validaciju
Algoritam mreže
Funkcija greške
Skrivena prijenosna
funkcija
Izlazna prijenosna
funkcija
MLP 31-14-2 87,14286 66,66667 58,33333 BFGS 38 SOS Logistic Logistic
17
Tablica 8.1.1. prikazuje prethodno navedenu arhitekturu modela neuronskih mreža
za klasifikaciju kupaca koji su / nisu kupili proizvode za slobodno vrijeme koja je
prilikom testiranja dala najbolje rezultate. Broj 31 označava broj ulaznih neurona, 14
broj skrivenih neurona, a broj 2 predstavlja izlazne neurone.
Za funkciju greške odabrana je sum of squares, a za skriveni sloj i izlazni sloj
logistička funkcija. Stopa točnosti na uzorku za testiranje je 87.14, no nažalost
ukupna stopa na uzorku za validaciju iznosi samo 58.33, što nam govori da model ne
bi bilo preporučljivo koristiti za klasifikaciju kupaca koji su/nisu kupili proizvode za
slobodno vrijeme.
Tablica 8.2.2. Matrica konfuzije za najbolju mrežu
Matrica konfuzije modela neuronske mreže (kataloska_prodaja400.sta) Uzorci: Validacija
Proizvod nije kupljen Proizvod je kupljen
MLP 31-14-2-0 20 11
MLP 31-14-2-1 14 15
Matrica konfuzije sastoji se od dva retka i dva stupca. U ćeliji 1.1. prikazani su kupci
koji nisu kupili proizvode za slobodno vrijeme i koje je model dobro razvrstao (20), a
u ćeliji 2.1. prikazani su kupci koje je model greškom nije stavio kod kupce koji nisu
kupili proizvode za slobodno vrijeme (14).
Ćelija 2.2. prikazuje kupce koji su kupili proizvod za slobodno vrijeme i koje je model
dobro razvrstao (15) a ćelija 1.2. prikazuje kupce koje model greškom nije stavio pod
kupce koji su kupili proizvode za slobodno vrijeme (11).
Od ukupno 60 kupaca (koje dijelimo na 34 kupca koji nisu kupili proizvode za
slobodno vrijeme i 16 kupaca koji jesu kupili proizvode za slobodno vrijeme) , model
je pogrešno razvrstao 25 (11 za kupnju, i 14 za ne obavljanje kupovine).
18
Tablica 8.1.3. Stope točnosti klasifikacije najboljeg modela
Sažetak klasifikacije (kataloska_prodaja400.sta) Uzorci: Validacija
MLP 31-14-2
Proizvod nije kupljen Proizvod je kupljen
Ukupno 34,00000 26,00000
Ispravno 20,00000 15,00000
Neispravno 14,00000 11,00000
Ispravno (%) 58,00000 57,00000
Neispravno (%) 41,00000 42,00000
Tablica 8.1.3. pokazuje koliko iznosi stopa točnosti klasifikacije za svaku klasu. Iz
navedenog vidimo da je stopa točnosti za kupce koji nisu kupili proizvode za
slobodno vrijeme 58%, a stopa točnosti za kupce koji jesu kupili proizvode za
slobodno vrijeme 57%.
Tablica 8.1.4. Analiza osjetljivosti
Analiza osjetljivosti (kataloska_prodaja400.sta) Uzorci: Validacija
MLP 31-10-2
Godišnji prihod 1,018409
Vrijednost kuće (stana) 1,045427
Vrijeme putovanja 1,055521
Starost 1,012908
Razina obrazovanja 0,920138
Broj auta 0,946408
Broj djece 1,019363
Bračni status 1,36031
Spol 1,115391
Rasa 1,29694
Tip grijanja 1,360534
Vrsta posla 1,091318
Tablica 8.1.4. Prikazuje analizu osjetljivosti izlazne varijable na ulazne varijable. Iz
navedenog vidimo da su tri ulazne varijable s najvećim utjecajem na izlaznu varijablu:
1. Tip grijanja (1,360534)
2. Bračni status (1,360310)
3. Rasa (1,296940)
19
Slika 8.1.1. Grafički prikaz osjetljivosti izlazne varijable na ulazne varijable
Grafikon prikazuje rezultate tablice 8.1.4. Iz grafikona, baš kao i iz tablice vidljivo je
da su tri ulazne varijable s najvećim utjecajem na izlaznu varijablu tip grijanja, bračni
status i rasa.
8.2. Rezultati testiranja stabla odlučivanja
Tablica 8.2.1. Struktura stabla odlučivanja najboljeg modela
Struktura stabla (kataloška_prodaja400.sta)
Lijeva
grana
Desna
grana
n u
klasi 0
n u
klasi 1
Klasa
predviđanja
Konstanta
podjele
Varijabla
podjele
Kategorija
podjele
1 184 135 0
Iz tablice je vidljivo da stablo odlučivanja ima nažalost samo jedan čvor. U čvoru
prevladava kategorija ljudi koji nisu kupili proizvode za slobodno vrijeme (njih 184),
dok je njih 135 kupilo proizvode za slobodno vrijeme.
Ostala polja su ostala nepopunjena jer se stablo nije granalo iz razloga što niti jedna
od ulaznih varijabli nije bila statistički dovoljno značajna za određivanje hoće li kupac
kupiti proizvode za slobodno vrijeme ili ne.
0,000000
0,200000
0,400000
0,600000
0,800000
1,000000
1,200000
1,400000
1,600000
Series1
20
Classification Tree for LEISURE_MATR
Number of splits = 0; Number of terminal nodes = 1
1 0
01
Slika 8.2.1. Grafički prikaz stabla odlučivanja za najbolji model
Grafički prikaz stabla odlučivanja potvrđuje podatke prikazane u tablici. Na slici se
jasno vidi da ne postoji grananje, zbog nedostatka statistički značajne ulazne
varijable, već postoji samo jedan čvor.
Nadalje, na grafičkom prikazu vidljiva su dva pravokutnika. Zeleni pravokutnik
označava klasu 0, odnosno osobe koje nisu kupile proizvode za slobodno vrijeme
(njih 184), a ljubičasti pravokutnik označava kupce koji jesu kupili proizvode za
slobodno vrijeme (njih 135).
Desni ugao grafičkog prikaza rezerviran je za zastupljeniju klasu unutar čvora, a
ovdje je to klasa „0“, tj. ne kupovina proizvoda za slobodno vrijeme
Tablica 8.2.3. Matrica konfuzije za najbolji model na uzorku za testiranje
Matrica konfuzije na uzorku za testiranje (kataloška_prodaja400.sta)
Klasa 0 Klasa 1
0 - 34
1 0 -
Analizom matrice konfuzije, može se zaključiti kako model u klasi 0 nije pogrešno
svrstao niti jednu osobu, dok je u drugoj klasi pogrešno svrstao njih 34.
21
Tablica 8.2.4. Stope točnosti klasifikacije za najbolji model na uzorku za testiaranje
Klasa 0 Klasa 1 Ukupno
0 47 34 81
1 0 0 0
Ukupno 47 34 81
Stopa točnosti klasifikacije 100 0 58
Iz tablice se može iščitati stopa točnosti klasifikacije za klasu 0, odnosno za osobe
koje nisu kupile proizvode za slobodno vrijeme, u iznosu od 58.00% te za klasu 1,
odnosno za kupce proizvoda za slobodno vrijeme u iznosu u 0,. S obzirom na te dvije
stope ukupna stopa klasifikacije iznosi 58.00.
8.2.1. Analiza značajnosti ulaznih varijabli
Nažalost niti jedna od 7 kvantitativnih i 5 kvalitativnih varijabla nije bila dovoljno
statistički značajna kako bi imala utjecaj na ishod kupovine kupaca.
9. Zaključak
Ukupne stope klasifikacije dobivene testiranjem neuronskih mreža (58.33) i stabla
odlučivanja (58.00) niske su u usporedbi s rezultatima testiranja u prethodnim
istraživanjima primjene neuronskih mreža i stabala odlučivanja spomenutih u ovom
radu.
Glede neuronskih mreža, s obzirom da su rezultati testiranja bili podjednako loši bez
obzira na raspodjelu uzorka, broj skrivenih neurona i vrstu prijenosne funkcije, i
činjenicu da su rezultati dobiveni na uzorku za treniranje znatno su bolji (87.14)
možemo zaključiti da bi model bio potencijalno uspješniji i na uzorku za validaciju
samo kada bi se povećala ukupna veličina uzorka.
Glede stabla odlučivanja, ono je u odrađenim testiranjima sve kupce svrstalo u one
koji neće kupiti proizvode za slobodno vrijeme zbog izostanka bilo koje ulazne
varijable s dovoljnim utjecajem na izlaznu varijablu.
Na osnovu dobivenih podataka, ukoliko bi izostala dodatna preinaka modela, testirani
modeli ne preporučuju se za klasifikaciju kupaca kataloške prodaje, no ukoliko se
mora birati između dva modela, preporuka je upotrijebiti model neuronskih mreža jer
je rezultat bio bolji za 0.33 u usporedbi sa modelom stabla odlučivanja.
22
10. Literatura
1. Zekić-Sušac M., Nastavni materijali za kolegij Sustavi poslovne inteligencije, Poglavlje 3. Neuronske mreže, https://moodle.carnet.hr/mod/resource/view.php?id=23158, 30.01.2012.
2. Educational Repository for Inteligent Systems, http://eris.foi.hr/11neuronske/nn-predavanje1.html, 30.01.2012.
3. Matko Bošnjak, Neuronske mreže, Nastavni materijali, Prirodoslovno-matematički fakultet u Zagrebu, 2011.
4. Zekić-Sušac M., Nastavni materijali za kolegij Sustavi poslovne inteligencije, Poglavlje 4. Stabla odlučivanja – kao metoda strojnog učenja i rudarenja podataka, http://hrcak.srce.hr/index.php?show=clanak&id_clanak_jezik=73924, 30.01.2012.
5. Gamberger D., Šmuc T., Marić I. (2011.),Stabla odlučivanja, Institut Ruđer Bošković, Zagreb, URL: http://dms.irb.hr/tutorial/hr_tut_dtrees.php, 30.01.2012.
6. Branko Markić – Hrčak – Portal znanstvenih časopisa Republike Hrvatske , INFORMATOLOGIA, Vol.44 No.3 Rujan 2011., Neuronska mrežna klasifikacija u menadžerskom računovodstvu, http://hrcak.srce.hr/index.php?show=clanak&id_clanak_jezik=10369, 30.01.2012.
7. Zekić-Sušac M., Frajman-Jakšić A., Drvenkar N., Hrčak – Portal znanstvenih časopisa Republike Hrvatske, Ekonomski vjesnik – No.2 Prosinac 2009., Neuronske mreže i stabla odlučivanja za predviđanje uspješnosti studiranja, URL: http://hrcak.srce.hr/index.php?show=clanak&id_clanak_jezik=73924, 30.01.2012.