bevezetés az Üzleti adatbányászatba spss modeler...

214
DR. BALOGH IMRE Bevezetés az Üzleti Adatbányászatba SPSS Modeler alkalmazásával 2019.

Upload: others

Post on 22-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

DR.BALOGHIMRE

BevezetésazÜzletiAdatbányászatbaSPSSModeleralkalmazásával

2019.

Page 2: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 3: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

TARTALOMJEGYZÉK

BEVEZETÉS 5

1.ISMERKEDÉSAMODELERREL 7

2.ADATFORRÁSOKHASZNÁLATA 30

3.REKORDMŰVELETEK 50

4.MEZŐMŰVELETEK 62

5.REKORDÉSMEZŐMŰVELETEK,VIZUALIZÁCIÓ 76

6.ADATFORRÁSOKEGYESÍTÉSE 92

7.KLASZTEREZÉS 106

8.NEURÁLISHÁLÓ 134

9.DÖNTÉSIFA 160

10.WEBESADATBÁNYÁSZAT 188

Page 4: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 5: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Bevezetés

Ajegyzetbevezetéstadazüzletiadatelemzéspiacvezetőszoftverénekhasználatába.AzIBMSPSSModeler-nek jelenleg a 14.1-es változata a legújabb, de a jegyzetbennéha a13.0 változatra és a 12-es változatra is hivatkozunk. A 12-es változat korábbi neveClementinevoltilletvea13.0-asváltozatátmenetilegaPASWModelernévenszerepelt.2010elejeótaegységesanévhasználat, azótaugyanisakorábbiSPSS Inc.beolvadtazIBM-be.

A jegyzethez szervesen hozzátartoznak a példa streamek és példa adatforrások,amelyekrefolyamatosanhivatkozik.

Az első változat összeállításában és kipróbálásában nagy segítséget nyújtott azAlkalmazott Informatika és Információmenedzsment Tanszék két korábbimunkatársaGrujberZoltánésZsírosPéter,köszönetilletiezértőket.

UgyancsakköszönetilletiTarrMártát,akiakéziratotgondozta.Szombathely-Budapest2010. BaloghImre

Page 6: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 7: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

1.IsmerkedésaModelerrelAprogramablakfelépítése:

Page 8: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 9: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azablakrészei:

• Menüsor• Eszköztár• Munkaterület• Nodepaletta• Managerspaletta• Projektpaletta

Apalettákkülön-különaVIEWmenüpontalattki-bekapcsolhatók.

Streammegnyitása

Gyakorlat

HasználjaaF I L E menüO P E N S T R E A M parancsát,ésnyissamegaDemo.strállományt!

Aműveletvégrehajtásautánazalábbiábralátható:

Page 10: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Amunkaterületenamegnyitottstreamfelépítéselátható.Vegyüksorraaképenláthatóelemeketésjelentésüket:

• Ahatszög,kör,háromszögésnégyzetalakúikonokatnode-naknevezik.• Anode-okatösszekötőfeketenyilakazadatokáramlásánakirányátjelzik.

AjobboldaliManagerspalettaStreamslapjánamegnyitottStream-eklistájalátható:

Page 11: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Gyakorlat:

VáltsonátaStream1–stream-re,majdvisszaaDemostream-re.

ZárjabeaStream1stream-et.

Azegérreljelöljekiazegyesnode-okat(egykattintás).

„Fogd-vidd”művelettelrendezzeátanode-okatamunkaterületen.

Bármelynode-ontörténőduplakattintássalnyissameganodebeállításaittartalmazóablakot.

NodetípusokAnode-okaprogramablakaljántalálhatónodepalettárólhelyezhetőkelastream-ben.

HaaNodepalettanemlátható,kapcsoljabeaV I E W menüpontN O D E S P A L E T T E parancsával!

ApalettaaFavoritesfülönkívülhattovábbifülöncsoportosítvatároljaafelhasználhatónode-okat:

• Sources• RecordOps• FieldOps• Graphs• Modeling• Output

Page 12: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Gyakorlat:

Keressemeg,hogyamunkaterületen láthatóstream-benlévőegyesnode-okmelyfülöntalálhatókmeg!Figyeljemegazegyesnode-okalakját!(hatszög,kör,stb.)

A Sources fülön lévő (kör alakú) node-ok különböző adatforrásokból származó, táblázatos elrendezésűadatokbeolvasásáraszolgálnak.

A Record Ops fülön lévő (hatszög alakú) node-ok alkalmazásával táblázatok soraival végezhetőkműveletek.

A Field Ops fülön lévő (hatszög alakú) node-ok alkalmazásával táblázatok oszlopaival végezhetőkműveletek.

AGraphsfülönlévő(háromszögalakú)node-okkalazadatokgrafikusanábrázolhatók.

AModeling fülön lévő(ötszögalakú)node-okmatematikaimodellezőalgoritmusokvégrehajtását tesziklehetővé.

AzOutputfülönlévő(négyzetalakú)node-okpedigazadatokkülönbözőformábatörténőexportálásáraképesek.

ADemostreamértelmezése,futtatásaFontos,hogy:

• Köralakúnode-bólcsakkiindulhatnakanyilak.• Háromszögésnégyzetalakúnode-bacsakmutathatnakanyilak.

A hatszög alakú node-ok a beérkező adatokon valamilyen oszlop vagy sor műveletetvégeznekel,majdbelőlükazadatfolyamtovábbkapcsolhatómásnode-okirányába.A legtöbb hatszög alakú node csak egy helyről fogadhat adatokat (egy nyíl mutathatrájuk).KivételaRecordOpsfülöntalálhatóMergeésAppendnode.Bármelykör,vagyhatszögalakúnode-bóltöbbnyíliskiindulhat,vagyistöbbegymástólfüggetlenágonisfolyhatazadatoktovábbifeldolgozása.

Page 13: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Gyakorlat:

ADemo stream több olyannode-ot is tartalmaz, amely egy egy adatfeldolgozási folyamat végét jelenti.Keressemegezeketanode-okat.

Keressemeg,hogymelyiknode-bólindulhatkiazadatfeldolgozófolyamat.

Anode-ontörténőduplakattintássalnyissameganodebeállításaittartalmazóablakot.

Page 14: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azablakaljántalálhatófülekazegyesbeállításcsoportokközöttiválthatásraszolgálnak.

Lehetőségek:

• Ezzel a node-dal olyan szövegfájlokból olvas be adatokat,melyek egy-egy soramegfelelabeolvasandótáblázategysorának,ésasorokonbelülazoszlopértékekvalamilyenhatárolókarakterrelvannakelválasztva.

Gyakorlat:

KeressemegazENG-HUN.txtfájlt,ésnyissamegajegyzettömbben.

Figyelje meg, hogy mi lehet a határolókarakter a sorokon belül, valamint vannak-e felesleges szóközkarakterekazadatokközött.

Ellenőrizze, hogy a File rovatban helyesen van megadva a fájl elérési útja. Ha nem, akkor adja megpontosan.

• ADELIMITERS rovatbanadhatómeg,hogyaszövegfájlonbelülazadatokmilyenhatárolókarakterrelvannakelválasztva.Kettőjelölhetőbe:ANEWLINE asorokatválasztjael,a>pedigasorokonbelülazoszlopokat.

Page 15: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• A STRIP LEADANDTRAIL SPACES rovatban aBOTH megadásával a beolvasottadatokmindkétvégérőleltávolíthatókafeleslegesszóközkarakterek.

VáltsonátaFilterfülre!

• Ezenafülönaztállítottukbe,hogyatovábbiakbanaszövegfájlbólbeolvasottkétoszlopnak(változónak)milegyenaneve.

MindenegyesnodebeállításaittartalmazóablakonmegtalálhatóazANNOTATIONS fül.

VáltsonátazAnnotationsfülre!

Page 16: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• Ezenafülönnevetésleírástadhatunkanode-hoz.

Atovábbiakbanfigyeljenazegyesnode-oknálerrealehetőségre.Sokesetbenrészletesleírásttalálhatanodecéljáról,működéséről.

Zárjabeabeállításablakot,azOKmegnyomásával,hogyamódosultbeállításaitelmentse!

Most, hogy láttukmilyen adatokkal is dolgozik a stream-ünk, ugorjunk egy nagyot, ésnézzükmegmilyeneredményeketadnakazoutputnode-ok.AzegyikleggyakrabbanhasználtoutputnodeaTABLE .Ebbőljelenlegegyettartalmazastream,közvetlenülasourcenodunkhozkapcsolva:

A node eredményeinek megtekintéséhez futtatnunk kell a node-ot. Ezt a következőmódokontehetjükmeg:

• Megnyitjuk a node beállításait tartalmazó ablakot, ahol is azEXECUTE gombrakattintunk:

Page 17: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• A node-on történő jobbklikkes helyi menüből kiválasztjuk az Execute

menüpontot:

• Kijelöljükanode-ot,majdleütjükaCTRL+E billentyűkombinációt.

• Kijelöljükanode-ot,ésazeszköztárEXECUTESELECTION parancsárakattintunk:

Haazeszköztáronasimazöldháromszög ikonrakattint,akkorazadottstreamösszesoutputnode-játlefuttatjaegyszerre!

Azoutputnode-okfuttatásánakeredményemindigújablakbannyílikmeg.

Page 18: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

FuttassaaTableoutputnode-ot!

Eredménykéntvalamihasonlótkelllátnunk:

Figyeljemeg,hogyaManagerspalettaOutputsfülénismegjelentazeredmény!

Ha az output eredményét tartalmazó ablakot bezárja, az output fülön továbbra ismegmaradabejegyzés,melyreduplánrákattintvaismétmegnyithatjaazt.Ha ismételten futtatja a node-ot, akkor az egy újabb eredményhalmazt generál, melyugyancsak megjelenik az output fülön, az előző futtatás eredményétől függetlenül.Hiszenlehetséges,hogyközbenpéldáulasourcenodebeállításainakmódosításamiattakéteredményhalmaznemisegyezikmeg.

Azoutputfülönlévőlistábólbármelyikelemettörölheti,elmentheti,harákattintazegérjobbgombjával,ésamegfelelőparancsotkiválasztja!

Haazoutputnodeeredményéttartalmazóablakotúgyzárjabe,hogyazeszköztárontalálható ikonrakattint,akkoregyúttalazoutputlistárólistörliabejegyzést!

ATablenode-ot leggyakrabban arrahasználhatjuk, hogy a streamkülönbözőpontjainelhelyezve részeredményeket jeleníthessünk meg, ellenőrizhessük az addig felépítettműveletekeredményeit.

Futtassaleastreamtöbbioutputnode-játis!

Nézzemegazegyesnode-okleírásait!

Próbáljaértelmezniazegyesnode-okbeállításait!

Page 19: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Amint az az eredményekből látható, a stream feladata a két nyelv szókezdő-betűieloszlásainakavizsgálata.

ADemostreamműködéseA következőkben részletesen végighaladunk a stream-et alkotó node-ok szerepén,beállításain,hogyastreamműködésétteljesegészébenvilágosanlássuk.AHUN-ENG.txtfájltbeolvasósourcenodeutánközvetlenülegyDERIVE nodetalálható,aFIELDOPS nodepalettáról:

ADerivenode-dalújszámítottoszlopot,vagyoszlopokathelyezhetünkelazadattáblánkban.

Anodefeladata,hogyhozzonlétreegyújoszlopotELSOBETU_MAGYARnéven,éstöltsefelamagyarszavakkezdőkaraktereivel.

AnodebeállításainakmegtekintéséhezkattintsonduplánazElsobetu_magyarnode-ra!

Megjelenikanodetulajdonságpanelja:

Aképletekösszeállításábanjelentőssegítségetkaphatunkaszámológépikonratörténőkattintással:

Page 20: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Akifejezés-szerkesztőhasználatávalkapcsolatosgondolatok:

• Azablaktetejéntalálhatóbevitelimezőbenaképletet„kézzel”isszerkeszthetjük.A bevitt képlet hibáinak a kijavításához, vagy csak egyszerűbb módosításokelvégzéséhezezazajánlottmódszer.

• Ha egy konkrét feladatra keresünk függvényt, akkor szűkítsük a megjelenítettfüggvénylistátafüggvénykategóriájánakkiválasztásával.

• Akijelöltfüggvényleírásaelolvashatóazablakalján.

• Duplakattintással a függvényeket és az oszlopneveket elhelyezhetjük aképletünkben.

• AzelkészültképletetaCheckgombbalellenőrizhetjük,hogyszintaktikaihibáktólmentes-e.

• Abeírtkifejezésekbenaprogramkülönbségetteszakisésnagybetűkközött.

AClemetinekifejezésekakövetkezőelemekbőlépülhetnekfel:

• Értékek(konstansszövegek,számok,dátumok,stb.),

• Mezőnevek(oszlopnevek),

• Operátorok(műveletijelek),

• Függvénynevek.

Térjünkvisszaanodeáltaltartalmazottképletre:U P P E R T O L OWER ( S T A R T S T R I N G ( 1 , M A G Y A R ) ( 1 ) )

Aképletmegértéséhezmegkellismerkednünkkétszövegkezelőfüggvénnyel,valamintaClemetinekülönbözőadattípusaiközülkettővel.

Page 21: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• Szövegadattípus:

Az adattáblánkbanmeglévő két oszlop (magyar, angol) szöveg típusú adatokattárol. Képletekben, ha konstans szöveget szeretnénkmegadni, akkor azt duplaidézőjelekközézárjuk,mintpéldául:„Alma”.

• Karakteradattípus:

Gyakorlatilag egyetlen karakter tárolására képes. Nem egyezik meg egyegykarakteres,deszövegesadattípusúértékkel.Képletekbenkonstansértékkéntegyszeresidézőjelekközézárvajelöljük,mintpéldául:`R`.FONTOS! Nem ’ jelek közé, hanem ` jelek közé zárjuk. Magyarbillentyűzetkiosztásesetén:AltGr+7.

Ha a képletünkben egy oszlopban letárolt szöveg, vagy bármely kifejezéseredményeképpvisszaadottszövegtípusúértékegyetlenkarakteréreszeretnénkhivatkozni (karakter adattípusként), akkor azt a következő szintaktikávaltehetjükmeg:OSZLOPNEV(I) ,aholiazadottszövegi-edikkarakterétjelenti.

• Uppertoloverfüggvény:

Karakteradattípusúparamétertvár,éskisbetűsrealakítja.

• Srtartstringfüggvény:

Egytetszőlegesszövegelsővalahánykarakterétadjaeredményül.Mindezek után már nem nehéz megfejteni a képlet eredményét: a magyar szó elsőkarakterelesz,nagybetűformájában.

Kattintson az annotation fülre a node tulajdonságablakában. Ott is megtalálja a képlet tömörmagyarázatát!

Értelmezzeakövetkezőnodeműködését!(Elsobetu_angol)

KövetkezikaFilternode:

Ez a node is a Field Ops palettáról származik. Általánosan a következő célokrahasználjuk:

• Oszlopokátnevezése.• Oszlopokkikapcsolásaatovábbiadatfolyamból.

Hamegnézzükanodebeállításait,akkortisztánláthatjuk,hogyazadattáblaeredetikétoszlopát, amelyek a szavak teljes alakját tárolták, kizártuk a további feldolgozásból.Ennek két célja van: egyrészt ne terhelje feleslegesen a rendszert a továbbiszámításoknál, másrészt tisztább és áttekinthetőbb a további munka, ha aképletszerkesztőbennemislátjukmárezeketazoszlopokat.

Ettől a node-tól kezdve az adatfeldolgozó folyamatunkat szétválasztjuk két irányba,amelyekkésőbbismétegyesülnekmajd,deezmégráér…

Page 22: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Az egyik ág amagyar kezdőkarakterek eloszlásával foglalkozik,míg amásik az angolkezdőbetűkkel.

Mindkétágelsőnode-jaegySelectnode,aRecordOpspalettáról:

ASelectnodeazadattáblasorainakaszűréséreszolgál.Segítségévelbizonyosfeltételekalapjánsorokatzárhatunkkiatovábbiadatfeldolgozásból.Miértismerültfel,hogyzárjunkkisorokat?Könnyenválasztkaphatunk,hamegnézzük,hogy a stream-ünk eddigi részemilyen eredményeket ad. Ehhez a következőre lenneszükség:

HelyezzünkelegyTable(output)node-ota node-unkután,ésfuttassukleazeredményekmegtekintéséhez!

Új node-ot a következő módokon helyezhetünk el a munkaterületen szerkesztettstream-ben:

• Duplánrákattintunk:

Figyeljükmeg, hogy noha amunkaterületen lévő node-ok közül akár többet iskijelölhetünk egyszerre, akkor is csak egy aktive node van. Az amelyiketszaggatott keret vesz körül. Ha duplakattintással helyezzük el az új node-ot,akkorazautomatikusankapcsolódnifogazéppenaktuálisnode-hoz.

• Fogd-viddművelet:

Ilyenkor utólag kézzel adhatjuk meg, hogy melyik node-hoz kapcsoljuk azújonnanelhelyezettnode-ot.

Astream-benelhelyezettnode-okattörölhetjükkijelölésükután,példáulaDELbillentyűleütésével.

Node-okat„kézzel”egymásutánkapcsolniakövetkezőmódonlehet:

• Jelöljükkiakapcsolnikívántnode-ot.• Üssük le az F2 funkcióbillentyűt, vagy a node helyi menüjéből válasszuk a

Connectparancsot.• Kattintsunkakapcsolnikívántkövetkezőnode-ra.

HasikerültaTablenode-otelhelyezniamegfelelőhelyen,akkorakövetkezőhözhasonlóképetkelllátnunk:

Page 23: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

HalefuttatjukaTablenode-ot,akkorpedigezazeredménykellmegjelenjen:

Innen már tisztán látható, hogy miért is lenne hasznos szűrni a sorokat. Hiszenegyáltalánnemérdekesekelemzésünkszempontjábólaszámjegyek.

BármelynodeutánkapcsolhatunkközvetlenülegyTableoutputnode-ot,hogyazaddigirészeredményeketmegtekintsük.

NézzükakkoraSelectnodebeállításait:

Page 24: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ahogy az a beállításokon látszik, jelen esetben megtartjuk azokat a sorokat, ahol afeltételigaz.

AbeírtképletmagyarázatáhozkattintsunkazAnnotationfülre!

Innenastreamismétszétágazik.Pontosabbanfogalmazva,azegyikágnemis igaziág,csupánegyDistributionnodeaGraphspalettáról:

Futtassaanode-otésértelmezzeazeredményt!

Nézzemeganodebeállításait,ésértelmezzealátottakat!

Nézzük tovább amásik ágműködését. Ezt az ágat az az ötlet hívta életre, hogy a kétnyelvkezdőbetűinekazeloszlásátegyközösgrafikononjeleníthessükmeg.Azt, amit a Distribution node elvégzett, nevezetesen, hogy betűnként csoportosítvakiszámoltaacsoportokelemszámát,elvégezhetjükegymásiknode-típussalisúgy,hogyabból további számításokat eszközölhetünk. A stream-ben így egy Aggregate nodekövetkezikaRecordOpspalettáról:

AzAggregatenodefőfeladata,hogyatáblábanlévősorokbólcsoportokatképezzen,ésacsoportokra olyan alapstatisztikákat számoljon, mint például: minimum, maximum,átlag,stb.értékeegyadottmezőnek,oszlopnak.Acsoportosításmindenesetbenasorokvalamelyoszlopban,vagyoszlopokbanfelvettazonosértékénalapul.

NézzemegazAggregatenodebeállításait!

Page 25: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

RakjonbeazAggregatenodeutánegyTableoutputnode-otisésfuttassaarészeredménymegtekintéséhez!

A következő node, mind a magyar, mind az angol ágban már az ismert Filter node.Feladataamunkatáblakétoszlopánakátnevezése.

NézzemegaFilter node-okbeállításait.

Megfigyelheti, hogy mindkét ágon az első betűt tartalmazó oszlopot Elsobetu névreneveztükát.Ennekoka,hogyhaakétadathalmaztegyesíteniszeretnénk,akkorezekazoszlopokértékeialapjánlehetakéttáblasoraitpárosítani.AzegyesítéstelvégzőMergenodefeltételezi,hogyazösszekapcsolástvégzőoszlopokazonosnevűek:

AMergenodeaz egyikolyan, amely többbemenettel rendelkezhet.A feladata, hogyabemeneteihez kapcsolt táblákból a sorok egymáshoz rendelésével egy nagy közöskimenetitáblátállítsonelő.

NyissamegaMergenodebeállításait!

Page 26: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A Merge fülén állíthatjuk be a forrástáblák egyesítésének a módját. Jelen esetben azegyesítés kulcs (Keys) értékek egybeesésén alapul. A kulcsként használt oszlop neve:Elsobetu.Afullouter join(mindkét irányúlazaösszekapcsolás)azteredményezi,hogymindkéttáblábólkerüljenekbeazokasorokisazeredménybe,aholamásiktáblanemrendelkezikazadottkulcsértékkel.

Vegyeészre,hogyapanelrendelkezikegyFilterfüllelis.Gyakorlatilagennekanode-nakrészeegyFilter node is, így egyúttal a kimeneti oszlopok nevei is megadhatók vagy megjelenítésükkikapcsolható.

KapcsoljonaMergenodeutánegyTablenode-ot,ésfuttassa!

Azeredménymagáértbeszél:

Page 27: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Jól látható, hogy azon karakterek mellé került $NULL$ érték, amelyek csak az egyiktáblábanfordultakelő.A$null$értékismeretlen,hiányzóértéket jelöl,ésnemegyezikmegamatematikainullával.

Természetesenszerepelhetnea0számértékisegytáblában.Ilyenkorazegyesítésutánisszerepelnifog,mint0érték.Deaznema$null$-alegyezikmeg,mertazismert.Tudjuk,hogynulla.

Mielőttgrafikontkészítenénkazadatainkbólezeketa$null$értékeketszerencséslennekicserélniamatematikai0-ra.EztafeladatotlátjaelmindkétoszlopraaFillernode:

Nyissameganode-okbeállításait,ésértelmezzeabeállításokat!

Innenmár egyenes azút. Csupánkétnode vanhátra.Az egyik egy grafikonon jelenítimegadarabszámokalakulását,mígamásikazeddigieredményeketegyExcel táblábamentiel.

Akétnodebeállításaimeglehetősenmagukértbeszélnek!Értelmezzeőketönállóan!

AzExceloutputnodeelébeillesztettTypenode(FieldOpspalettáról)egyetlencéltszolgál.BiztosítjaazExcelnodeszámáraamentendőadatoktípusainakmegadását.(szöveg,szám,stb.)

Page 28: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

ÖnállófeladatHamegnézzük az eredményeket grafikonon, akkor az tűnik ki nagyon, hogy az angolszavaknál túlnyomó többséget élveznek a t betűvel kezdődő szavak, míg a magyaresetébenmeglehetősenegyenletesazeloszlás:

Alakítsukátastream-etúgy,hogyneaszókezdőkarakterekalapjánszámoljon,hanemaszavakmásodikkarakterétvegyefigyelembe!

Hasonlítsukösszeazígynyertgrafikontajelenlegivel!

Page 29: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 30: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

2.AdatforrásokhasználataAz alábbiakban megismerkedünk a Sources Node-ok közül talán a háromlegáltalánosabbanhasználhatónode-dal.

Var.Filenode

Ezzelanode-dalmártalálkoztunkazelőzőgyakorlatonis,amikorazangol-magyarszótártolvastukbevele.

Anode-daltagoltszövegfájlokbólolvashatunkbeadattáblákat.Aszövegfájlokonbelülalegáltalánosabbanhasználttagolókarakterek:

• Vessző• Pontosvessző• Tab• Szóköz

Ezeken túl minden esetben a beolvasandó táblázat sorait a sorvége jel határolja aszövegfájlonbelül.Tipikusfájltípusatxt-nkívülmégacsv(ComaSeparatedValue–VesszővelElválasztottÉrtékek).

KeressemegésnyissamegajegyzettömbbenazA D A T O K . T X T fájlt!

Hasonlóképetkelllátnunk:

Sejthető,hogyadatainkháromoszlopbavannaktagolva.Devajonmiahatárolókarakterazadatokközött?Haanyílbillentyűkkelmozgunkasorokonbelül,akkornyilvánvaló,

Page 31: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

hogyazoszlopokközöttitávolságoknemszóközkarakterekkelvannakkitöltve.Sejthetőmár, hogy a határolókarakter az értékek között a TAB . Hogyan ellenőrizhetnénkhipotézisünk? Nyissuk meg a fájlt egy olyan szövegszerkesztő alkalmazásban, amelyképesaláthatatlanvezérlőkarakterekmegjelenítésére,példáulaMicrosoftWord-ben:

Anyomtatásbanláthatatlankarakterekmegjelenítésénekbekapcsolásávalegyértelműenlátszik,hogyvalóbanaTABahatárolókarakter.

OlvassukbeaModeler-benazadatainkat:

AModeler-enbelülnyissonegyújstream-et!

Helyezzenelastream-benegyV A R . F I L E node-ot!

Nyissameganodebeállításait!

Haeddigeljutottunk,akövetkezőablakotláthatjukaképernyőn:

Page 32: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AzablaktetejénláthatóF I L E rovatbatallózzukbeazA D A T O K . T X T állományt!

Arovatalattláthatópanelbanmegisjelenikafájltartalma:

A kapcsolóalapállapotátőrizzükmeg,hiszenebbenazesetbenaszövegfájlelsősoraabeolvasandótáblázatoszlopainakaneveittartalmazza.

VáltsunkátazablakaljánaD A T A fülre,hogyellenőrizzükabeolvasottadattáblaoszlopait!

Page 33: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Láthatóan valami még nem tökéletes. A három oszlop helyett egy oszlopként látja atartalmat.Sejthető,hogyazoszlopokértékeiközöttihatárolókaraktermegadásánálvanaprobléma.

VáltsunkvisszaaF I L E fülre!

Megisvanaproblémaoka:

Amintazlátható,TabhelyettaComa(vessző)vanmegadvahatárolónak.

JelöljükbeaC O M A helyettaT A B -ot!

VáltsunkvisszaaD A T A fülre,hogyellenőrizzükamódosításhatását!

Kezdenekadolgokahelyükrekerülni!Bármégvanegyapróprobléma.ADATA fülön figyelemmel kísérhetjük a beolvasandó tábla oszlopaiban lévő értékekadattípusait. Amint az a képen is látható a Modeler a Nev, a Szuldat és a Telepulesoszlopokat szöveges adatként tárolná, míg az Irsz mező értékét egész számként.Problémaaszületésidátumszövegkénttárolásával,ésazirányítószámegészszámkénttörténőtárolásávalvan.

ÁllítsukátaSzulDatésazIrszmezőkadattípusátdátumraésszövegre.

Az Override jelölőnégyzet bepipálásával jelezhetjük, hogy az adott oszlop adattípusátfelülbíráljuk:

Page 34: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Az INPUT FORMAT oszlopban szükség szerint gondoskodhatunk a beolvasott értékekmegjelenítésénekmódjárólis:

VáltsonátaT Y P E S fülre!

Page 35: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A FIELD oszlop mutatja a beolvasandó mezők nevét és tárolási adattípusát. A TYPE oszloppedigastatisztikaiváltozótípusát.Akövetkezőértékeketállíthatjukittbe:

• Range:

Egészvagyvalósszámértékeknél,valamintdátumoknálhasználható.

• Discrete:

Szövegestípusúértékekeseténhasználatos,amikorapontosszámaalehetségeskülönbözőértékekneknem ismeretes. Igazábólegyabsztraktadattípus,amiaztjelzi,hogymégnemismerünkmindenlehetségesinformációtatároltadatainkról.Ha egyszer beolvassuk az adatainkat átalakul Flag, Set, vagy Typeless értékkéattól függően, hogymekkora amaximálisanbeállított Set Size (halmazméret) astreamtulajdonságlapján.

• Flag:

Két különböző értéket tartalmazó változók esetén használjuk. Lehetnek ezekszövegek,számok,deakárdátumokis.(pl.:(1;2),vagy(férfi;nő),stb.)

• Set:

Többkülönbözőérték leírására szolgál, amelyekmindegyadotthalmazelemeiközülkerülnekki.Például:(kicsi;közepes;nagy).

• OrderedSet:

Többkülönbözőérték leírására szolgál, amelyekmindegyadotthalmazelemeiközül kerülnek ki, és van értelme az adatok sorbarendezésének. Például:érdemjegyek.

• Typeless:

Mindenegyébesetbenhasználható,vagyhaaSet típuseseténahalmaz túl sokelemettartalmazna.

KattintsonaR E A D V A L U E S gombra,azadatokbeolvasásáhozésazadattípusokbeállításához.

Page 36: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azeredményenlátható,hogynemtudtahalmaztípusúkéntkezelnisemanevet,semazirányítószámot, sem a települést. Mint már olvastuk, ez függhet a streamtulajdonságlapjánbeállítottmaximálishalmazmérettől.

AzO K –rakattintvazárjabeazablakot!

AF I L E menübőlválasszakiaS T R E A M P R O P E R T I E S … parancsot!

Page 37: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Mint látható aMAXIMUM SET SIZE értéke alapból 250-re van állítva. Ezt az értéketszükség esetén növelhetjük, vagy ki is kapcsolhatjuk a maximumot a beállítás előttijelölőnégyzetkiürítésével.

Ebben az esetben most tekintsünk el a módosítástól, mert amennyiben nem akarjuk adataink példáultelepülésnévszerinticsoportosításátakésőbbiekbenkihasználni,nincsrászükségünk,hogyaClemetineSettípusúkéntkezeljeazoszlopértékeit.

ZárjabeazablakotaC A N C E L -rekattintva!

Teszteljükleanode-unkműködését.

KapcsoljonanodeutánegyTableoutputnode-ot,ésfuttassa!

Page 38: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Amintláthatóeddigimunkánkgyümölcsebeérett.

Próbáljukmegkinyerniazegyestelepülésekrenézveazadatainkeloszlását.

KapcsoljonasourcenodeutánegyD I S T R I B U T I O N node-otaG R A P H S palettáról!

Nyissameganodebeállításait!

Page 39: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ha megpróbáljuk kiválasztani a Field rovatban, hogy mely oszlop értékei alapjánszeretnénkazeloszlástmegkapni,akkorsajnálatosmódonüreslistávaltalálkozunk.

Miislehetennekazoka?Hakitalálta,nemiskelltovábbolvasni!J

Azeloszlásalapjacsakisset,ésflagtípusúmezőlehet!

NyissamegaS T R E A M P R O P E R T I E S ablakotéskapcsoljakiaMA X I M U M S E T S I Z E opciót!

Nyissamegismétasourcenodebeállításait,azonbelülisaT Y P E S Fület.

Atípusokismételtkiértékeléséhezújrakellolvastatniazadatokat.

KattintsonaC L E A R A L L V A L U E S gombra,majdutánaaR E A D V A L U E S gombra!

Page 40: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Akapotteredménytlátvaazakérdésadódik,hogyaNevmezőmiértmaradtTypeless?

HaismétmegnézzükaStreamPropertiesablakot,

akkor azt látjuk, hogy még egy beállítás van, amely korlátozza a halmazok méretét.Részletesebbinformációkértnyissamegasúgót!

TérjünkvisszaaDistributionnode-hoz.Nyissameganodebeállításait!

Amintazlátható,mársemmiakadályaanodelefuttatásának.

Futtassaanode-ot!

Havégiggörgetiatelepüléslistátnagyonszembetűnő,hogymennyiresokhibátistartalmazazadatállomány.Ezekenahibákonatovábbiakbannagyvonalúanátsiklunk.

Bármár ismerjük a szerepét, demegkell említenünka sourcenodebeállításai közöttmegtalálható Filter fület is, ahol átnevezhetjük a beolvasott oszlopokat, valamintkikapcsolhatjukazokat,amelyekrenemleszszükségünk.Akövetkezőkbenugyaneztazadatállománytolvassukbe,kéttovábbiformátumból,kéttovábbisourcenodesegítségével.

Excelnode

Helyezzenelastream-benegyE X C E L node-otisaS O U R C E S palettáról!

Nyissameganodebeállításaittartalmazóablakot!

Page 41: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AFIXEDFILE node-hozképesteltérést csakaDATA fülbeállításainál tapasztalhatunk(filefülnincsis).Ezlogikusis,hiszenazadatforrásfizikaijellemzőintúlmárugyanúgykell,hogyállíthassukatípusokat,ésamezőkátnevezését,elrejtését.

AzI M P O R T F I L E rovatbanválasszakiazA D A T O K . X L S fájlt!

Meg kell adnunk továbbá, hogy az Excel munkafüzet mely munkalapja tartalmazza abeolvasandó adattáblát. Ezt megadhatjuk a munkalap sorszámával (INDEX) , vagy amunkalapnevénekkiválasztásávalis(NAME) .

HamegnyitjukazExcelbenamunkafüzetet,hogyafelépítésétmegnézzük,nefelejtsükelbezárni,mielőttanode-otfuttatnánk.HamegvannyitvaExcelben,akkorazolyanmódonzároljaafájlt,hogyaModelernemtudhozzáférni,mégolvasásrasem.

AWO R K S H E E T rovatbanjelöljekiaN A M E opciót,éstallózzabeamunkafüzetS Z E M E L Y E K nevűmunkalapját!

Amunkalap kiválasztása utánmégmeg kell adni, hogy amunkalapmely tartományatartalmazzaazadatokat.HaaDATARANGE rovatbanaFIRSTNON-BLANKROW –otválasztjuk,azzalaztjelezzük,hogyadattáblánkamunkalapelsőnemüressorábankezdődik.Megadhatjukekkor,hogymitörténjen.Hatovábbiüressorokattalálunkabeolvasáskor:

• STOPREADING: Befejeziabeolvasást.• RETURNBLANKROWS:Amunkalapösszesadatátbeolvassaazüressorokkal

együtt.

Ha a DATA RANGE rovatban az EXPLICIT RANGE opciót választjuk, akkor pontosanmegadhatjukabeolvasandótartományméretét,elhelyezkedését.Például:B3:F50.

Page 42: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Abeállításokelvégzéseutánhasonlóképetkelllátnunk:

Ok–ozzaleanodebeállításait!

Kapcsoljon egy T A B L E output node-ot az E X C E L node után és futtassa az eredménymegtekintéséhez.

Megfigyelhetjük, hogy ezen node használata esetén nem adhatjuk meg a beolvasott adatok fizikaiadattípusát (szám, szöveg, stb.), mert azt az Excel munkafüzetben történő tárolás módja automatikusanmeghatározza.

Viszontittismegkelladnunkazadatokstatisztikaiértelembenvetttípusát.(Set,Range,stb.)

Databasenode

Helyezzenelastream-benegyD A T A B A S E node-otis,aS O U R C E S palettáról!

Nyissameganodebeállításait!

Page 43: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ezzelanode-dalrelációsadatbázisokbantárolttáblákadataitolvashatjukbeastream-be.AzEXCEL node-hozképestcsakaDATA fülbeállításaibantalálunkeltérést.A DATA SOURCE rovatban egy már a Windowsban bekonfigurált adatforrást lehetkiválasztani.Tehátahhoz,hogyaModelerrátudjoncsatlakozniegyadatbázisra,előtteaWindowsbanlétrekellhozniegyODBCbejegyzést.

ODBC=OpenDataBaseConnectivity(nyíltadatbáziskapcsolat)

AzODBCbejegyzéslétrehozásáhozrendszergazdaijogszükséges.

Akövetkezőlépéseketkelltenni(WindowsXPesetén):

• Nyissuk meg a vezérlőpulton (Control Panel) belül a felügyeleti eszközöket(AdministrativeTools).

• Nyissuk meg az Adatforrások (Data Dources) (ODBC) ikont, és váltsunk aRendszerDSN-re(SystemDsn):

Page 44: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• Hozzáadás(Add…):

• Jelöljük ki a Microsoft Access Driver (*.mdb) listaelemet, és kattintsunk a

Befejezés–re(Finish):

Page 45: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• Írjuk be a létrehozandó ODBC bejegyzés nevét, az ablak tetején lévő beviteli

mezőbe:Szemelyek• AKijelöl…(Select)gombrakattintvajelöljekiabeolvasnikívántadatbázist.Ami

esetünkbenazAdatok.mdb-t:

• KattintsunkazOK-ra:

Page 46: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• OKésmégegyszerOKazablakokbezárásához.

EzzellétreishoztukazODBCbejegyzést.TérjünkvisszaaModeler-hez:

AD A T A S O U R C E rovatbólválasszaaz< A D D N E W D A T A B A S E C O N N E C T I O N … > opciót!

Page 47: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AzablaktetejénláthatólistábanmegkelljelenjenaSZEMELYEK bejegyzésis!

Jelölje ki a S Z E M E L Y E K bejegyzést a listából, és kattintson a C O N N E C T gombra akapcsolódáshoz!

ZárjabeazablakotO K –kal!

Page 48: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A T A B L E N A M E rovatban meg kell adni az adatbázis beolvasandó táblájának a nevét(S Z E M E L Y E K ).

Haátkattintunkafilterfülre,márlátnikellazadattáblaoszlopainakanevét.Atovábbibeállításokugyanúgytörténnek,minteddig.

Page 49: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 50: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

3.RekordműveletekAzalábbigyakorlatokvégrehajtásáhozhasználjukazelőzőgyakorlatadatállományát!

AzalábbiakbanelőfordulófeladatokmegoldásaimegtalálhatókaDemo.strfájlban.

Adjonastream-hezegyV A R . F I L E node-ot,ésolvassabeazA D A T O K . T X T állománytartalmát!

Ellenőrizzeabeolvasássikerességét,egyT A B L E outputnode-dal!

Tablenode IsmerkedjünkkicsitjobbanmegaTablenodeeredményablakával:

• Elsőretalánalegfontosabbinformációkatazablakfejlécébőlolvashatjukki!• A ikonrakattintvaazeredménylistátelmenthetjük.Természetesenerrea

célra használhatjuk aFLATFILE node-ot is az Output palettáról, ha amentéstautomatikusanszeretnénkvégrehajtani.

A további lehetőségek megismeréséhez nyissuk meg a Table node beállításait, és váltsunk azO U T P U T fülre!

Page 51: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• AzOUTPUTNAME rovatbanaCUSTOM opciótválasztvaegytetszőlegesszövegetadhatunk meg, mely a kimenet „címe” lesz. Megadása esetén az eredményttartalmazóablakcímsorábanastandard(mezőésrekordszám)üzenethelyettazittmegadottszövegleszlátható.

• Ha azOUTPUTTOSCREEN opció helyett azOUTPUTTOFILE opciót választjuk,akkor a node futtatása esetén az eredményeket nem a képernyőn jelenítimeg,hanemamegadottfájlbamentiel.A FILE TYPE beállításával adatainkat elmenthetjük tab-bal vagy vesszővelszeparált fájlba,weblapbaágyazott táblázatként,vagya*.cousaját formátumbais.ATRANSPOSEDATA bejelölésévelmentéselőtttranszponáljaazadattáblát.

HaatablenodefuttatásánakeredményétazOutputpalettárólkijelölveszeretnénkelmenteni,akkorottcsaka*.couformátumotválaszthatjuk.

Azelmentett,vagyképernyőnmegjelenítettadatokformaibeállításaitaFORMAT fülönadhatjukmeg:

Page 52: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• AFORMAT oszlopbanamegjelenéstszabályozóformátumkódotadhatjukmeg.• AJUSTIFY oszlopbanazadatokvízszintesigazítását.• A COLUMN WIDTH oszlopban pedig a megjelenített oszlopok szélességeit

szabályozhatjuk.Ha duplán rákattint valamelyik mező nevére, akkor egy párbeszédablak jelenik meg,melyenkönnyebbenésrészletesebbenmegadhatjaabeállításokat:

Végüllássuk,mitislehetbeállítaniaSETTINGS fülön:

Page 53: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ezen a fülönmegadhatunk egy logikai kifejezést,melyet a node a táblaminden egyessorárakiértékel,éshaazeredményazadottsorra igaz(true) lesz,akkorazadottsortkiemeltenjelenítimeg.

A logikaikifejezésmegszerkesztésében ismétcsaksegítségünkre lehetakifejezés-szerkesztő,melyeta ikonrakattintvanyithatunkmeg.

Emeljekiazonrekordokat,aholazirányítószámértéke9700!

Hahelyesképletetadottmeg,akkorhasonlókelllegyenanodefutásieredménye:

Page 54: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AfeladatmegoldásátmegtaláljaaD E M O S . S T R állományban.

Selectnode Nagyon sokszor nemcsak arra van szükségünk, hogy egyes adatokat kiemelvejelenítsünk meg a többi adat között, hanem a további adatfeldolgozó utasításainkatszeretnénk az adatok egy részére korlátozni. Másképp fogalmazva, a továbbiműveletekbőlbizonyosadatokatszeretnénkkizárni.Ha az adattáblánknak csak bizonyos soraira van szükségünk a továbbiműveletekhez,akkoramegfelelősorokkigyűjtésétaSelectnodesegítségévelvégezhetjükel.

Kapcsoljunkasourcenode-hozegyS E L E C T node-otaR E C O R D O P S palettáról!

Anodebeállításaitmegnyitvaakövetkezőketadhatjukmeg:

Page 55: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• ACONDITION rovatbaegy logikaikifejezést írhatunk,melymindensorraki fogértékelődni.

• HaaMODE rovatbanazINCLUDE-t jelöljükmeg,akkorazokatasorokatengeditovábbakimenetre,amelyekreigazamegadottfeltétel,haaDISCARD-ot,akkorpedigazokatzárjaki,amelyekreigazafeltétel.

Csakazokatasorokattartsukmeg,aholazirányítószámértéke9700!

Tehátakövetkezőketkellbeállítanunk:

Ellenőrizzeahelyesműködést,egyTablenode-dal!

Ateljességigényenélkülálljonittnéhánytovábbipéldalehetségesszűrésifeltételekre:

• TELEPULESMATCHES"R*"

AholatelepülésnevenagyRbetűvelkezdődik

Page 56: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• TELEPULESMATCHES"*R*"

AholatelepülésnevetartalmaznagyRbetűt

• TELEPULESMATCHES"??????"

Aholatelepülésnevepontosan6karakteres

• DATETIME_YEAR(SZULDAT)=1980

1980-banszületett

AmatchesoperátorralaModelersúgójaalapján,csaka* és? helyettesítőkaraktereketlehethasználni.LHaezekközülbármelyiketkellilleszteni,akkora\ karaktertkellelőtagkénthasználni.Például,haazokataszövegeketszeretnénkilleszteni,amelyek* karakterrelkezdődnek,akkorakövetkezőmintátadhatjukmeg:” \ * * ” .

Samplenode Az adattábla sorainak szűrésére a Sample node is használható. Ellentétben a Selectnode-dalebbenazesetbennemegylogikaifeltételigazvagyhamisvoltadöntiel,hogyaz adott sor bekerül-e a további adatfeldolgozásba. A sorok kiválasztásának másszempontjaitalkalmazhatjukanodehasználatával:

• Azelsővalahánysor• Mindenvalahányadiksor• Véletlenkiválasztottsorok

HelyezzenelegySamplenode-otasourcenodeutánkapcsolva!Nyissameganodebeállításait!

A SAMPLE rovatban állíthatjuk be, hogy mi legyen a rekordok kiválasztásának azalapelve:

• FIRST:

Azelsővalahányrekord

Page 57: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• 1-IN-N:

Mindenn-edikrekord

• RANDOM%:

VéletlenrekordokA MODE rovatban, ha az INCLUDE SAMPLE helyett a DISCARD SAMPLE beállítástválasztjuk ki, akkor a node pont fordítva működik, és a SAMPLE rovat által kijelöltsorokatzárjakiatovábbifeldolgozásból. AMAXIMUMSAMPLESIZE opciót csak akkor adhatjukmeg, ha1-IN-NVAGYRANDOM% módonvesszükamintát.Használatávalkorlátozhatjukamintaméretét. A SET RANDOM SEED opció a RANDOM % mód esetén jelölhető be. Használatávalmegismételhetjükamintavételezést egymásik futtatás esetén.Haugyanazt az értéketadjukmeg, akkor ugyanabból a forráshalmazból, ugyanazt amintát fogja generálni. AGENERATE gomb használatával automatikusan megadja a véletlen mintát generálóértéket.(Nemkellnekünkkitalálni,beírni.)Haazopciókivankapcsolva,akkormindenegyesfuttatáseredményeteljesenvéletlenszerűlesz.

Haadatainkatrelációsadatbázisbólnyerjük,akkorszükségeslehetegyS O R T nodehasználataaS A M P L E nodeelőtt,hamegismételhetővéletlenmintátszeretnénkkapni.Ennekoka,hogyarelációsadatbázisokban,nemmeghatározottasoroksorrendje,ellentétbenpéldáulegyExceltáblázattal,vagytagoltszövegfájllal.

Állítsabeúgyanode-ot,hogyatáblázatbólvéletlenszerűenlistázzonki10sort!

Hasikerült,akkorakövetkezőketkelllátnunk:

Amaximumsamplesizegarantálja,hogyazeredménybennelegyen10-néltöbbrekord.

ARandom%-nállegalábbakkorarészétállítsukbeamintának,hogyaztartalmazzonlegalább10rekordot.

KapcsoljonanodeutánegyTableoutputnode-ot,ésfuttassaazeredményekellenőrzéséhez!

Page 58: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Sortnode A node segítségével adattáblánk sorait rendezhetjük, valamely oszlop(ok) értékeialapján. Ha több oszlopot is megadunk, mint rendezési szempontot, akkor számít azoszlopoksorrendje.Elsősorbanazelsőnekmegadottoszlopértékeialapjánrendez,haeznemlehetségesegyezőértékekmiatt,akkoramásodikoszlopértékeialapján,stb.

KapcsoljonasourcenodeutánegySortnode-ot!Nyissameganodebeállításait!

Adja meg elsődleges rendezési szempontnak az irányítószámot, másodlagosnak a születésidátumot, ésharmadlagos szempontnakanevet.Mindegyik szempont szerintnövekvő rendezéstállítsonbe!

Afeladatsikeresvégrehajtásautánakövetkezőtkelllátnunk:

Page 59: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Kapcsoljonanodeutánegytablenode-ot,ésellenőrizzeazeredménytanodefuttatásával!

Aggregatenode Anodesegítségévelazadattáblasoraibólcsoportokképezhetők,azáltalunkkiválasztottoszlopokértékeinekegyezőségealapján.Példáulcsoportosíthatjukasorokatúgy,hogyegycsoportbaazazonosirányítószámútelepülésenlakókkerüljenek,vagyúgy,hogyazegy napon születettek kerüljenek egy csoportba, vagy akár a két szempont közöshasználatával egy csoportba az azonos napon születettek és azonos településen lakókkerüljenek.

A node lehetőséget biztosít arra, hogy a képződött csoportok adataiból a következőszámításokatvégezzük:

• Összegzés(Sum)• Átlagolás(Mean)• Minimum(Min)• Maximum(Max)• Szórás(SDev)• Acsoportbanlévősorokszáma

KapcsoljonasourcenodeutánegyAggregatenode-ot!Nyissameganodebeállításait!

Csoportosítsaatáblasoraitazirányítószámoszlopértékeialapján!

Page 60: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Számoljaacsoportokraalegfiatalabbésalegidősebbszületésidátumát!

Abeállításokelvégzéseutáneztlátjuk:

Néhánytovábbibeállítás:

• Ha aKEYSARECONTIGIOUS opciót bekapcsoljuk, akkor az azonos kulcsértékettartalmazó sorok csak akkor fognak egy csoportot alkotni, ha az adott sorokegymás mellett is vannak. Tehát, ha lenne 10 darab 1234 –es irányítószámottartalmazósor,denemegymásmellett,hanempl.3-5-2–esmegoszlásban,akkorebbőla10sorbólnemegy,hanem3csoportkeletkezne.Viszonthaminda10soregymás mellett van, akkor az opció bekapcsolása esetén is egy csoportotalkotnának.

• Az INCLUDE RECORD COUNT IN FIELD opció bekapcsolásával az eredményekközébeszúranodeegyújoszlopot,melyacsoportokatalkotósorokdarabszámátfogja tartalmazni. Megadhatjuk az oszlop nevét is, ha nem felel meg azalapértelmezettRecord_countnév.

• ANEWFIELDNAME extensionkitöltésévelaszámoltoszlopoknevéhezszabadonmeghatározhatóelő,vagyutótagotrakhatunk.

Kapcsoljon az Aggregate node után egy Table output node-ot, és futtassa az eredményellenőrzéséhez!

ÖnállófeladatAzEladasok.xlsfájlegyfiktívcégtermékeladásaittartalmazza.Atáblázatmindenegyessoraegykonkrétértékesítéstjelent.Atáblázatoszlopainakajelentése:

• Kategórianév:Azeladotttermékkategóriája

• Terméknév:

Page 61: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azeladotttermékneve• Egységár:

Azeladotttermékegységára• Mennyiség:

Atermékbőleladottmennyiség• Cégnév:

Avevő• Ország:

Avevőországa• Város:

Avevővárosa

Listázzakiannaka10 terméknekanevét, amelyekbőla legnagyobbmennyiségbenadtakel.Neszámítsonbeleazeredménybeegyolyansortsem,amikoravevőa„QUICK-Stop”nevűcégvolt.

Page 62: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

4.MezőműveletekA gyakorlat fő célja, hogy megismerkedjünk a Modeler-ben számítások elvégzésérealkalmasutasításokkalés függvényekkel.Képletekmegírásáraszámtalanesetben lehetszükségünk. Nemcsak akkor, amikor új számított oszlopot kell létrehoznunk, hanemakkor is, amikor például a Select node-ban meg kell adnunk a sorok kiválasztásifeltételét.Mindenekelőttszükségünkleszegyadatforrásra.ErreacélrahasználjukfelismétamárismertEladasok.xlsállományt.

Helyezzenel együres stream-benegyE X C E L sourcenode-ot, ésolvassabeazE L A D A S O K . X L S adatállományt!

KapcsoljonanodeutánegyT A B L E nodot,ésfuttassa!

Azadatokatlátvatöbbalapvetőkérdésisfelmerülhet:

Terméktípusonként, termék kategóriánként, évenként, negyedévenként, vevőkként,országonként,stb.mekkoraabevétel? Ezenkérdésekmegválaszolásáhozkikelltudnunkszámolnimindenegyesadatsorraazeladásösszértékét,vagyisamennyiségésegységárszorzatát.

Derivenode Anodefeladata,hogyazadattáblábaújoszlopothozzonlétre,melynekazadatsorokbanfelvettértékeitegyáltalunkmegadottképlethatározzameg.

Page 63: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

KapcsoljonasourcenodeutánegyD E R I V E node-otaR E C O R D O P S palettáról,ésnyissameganodebeállításait!

Anode rengetegopciót rejteget.Előszöra lehető legegyszerűbbmódonpróbáljukki aműködését.

Azújoszlopnevénekadjamegakövetkezőt:E R T E K

Képletnekpedigezt:E G Y S É G Á R * M E N N Y I S É G

Page 64: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ok–ozzaleanode-ot,ésegyTablenode-dalellenőrizzeazeredményt!

Atovábbiakbannézzükátanoderészletesbeállításait:

Mode Ha amode rovat SINGLE-re van állítva, akkor a node csak egy új oszlopot hoz létre,melynekértékeitamegadottképlethatározzameg.

Page 65: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ha a mode értéke MULTIPLE , akkor egyszerre több számított oszlopot islétrehozhatunk:

Hogyazújoszlopokmelyeredetilegmeglévőoszlopokértékeibőllegyenekszámolva,mihatározhatjukmegaDERIVEFROM rovatban.Azújoszlopokneveiazeredetioszlopokneveiből és egy általunkmeghatározható elő, vagy utótagból tevődnek össze, aFIELDNAMEEXTENSIONrovatbanbeállítottakszerint.

Mivel minden egyes új oszlop értékeit az eredeti oszlopokból azonos képlettel számolja a node, ezértáltalábanelmondható,hogyazonosadattípusúoszlopokesetébenalkalmazhatóezamódszer.Például:Adottkétoszlop:EgységárésÉrtékHaszeretnénkakétoszlopbólÁFA-valmegnöveltértékeketisszámolni,akkoraztakövetkezőbeállításokkaltehetjük:

Page 66: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Multiple mód esetén a @FIELD függvény segítségével hivatkozhatunk a képletvégrehajtódásaalattéppenaktuálisoszlopértékére!

Deriveasrovat Azújoszlopkiszámításimódjáthatározzameg:

• Formula:Általunkmegadottképletalapján

• Flag:Azújoszlopkétféleértéketvehetfel:

Megadhatjuk,hogymi legyenezakétérték, ésazta logikaiképletet, amelynekigazvisszatérésiértékeieseténaTRUEVALUE értéket,egyébkéntaFALSEVALUE értéketveszifelazújoszlop.

• Set:Azújoszlopértékeiegyhalmazelemeiközülkerülnekki:

Atáblázatbaloszlopábansorolhatjukfelalehetségesértékeket(halmazelemei),míg a jobboldalon minden egyes értékhez megadhatunk egy logikai kifejezést,melynek igaz visszatérési értéke esetén a mellette lévő értéket veszi fel az újoszlop adott sora. Számít az értékek sorrendje (nyilakkal állítható), mert többfeltételteljesüléseeseténafeljebblévőértéketkapjamegazújoszlop.Haegyikfeltételsemteljesül,akkoraDEFAULTVALUE rovatbanmegadottértéketveszifelazújoszlopadottsora.

• State:NagyonhasonlóaFlagbeállításhoz.

Page 67: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Csakmíg a Flag választás esetén egyetlen feltétel igaz, vagy hamis eredményealapjándőlel,hogymelyikértéketveszifelakétlehetségesközülazoszlop,addigittmindkétértékheztartozikegylogikaikifejezés,melyeknekigazértékeeseténfelveszi az adott értéket (átvált rá), hamis értéke esetén viszont az utoljárakiosztottértéketadjaamezőnek.AzelsősorkiszámolásaeseténazalapértéknekazINITIALSTATE rovatbanmegjelöltetveszi.Olyanmintegykapcsoló(state~állapot),melyethakellátbillenthetünk.

• Count:Kiválóanalkalmassorszámozásra,leszámlálásra.

Az INITIALVALUE rovatbanmegadhatjukakezdőértéket,melyetmindenegyesúj sor esetén megnövel az INCREMENT BY rovatban megadott értékkel, ha azINCREMENTWHEN rovatbanmegadottlogikaikifejezésigazértéketveszfel.Ha a RESET WHEN rovatban megadunk egy logikai kifejezést, akkor mindenegyes olyan sortól kezdve, ahol ez a feltétel igaz értéket ad, újraindítja aszámolást.

• Conditional:AtipikusHA…AKKOR…EGYÉBKÉNT…formula:

Az IF rovatban egy logikai kifejezést adhatunk meg, mely teljesülése esetén aTHEN rovatot,egyébkéntpedigazELSE rovatotértékeliki.

Page 68: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ha a Derive as rovatban nem létezne, természetesen akkor is megoldhatók lennének a felsorolt esetek amegfelelőképletekmegadásával.

AzExpressionBuilderÉrdemes némi figyelmet szentelnünk a Modeler beépített kifejezés-szerkesztőablakának is. Minden egyes esetben, ahol a számológép ikon megjelenik, ott arrarákattintvamegnyithatjukeztazablakot:

Az ablak tetején lévő beviteli mezőben szerkeszthetjük kifejezéseinket. A kifejezésekösszeállításában sokat segíthet, hogy az ablak további részeiben megjelenő listákelemein duplát kattintva, vagy a gombokon kattintva az adott tételt beilleszthetjük aképletünkbeésnemkellbegépelniazokat.

Az alábbi lista a felhasználható függvényeklistáját mutatja. A lista tetején lévő legördíthetőlistából konkrét függvénykategóriát választvaleszűkíthetjükaválasztékot.A bal oldali oszlop mutatja a függvény nevét ésparamétereit, míg a jobboldali a függvényvisszatérésiértékénektípusátadjameg.

A listábólkijelölt függvény leírásaelolvashatóazablakalján.

A bal felső sarokban lévő sárga nyílra kattintva a kijelölt listaelem beilleszthető a

Page 69: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

képletünkbe.

A lista tetején kiválaszthatjuk, hogy mitmutassonalista:

• Fields(oszlopokat)• Parameters (paramétereket, ha

vannak)• Globals(havannak)

A Parameters és a Globals listában elérhető értékekrőlkésőbbleszszó.

A bal felső sarokban lévő sárga nyílra kattintva a kijelölt listaelem beilleszthető aképletünkbe.

A sárganyílmelletti kis ikon megmutatjaa kijelölt mező konkrét értékeit,megkönnyítveamegfelelőmezőkiválasztását,haelfelejtettükazoszlopnevét.

A képleteinkben felhasználható operátorok. A kevésbé egyértelműekmagyarázata:

hatványozás(3**2=9)

egészosztás(9div4=2)

azosztásmaradéka(9rem4=1)

ugyanaz min az előző, használata nem javasolt, mert a jövőbenmegszüntetik.Csakisvisszafelekompatibilitásmiattvanmégmeg

amegegyeziklogikaivizsgálatellentéte:nemegyenlő

szövegekösszefűzése(”alma”><”fa”=”almafa”)

AModeleradattípusaiAképletekben,kifejezésekbenakövetkezőtípusúértékekszerepelhetnek:

• Szöveg(String)például:”c1”;”Type2”;”tetszőlegesszöveg”

• Egészszám(Integer)például:12;0;-134

Page 70: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• Valósszám(RealNumber)például:12.34;0.0;-0.0023

• Dátum-időérték(Date/Time)például:5/12/2005

• Karakterkód(Characters)például:`a`

• Elemeklistájapéldául:[123];[’Type1’’Type2’]

A karakterkódokat és listákat általában nem használjuk oszlopok értékeiként, viszontgyakranhasználatosakaModelerfüggvényekparamétereiként.

Idézőjelezésiszabályok:

• Szövegek:Szövegeketmindigduplaidézőjelekközöttadunkmeg.

• Karakterek:Mindig egyszeres visszafele álló idézőjelet kell használni. (Magyarbillentyűkiosztásesetén:AltGr+7)Például:`a`Karakter adattípusú értéket nyerhetünk úgy is, ha egy szövegből kiemeljükvalahányadikbetűjét:”SZÖVEG”(4)

• Mezők(oszlopok):A képletekben amezők neveit általában önmagukban alkalmazhatjuk, ellenbenha a mezőnév szóközt tartalmaz, vagy speciális karakterrel kezdődik, akkoregyszeresidézőjelekközétesszük.

• Paraméterek:Mindigegyszeresidézőjelekközétesszükőket.Pl.:’$P-threshold’

AModelerfüggvényeiAModelerakövetkezőfüggvénycsoportokattartalmazza:

• Information:Információkat nyerhetünk ki a mezők értékeiről az itt található függvényekhasználatával.

• Conversion:Adattípusokköztiátalakításrahasználhatófüggvényekettartalmaz.

• Comparison:Mezők értékeinek egymással, vagy konstans értékekkel történőösszehasonlításárahasználhatókakategóriafüggvényei.

• Logical:Logikaiműveleteketvégezhetünkelafüggvényekkel.

• Numeric:Matematikaiszámításokhozlehetnekszükségesekazitttalálhatófüggvények.

• Trigonometric:Trigonometriaiszámításokhozhasználhatókfelakategóriafüggvényei.

• Probality:Valószínűségipróbákszámolásáhozhasználhatókfelakategóriafüggvényei.

• Bitwise:Egészéskettesszámrendszerbeliértékekkelvégezhetünkbitműveleteket.

• Random:

Page 71: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Véletlenértékekgenerálásához,vagykiválasztásáhozhasználhatjukfel.• String:

Szövegtípusúértékekfeldolgozásakornélkülözhetetlenek.• SoundEx:

Szövegekfonetikuskiejtésénalapulóhasonlóságánakavizsgálatáraalkalmasakakategóriafüggvényei.

• Dateandtime:Dátumésidőértékekmanipulációjárahasználhatófüggvényektalálhatókitt.

• Sequence:Atábláksorainakegymásutániságáraépülőműveleteketvalósítanakmeg.

• Global:ASetGlobalsnode-dallétrehozottglobálisértékekeléréséhezhasználhatókfel.

• Blanksandnull:Azüreséshiányzóértékekkezeléséhezhasználhatjukfelezeketafüggvényeket.

• Specialfields:Mezőkkiválasztásáhozhasználhatókfel.(Példáulamárhasznált@FIELD)

A továbbiakban kiemelnénk néhány fontosabb, gyakran használatos függvényt. Afüggvények részletes szintaktikája, paramétereinek listája, sorrendje megtalálható asúgóban,deakifejezés-szerkesztőismegmutatja.

Informationfüggvények• @NULL(ITEM)

Azvizsgálhatóvele, hogyegyadottmezőértékemegvan-e adva.AModeler azadattáblasoraibanahiányzóértékeket$null$értékkeljelöli.

• is_date(ITEM)Aztvizsgálja,hogyazadottértékértelmezhető-edátumként.

• is_integer(ITEM)Igazértékkeltérvissza,haparamétereegészszám.

• is_number(ITEM)Igazértékkeltérvissza,haparamétereértelmezhetőszámként.

• is_real(ITEM)Igazértékkeljelzi,haparaméterevalósszám.

• is_string(ITEM)Igazértéketadvissza,haparamétereszöveg.

• is_time(ITEM)Igazleszavisszatérésiértéke,haaparamétereértelmezhetőidőértékként.

Conversionfüggvények• to_integer(ITEM)

Aparaméterekéntmegadottértéktárolásitípusátegészszámmáalakítja.• to_real(ITEM)

Aparaméterekéntmegadottértéktárolásitípusátvalósszámmáalakítja.• to_number(ITEM)

Aparaméterekéntmegadottértéktárolásitípusátszámmáalakítja.• to_string(ITEM)

Aparaméterekéntmegadottértéktárolásitípusátszöveggéalakítja.• to_time(ITEM)

Aparaméterekéntmegadottértéktárolásitípusátidőértékkéalakítja.

Page 72: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• to_date(ITEM)Aparaméterekéntmegadottértéktárolásitípusátdátumértékkéalakítja.

• to_datetime(ITEM)Aparaméterekéntmegadottértéktárolásitípusátdátumidőértékkéalakítja.

Comparisonfüggvények• date_before(DATE1,DATE2)

Igazértékkeltérvissza,haaDATE1megelőziaDATE2-t.• max(ITEM1,ITEM2)

Anagyobbelemmeltérvissza.• min(ITEM1,ITEM2)

Akisebbelemmeltérvissza.• time_before(TIME1,TIME2)

Igazértékkeltérvissza,haTIME1megelőziTIME2-t.

Logicalfüggvények• ifCONDthenEXPR1elseEXPR2endif

HaaCONDfeltételigaz,akkorEXPR1,egyébkéntazEXPR2kifejezésértékéveltérvissza.

Numericfüggvények• abs(NUM)

Abszolútértéketszámol.• fracof(NUM)

Atörtrésztadjavissza.• intof(NUM)

A csonkolással keletkező egészrészt adja vissza. Nem egyezik meg azegészrésszel,haaszámnegatív.

• log10(NUM)10-esalapúlogaritmustszámol.

• round(NUM)Egészrekerekít.

• sign(NUM)Előjelfüggvény.

• sqrt(NUM)Négyzetgyökötszámol.

Trigonometricfüggvények• sin(NUM)• cos(NUM)• tan(NUM)• pi

Igazábóleznemisfüggvény,hanemkonstans.Apiértékétadjavissza.

Randomfüggvények• random(NUM)

Egész vagy valós számmal tér vissza, egy ésNUMközött, attól függően, hogy aNUMparamétermilyentípusú.HaNUMegész,akkoregésszeltérvissza,haNUM

Page 73: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

valós érték, akkor valós lesz a visszatérési érték is. A tizedes pontosságot aStreamtulajdonságaihatározzákmeg.

• random0(NUM)Abbankülönbözikazelőzőtől,hogyavéletlenszámok0-tól indulnak,ésaNUMértéknélkisebbek,veleegyenlőkmárnemlehetnek.

Stringfüggvények• allbutfirst(N,STRING)

A STRING szöveg minden karakterét visszaadja az első N darab karakterkivételével.

• allbutlast(N,STRING)A STRING szöveg minden karakterét visszaadja az utolsó N darab karakterkivételével.

• alphabefore(STRING1,STRING2)Igazértékkeltérvissza,haSTRING1megelőziSTRING2-tazabc-ben.

• endstring(LENGTH,STRING)ASTRINGszövegutolsóNdarabkarakterétadjavissza.

• count_substring(STRING,SUBSTRING)Megadja,hogyaSTRINGszövegbenhányszorfordulelőaSUBSTRINGszöveg.

• isalphacode(CHAR)Igazértékkeltérvissza,haaparaméterebetű.

• isendstring(SUBSTRING,STRING)Ha a STRING szöveg végemegegyezik a SUBSTRING szöveggel, akkor azt adjavissza, hogy a STRING szöveg hányadik karakterénél kezdődik a SUBSTRINGszöveg,egyébként0-valtérvissza.

• islowercode(CHAR)Igazértékkeltérvissza,haparaméterekisbetű.

• ismidstring(SUBSTRING,STRING)HaaSUBSTRINGszövegszerepelaSTRINGszövegben,denema legelejénvagylegvégén,akkorakezdésipozíciójánakasorszámávaltérvissza,egyébként0-val.

• isnumbercode(CHAR)Igazértékkeltérvissza,haparamétereszámjegy.

• isstartstring(SUBSTRING,STRING)Ha a STRING szöveg eleje megegyezik a SUBSTRING szöveggel, akkor 1 –et,egyébként0-tadvissza.

• issubstring(SUBSTRING,N,STRING)A STRING szövegben az N-edik karakterétől kezdve keresi a SUBSTRINGszöveget.Hamegtalálja,akkorvisszatérakezdésipozíciójával,egyébként0-tadvissza.HaN-tnemadjukmeg,akkoralapértelmezésben1-etveszfelétékül.

• issubstring_count(SUBSTRING,N,STRING)Azzal a pozícióval tér vissza, ahol a SUBSTING N-edik előfordulása kezdődik aSTRINGszövegben.HaNnagyobb,mintahányszorelőfordulbenne,akkor0-valtérvissza.

• isuppercode(CHAR)Igazértékkeltérvissza,haparaméterenagybetű.

• last(STRING)VisszatéraSTRINGszövegutolsókarakterével.

• length(STRING)

Page 74: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

VisszatéraSTRINGszöveghosszával,karakterekszámábanmérve.• replace(SUBSTRING,NEWSUBSTRING,STRING)

Visszatér azzal a szöveggel, melyet úgy kapunk, hogy a STRING szövegben aSUBSTRING szöveg összes előfordulását helyettesítjük a NEWSUBSTRINGszöveggel.

• replicate(COUNT,STRING)ASTRINGszövegetannyiszorsokszorozzameg(fűziösszeönmagával),amennyitaCOUNTparamétermegad.

• startstring(LENGTH,STRING)ASTRINGszövegelsőNdarabkarakterétadjavissza.

• substring(N,LEN,STRING)ASTRINGszövegN-edikkarakterétőlszámoltLENdarabkaraktertadvissza.

• substring_between(N1,N2,STRING)ASTRINGszövegN1ésN”pozíciójaközöttikaraktersorozatotadjavissza.

• trim(STRING)Eltávolítjaaszövegelejérőlésvégérőlaközkaraktereket.

• unicode_value(CHAR)VisszaadjaaCHARkarakterunicodeértékét.

• uppertolower(CHAR)uppertolower(STRING)Kisbetűsséalakít.

• lowertoupper(CHAR)lowertoupper(STRING)Nagybetűsséalakít.

Dateandtimefüggvények• @TODAY

Visszaadjaazaktuálisdátumot.• date_before(DATE1,DATE2)

Igazértékkeltérvissza,haDATE1megelőziDATE2-t.• date_days_difference(DATE1,DATE2)

Napokszámábanmegadjaakétdátumkülönbségét.• datetime_day(DATE)

Kiemeliahónapnapjánaksorszámátadátumból.Egészszámotadvissza,1és31között.

• datetime_hour(TIME)Kiemeliazóraértékétazidőértékből.

• datetime_minute(TIME)Kiemeliapercértékétazidőértékből.

• datetime_month(DATE)Kiemeliahónapsorszámánakértékétadátumból.

• datetime_time(HOUR,MINUTE,SECOND)Időértéketállítelőazóra,apercésamásodpercértékekből.

• datetime_weekday(DATE)Visszaadja,hogyahéthányadiknapjáraesikazadottdátum.

• datetime_year(DATE)Kiemeliazévértékétadátumból.

• time_before(TIME1,TIME2)Igazértékkeltérvissza,haTIME1megelőziTIME2-t.

Page 75: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

SequencefüggvényekSok-sok művelet esetében a rekordok egymásra következősége meghatározó. Ilyenműveletekpéldául:

• Asorokindexelése• Idősorok• Mozgóátlagok• Egymásutániértékekösszehasonlítása• Stb.

Sok művelet esetében egy sor feldolgozása nem független művelet, hanem nagyon isfüggamellette,előtte,vagymögöttetalálhatórekordokértékeitől.Ezekbenazesetekbennagyonfontosodafigyelniarekordokmegfelelőszempontszerintisorbarendezésére.

ASequesnceésspeciálisfüggvényekmindigazalábbiszintaktikátkövetik:

• @karakterrelkezdődnek• Anevükcsupanagybetűvelvanírva

Például:

Ha szeretnénkmegtudni, hogymennyi idő telt el egy esemény előfordulása óta, vagymikorvoltutoljáraigazegyfeltétel,akkorhasználhatjuka@SIENCEfüggvényt:@SINCE(INCOME>OUTGOINGS)Ezaképletvisszatérannakazutolsósornakazeltolásiértékével,amikorafeltételmégigazvolt.

Továbbirészletekasúgóban.

Feladatok

1.feladat

Számolja ki, hogy az egyes termékekből összesen milyen értékben adtak el. A listát azzal atermékkelkezdje,amelybőlalegnagyobbértékbentörténteladás.

2.feladat

Azelőzőmegoldástegészítsekiazzal,hogyazegyestermékekreazösszeseladottdarabszámotiskiszámolja,valamintazegyeseladásitételekbenszereplőlegolcsóbbéslegdrágábbegységárat.Azösszesítettértékekbőlszámolátlagosegységárat!

3.feladat

OlvassabeazA D A T O K . T X T állományt!

A születési dátumok alapján határozza meg minden egyes évre, hogy az adott évben hányanszülettek!Alistátazévszámokalapjánnövekvőrendezésbenjelenítsemeg!

Page 76: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

5.Rekordésmezőműveletek,vizualizációAz alábbi gyakorlat célja, hogy egy összetettebbpéldán keresztülmélyebbre vezessenbennünketastream-eképítésében,aképletekalkalmazásában.A problémakör amit végigjárunk, az egy fiktív háztartás két év alatt összeírtgázfogyasztási adatainak az elemzése. Tegyük fel, hogy XY két éven keresztülmindenreggelleolvastaésfeljegyezteagázóraállását.

OlvassukbeazadatokataG Á Z F O G Y A S Z T Á S . X L S állományból!

JelenítsemegabeolvasottadatokategyTablenode-dal!

Figyeljemeg,hogyabeolvasottmezőktípusa:Range

Azadattábla:

Amint az látható az adattábla a gázóranapi állásait tartalmazza.Nekünkalapvetőenanapi fogyasztási értékekre lenne szükségünk, amelyet úgy kaphatunk meg, hogy az

Page 77: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

aktuális napi óraállásból kivonjuk az előző napi óraállás értékét. Természetesen így alegelsőnapranemleszérvényesfogyasztásiadatunk!

Hozzon létre egy új számítottmezőtN A P I F O G Y A S Z T Á S néven (Derive node-dal), mely a napifogyasztásiadatokattartalmazza!

AfeladatmegoldásáhozvalamelySequencefüggvénykategóriábaesőfüggvénysegíthet,hiszenolyanműveletetkellmegvalósítanunk,amelyatáblasorainakegymásutániságáraépül.Ajóeredménybiztosításáhozszükséges,hogyatáblasoraiteljesbizonyossággalaLeolvasásdátumaoszlopszerintlegyenekrendezve,növekvősorrendbe.

TehátmégaDerivenodeeléfelkellhasználnunkegySortnode-otis:

AholaSortnodebeállításaiakövetkezők:

ADerivenodebeállításaipedig:

Page 78: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A @DIFF1(Óraállás) képlet helyett használhattuk volna a következő képletet is:Óraállás-@OFFSET(Óraállás,1)

Azeredmények:

Amintazláthatóazelsősoresetében$null$lettaNapiFogyasztásmezőértéke.

Zárjakiatovábbifeldolgozásbólazelsősort!

EztegySelectnodealkalmazásávalkönnyenmegtehetjük:

Page 79: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A további feldolgozáshozmár nem lesz szükségünk az óraállásokat tartalmazó oszlopértékeire,csakaLeolvasásdátumáraésaNapifogyasztásra.

ZárjakiatovábbiműveletekbőlazÓraállásoszlopot,amásikkettőtpedignevezzeátDatum-raésFogyasztas-ra!

HasználjukaFilterNodeegypéldányáterreafeladatra:

Azeddigelkészültstream:

HaegyTablenode-dalmegtekintjükazeddigieredményeket:

Page 80: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Atovábbiakbankészítsükelahaviösszegzéseket.Vagyisakétévösszesen24hónapjáraszámoljuk ki az összes fogyasztás értékét. Ehhez csoportosítanunk kell a tábla soraitúgy,hogyegycsoportbaazazonosévazonoshónapjáraesősorokkerüljenek.

Hozzonlétrekétújszámítottmezőt(Derivenode-dal)EvésHonapnéven,aholazegyikfogyasztásidátumévét,amásikahónapjáttartalmazza!

A képletekben a datetime_year és a datetime_mont függvényeket használjuk fel. AfuttatásutánakövetkezőképenisláthatóEvésHonaposzloppalgyarapodtunk:

Számoljakiahaviösszfogyasztásokat!(Aggregatenode)

AzAggregatenodebeállításai:

Page 81: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ésfutásánakeredménye:

IdősorokábrázolásaÁbrázoljukgrafikononakapotthavifogyasztásiadatokat!

KapcsoljonastreamvégéreegyT I M E P L O T node-ot,aGraphspalettáról!

Page 82: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Anodebeállításai:

• A Time plot node a SERIES rovatban megadott adatsorokat olyan sorrendbenfogjaábrázolniazXtengelyen,ahogyazokazadattáblábanelhelyezkednek.

• Az X tengely feliratait (X AXIS LABEL) alapértelmezésben (DEFAULT) besorszámozza. 1-től addig, ahány ábrázolandó adat van. A CUSTOM opciótválasztvamegadhatunkegymásikmezőt,melynekértékeikerülnekazXtengelyfelirataikéntmegjelenítésre.

• ADISPLAY rovatbanbekapcsolhatjuk,hogyvonallal,ponttal(alakjamegadható)vagymindkettővelszeretnénkmegjeleníteniazábrázoltadatokat.

• Ha aNORMALIZE rovat be van pipálva, akkor az adatokat a 0-1 tartományraméretezi. Bekapcsolása segít több különböző nagyságrendű adatsor esetén azadatsorok közötti összefüggések felderítésében. Ha csak egy adatsorunk van,vagyazadatsorokazonosnagyságrendűértékekettartalmaznak,akkorfeleslegesabekapcsolása.

• A DISPLAY SERIES IN SEPARATE PANELS opció bekapcsolása esetén mindenegyesadatsortkülöngrafikononábrázol,mígkikapcsoltállapotábanazadatsorokközösgrafikononvannakábrázolva,ésszínekkelvannakmegkülönböztetve.

• A SMOOTHER opció csak a külön panelok bekapcsolása esetén érhető el. Egylágyítottátlaggörbétillesztazadatsorokra.

Afuttatáseredménye:

Page 83: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

FoglalkozzunkkicsitazXtengelyfelirataival.Egyalternatívalehetne,haameglévőEV ésHONAP oszlopok kombinálásával létrehoznánk egy új számított oszlopot, és annakértékeitjelenítenénkmegfeliratokként.

Egysokkaljobbmegoldásviszont,aTimeINTERVALSNODE használata.

SzúrjunkbeegyT I M E I N T E R V A L S node-otmégaT I M E P L O T nodeelé!

Anodebeállításai:

Page 84: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Amint az a képen látható a node-ot úgy állítottuk be, hogy az első rekordtól kezdje(START LABELLING FROM FIRST RECORD) az értékek feltöltését, hónapokbanlépkedjen(TIMEINTERVAL rovat)és2000januárjalegyenazelsőérték.

A Time Interval node elé érdemes beszúrni egy Sort node-ot, hogy a sorok felcímkézése garantáltan jósorrendbentörténjen!

Anodefuttatásánakeredménye:

Page 85: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AmintazláthatóaTimeIntervalnodeháromújoszlopothozottlétre.

Az oszlopok neveinek az előtagja a node beállításakor szabadon módosítható (N E W F I E L D N A M E E X T E N S I O N ), bár ha nem szükséges, akkor ne tegyük, mert a Time Plot node alapértelmezésbenfelhasználjaezeketazoszlopokat!

FuttassukmostaTimePlotnode-ot:

TovábbiábrázolásokAkétfogyasztásiévadataitsokkaljobbanösszetudnánkhasonlítani,haegygrafikonbannemegymásmögött,hanemegymástetején,mintkétkülönadatsortábrázolhatnánk.

Aproblémamegoldásátalapvetőenkétoldalrólismegközelíthetjük:

• 24 soros adattáblánkból készítsünk 12 sorosat, ahol viszont külön oszlopoktartalmazzák a 2000-es és 2001-es évi fogyasztási adatokat. Ez az @OFFSETfüggvénnyelmegoldhatólenne…

• HasználjukaPLOT node-otaGraphspalettáról.

Jelenesetbenazutóbbimellettdöntünk!

Stream-ünkeddigazalábbiakszerintnézki:

Page 86: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

KapcsoljunkegyP L O T node-ot azábránjelzettSortnodeután!

Amintazaképenislátható,azXtengelyenaHonapmezőértékeit,mígazYtengelyenahaviösszesfogyasztásokatábrázoljuk.

Anodefuttatásánakeredménye:

Page 87: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Mintláthatómindenegyeshónaphozkétadatpontvanábrázolva.Azegyika2000-es,amásika2001-esfogyasztásiérték.

A node beállításainál az OVERLAY rovatban különféle vizuális módokoncsoportosíthatjukadatainkat.

ÁllítsukbeaColoropciónálazévet!

Eredmény:

Page 88: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azábramagáértbeszél.Meg kell azonban magyaráznunk, hogy miért is olyan furcsa a jelmagyarázat!EmlékezzünkcsakvisszaarraaDerivenode-ra,aholazEvmezőtszámoltukki:

Page 89: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AzE V mezőtípusátállítsukátO R D E R E D S E T -re,ésfuttassukújraaPlotnode-ot!

PróbáljukkiazO V E R L A Y rovattöbbiopciójátis!

A node beállításainál az OPTIONS fülön például gondoskodhatunk arról is, hogy azadatpontokatkösseössze:

Page 90: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

BármelyGraphnodeeseténafuttatáseredményétautomatikusanelismentheti:

Feladatok

1.feladat:

Van-e az adatokban heti periodicitás? A hipotézis az, hogy hétvégén többet fogyasztanak, minthétköznapokon,hiszakkoregésznapotthonacsalád.Ellenőrizze,ésigazoljaállítását!

Page 91: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

2.feladat

Számoljakimindenegyeshónapra,hogyazévesösszesfogyasztáshányszázalékáthasználtaelazadotthónapban!

Page 92: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

6.AdatforrásokegyesítéseA gyakorlat folytatja az előző gyakorlatban megkezdett munkát. Felhasználjuk a márelkészültstreamegyrészét,ésaztkiegészítjüktovábbifunkcionalitásokkal.Azelőzőgyakorlat témájaagázfogyasztásalakulásánakvizsgálatavolt.Nyissukmegastream-et:

Mitisjelölnekaszínestéglalapok?

• Apirosszínneljelöltnode-okalapvetőenadatelőkészítésiműveleteketvégeznek.Azadatforrásóraállásoszlopánakértékeibőlnapi fogyasztásiadatokatállítanakelő.

• A zöld színnel jelölt node-ok létrehozzák az Év ésHónap számított oszlopokat,melyekreépülnekahaviilletveéveslebontásústatisztikák.

• A kék színnel jelölt node-ok végzik el a számításokat, és jelenítik meg azokeredményeit.

Mégmielőttastream-ettovábbépítenénk,bővítenénkújabbnode-okkal,ismerjükmegegy olyan funkcióját a Modeler-nek, mely segítségével a stream-jeinket átláthatóbbá,strukturáltabbátehetjük.

Page 93: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

SuperNode A SuperNode-ot nem találjuk meg egyik node palettán sem. Igazából nem is végezsemmilyenműveletet.Szerepecsupánannyi,hogymásnode-okatfoglalmagába,azokatelrejtve,ígyátláthatóbbáéskönnyebbenkezelhetőbbétéveastream-et.Természetesen célszerű olyan node-okat foglalni egy csoportba és elrejteni egySuperNodemögé,amelyekmegléténekközösértelme,szerepevan.Mintahogyaképenláthatószínestéglalapokisilyennodecsoportokatjelölnek. ASuperNodekészítéséneklépései:

• Jelöljükkiazegycsoportbabefoglalnikívántnode-okat.

• Kattintsunkajobbegérgombbalbármelyikkijelöltnode-on,ésamegjelenőhelyi

menübőlválasszukaCREATESUPERNODE parancsot.

De használhatjuk a SUPERNODE MENÜPONT CREATE SUPERNODE / FROMSELECTION… parancsátis.Aparancskiadásautánakövetkezőeredménytlátjuk:

Page 94: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

NyissukmegalétrejöttSuperNodetulajdonságait:

Lehetőségek:

• AzANNOTATIONAS fülönnevetésleírástadhatunkaSuperNode-nak.• A Zoom In gombra kattintva, pedig „belenagyíthatunk”, megnézhetjük a

SuperNodetartalmát.HarákattintunkaZOOMIN parancsgombra,megtekinthetjükaSuperNodeáltalelrejtettnode-okat:

Page 95: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

ASuperNode-onbelül,haszükségesújabbSuperNode-okathelyezhetünkel!

Úgy léphetünk egy szinttel feljebb, hogy a SUPERNODE menüpontból kiválasztjuk aZOOMOUT parancsot.Ugyaneztahelyimenübőlismegtehetjük. VessünkmégegypillantástaSTREAMS palettára:

Apalettánastreamnevealattkinyitható/becsukhatómódonmegjelennekaSuperNode-ok.AstreamvagyazegyesSuperNode-oknevérekattintvaközvetlenülazadottszintreugorhatunk.

HaszükségesegymeglévőSuperNode-otfelisszámolhatunk,kibontvaannaktartalmátegyszinttelfeljebbre.EhhezkikelljelölniaSuperNode-ot,ésS U P E R N O D E menübőlazE X P A N D parancsotválasztani.

Készítsen SuperNode-okat a színekkel jelölt node csoportokból. Nevezze is el az elkészültSuperNode-okat.

Eredmény:

Page 96: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Továbbiadatforrásbevonása

Vegyen fel a stream-be egy újabb Excel source node-ot és olvassa be a G Á Z Á R A K . X L S fájltartalmát!

Abeolvasottadattáblakétoszlopottartalmaz:

AMIKORTÓL oszlop a gázár változásainak dátumait, míg a GÁZÁR oszlop az adottdátumtólérvényesgázármértékéttartalmazza.

Ha szeretnénk az előző alkalommal elkészült fogyasztási statisztikák mintájára, teháthaviésévesbontásbanrezsiköltségeketisszámolni,akkorszükségleszakétadatforrásegyesítésére.Több tábla adatainak egy táblába történő egyesítésére aMERGE és azAPPENDnodehasználhatók.AtáblákoszlopainakegyesítésétaMerge,mígkétazonosfelépítésűtáblasorainakazösszesítésétazAppendnode-dalvégezhetjükel.Jelen feladatunk megoldásához a Merge node szükséges, hiszen a két tábla oszlopaitszeretnénk egyesíteni: Minden egyes fogyasztási dátumhoz hozzá kell rendelnünk azéppenakkoraktuálisgázárat.A feladatot többfélemódon ismegoldhatjuk.Éppenezértmindenekelőtt ismerkedjünkmeg a Merge node lehetőségeivel, hogy a számunkra legkényelmesebb módotválaszthassukki!

MergeNode AMerge (és azAppend is) egyolyannode, amelynek többbemenete is lehet. Tehát astream-en belül ugyanabba a Merge node-ba több más node-ot is kapcsolhatunk(legalábbkettőt,hogylegyenértelme).Anodebeállításai:

Page 97: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• AzINPUTS fülönlévőlistatartalmazzaazonadatforrásoklistáját,amelyekanodebemenetéülszolgálnak.

• AMERGE fülönadhatjukmegakétadatforrásegyesítésénekamódját,logikáját.• AFILTER fülmárismert,mezőketnevezhetünkát,éskapcsolhatunkki.• AzOPTIMIZATION fülönmegadhatjuk,hogymelybemeneti adatok rendezettek

máreleve,ezáltalgyorsítvaanodefutását.

HaaMergenodevalamelyikbemenetikapcsolatáttöröljük,anodeakkorismegjegyzi,mintadatforrást.Haszeretnénktörölni,akkorválasszukazI N P U T S fülaljánaV I E W U N U S E D T A G S E T T I N G S opciót!

AszámunkralegfontosabbbeállításokataMergefültartalmazza:

Page 98: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azoszlopokegyesítésénekkétlehetségesmódja(MERGEMETHOD) lehet:

• Sorrendalapján(ORDER) • Kulcsértékekalapján(KEYS)

HaazORDER-tválasztjuk,akkoratáblákoszlopaiúgy lesznekegyesítve,hogymindenforrástáblából az azonos sorszámú sorok értékeit illeszti egymás mellé a Modeler.Fontos tudni, hogy ilyenkor az eredménytáblában annyi sor lesz, mint a legkisebbforrástáblában a sorok száma. Oda kell figyelni továbbá a forrástáblákban a sorokmegfelelőszempontszerintirendezésére.HaaKEYS opciótjelöljükmeg,akkoraforrástábláksoraitaszerintrendeliegymáshoz,hogyazokvalamilyenáltalunkkijelöltoszlop,vagyoszlopokértékeibenmegegyeznek-e.Ezenoszlopot,vagyoszlopokathívjukkulcsmezőnek,mezőknek.Ezen opció választásakor a Modeler csak azon mezőket (oszlopokat) sorolja fel alehetséges kulcsok (POSSIBLE KEYS) rovatban, amelyek neve megegyezik aforrástáblákban. Emiatt sokszor szükséges lehet egy-egy Filter node használata azegyesítéselőtt,hogyátnevezzükaforrástáblákoszlopait.

Ha a kulcsok szerinti (Keys) egyesítést választjuk, akkor négy lehetséges módonhajthatjukvégreaműveletet:

• INCLUDEONLYMATCHINGRECORDS:Azadatforrásokazonsoraitkapcsoljaössze,aholakulcskéntmegadottoszlopokértékeipontosanmegegyeznek.Tehátnemkerülbeleazeredménybeegyolyan

Page 99: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

sor sem, amelynek kulcs értéke a másik adattáblákban nem szerepel akulcsértékekközött.

• INCLUDEMATCHINGANDNON-MATCHINGRECORDS:Mindegyikadatforrásmindegyiksorátbelevesziazeredménytáblába,mégazokatis,amelyekkulcsértékeiamásikforrástáblákbannemtalálhatókmeg.Amikoregyforrástáblaolyansorátveszibeazeredménytáblába, amelyheznemrendelhetőazonos kulcsértékű sor a többi forrástáblából, akkor a hiányzóoszlopértékeket$null$értékekkeltöltifel.

• INCLUDEMATCHINGANDSELECTEDNON-MATCHINGRECORDS:Azelőzőkettőátmenete.Megadhatjuk,hogymelyikforrástáblákbólvegyebeleazösszes sort az egyesített táblába, és melyekből csak a kapcsolódó sorokat. Haegyik forrástáblát sem választjuk ki, akkor az első, ha mindegyiket, akkor amásodikopcióvalegyezikmeg.

• INCLUDERECORDINFIRSTDATASETNOTMATCHINGANYOTHERS:Csak az elsőként megadott forrástáblából veszi be az összes sort, akkor is, hanincs kapcsolódó kulcsérték a többi táblában. Azt, hogy melyik legyen az elsőforrástáblaazInputsfülönállíthatjukbe.

EgyesítésMost, hogy már ismerjük a Merge node lehetőségeit, válasszuk ki az egyesítésszámunkrahatékonymódját:

• A sorok sorrendje alapján (Order) pillanatnyilag nem tudjuk elvégezni afeladatot. Ehhez arra lenne szükség, hogy a Gázárak táblát kibővítsük mindenolyan dátummal, ami még nem szerepel benne, de szerepel a Gázfogyasztástáblában.

• Viszont mindkét tábla tartalmaz dátum típusú adatot, melyeket kulcsnak véveelvégezhetjükazegyesítést.Figyeljünkarra,hogymindkéttáblatartalmazolyandátumot,amelyetamásiktáblanemtartalmaz,tehát,hanemszeretnénkadatotveszíteni,akkorafullouterjoin-otkellválasztanunk(másodikopció).

Emlékezzünk: a kulcsként használt oszlopoknak azonos nevűeknek kell lenniük aforrástáblákmindegyikében.

Kapcsoljon egy F I L T E R node-ot aG Á Z Á R A K . X L S source node után! Nevezze át aM I K O R T Ó L oszlopotD Á T U M –ra!

HelyezzenelegyM E R G E node-otastream-ben,éskapcsoljahozzáazelőbblétrehozottF I L T E R node-ot!

A Merge node-hoz hozzá kell még kapcsolnunk a másik adatforrást. Ne közvetlen aGázfogyasztás.xls source node-ot kapcsoljuk hozzá, hanem az „Új mezők megadása”SuperNode-ot,hogynekelljenkésőbbújraszámolnunkanapi fogyasztásokatésazÉvvalamintHónapmezőket.

KapcsoljaaM E R G E node-hozazÚ J M E Z Ő K M E G A D Á S A SuperNode-otis!

Astreameddigiígynézki:

Page 100: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

NyissamegaM E R G E nodebeállításait!

AzInputsfülönláthatókisazadatforrásaink.

AM E R G E fülönállítsabe,hogykulcsszerintegyesít,aD A T U M oszlopotvévekulcsnak,éshogymindegyikforrástáblamindensorátbelevesziazeredménybe!

Page 101: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

KapcsoljonaM E R G E nodeutánegyT A B L E node-ot,ésfuttassa!

Amintazábránisjóllátszódikazegyesítetttáblábanmindkétforrástáblamindensoramegtalálható,ésaholnincskapcsolódórekordott$NULL$ értékekkelvanfeltöltveasor.

Page 102: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A feladatunk az, hogy a Gázár oszlop értékeiben a $NULL$ értékeket kicseréljük azéppen aktuális gázárra. Értsük ezt úgy, hogy feltételezve, hogy a tábla sorai aDATUM oszlop szerint vannak rendezve, minden sorban a $NULL$ értékeket helyettesítsük afelettelévőutolsónem$NULL$ értékkel.

Egymárlétezőmezőértékeinekakitöltésére,újraszámolásáraaFILLER node-othasználhatjuk.

BáratáblasoraiaD A T U M oszlopszerintrendezettnektűnnek,biztosamibiztos,kapcsoljonegyS O R T node-otaM E R G E nodeután,ésrendezzeatáblát,majdegyF I L L E R node-otiskapcsoljonastreamvégére!

• AFILLINFIELDS rovatbanadhatjukmegazonmezőket,amelyeknekújértékeketszeretnénkadni.

• A REPLACE rovatban annak a módját adhatjuk meg, hogy mely értékeketcseréljükki:

o BASEDONCONDITION:ACONDITION rovatbanmegadottlogikaikifejezésadjamegaszabályt.Haigazazeredménye,akkorazadottértéketcseréli,egyébkéntnem.

o ALLWAYS:Mindenértéketcserél.

o BLANKVALUES:Afelhasználóáltaldefiniáltüresértékeketcseréli.Használatamegegyezikazzal,mintha feltételként a@BLANK(@FIELD) képletet használnánk.A felhasználó az üres értékeket a Type node segítségével határozhatjameg.

Page 103: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

o NULLVALUES:Minden $NULL$ értéket cserél. Használata ugyanaz, mint a@NULL(@FIELD) képletfeltételkénttörténőhasználata.

o BLANKANDNULLVALUES:A$NULL$ ésazüresértékekcseréjétiselvégzi.

• AREPLACEWITH rovatban adhatjukmeg az új értéket, amire cseréli amezőkértékeit.

A Sequence függvények között található @LAST_NON_BLANK függvény használatatűnhetne kézenfekvőnek, hogy segítségével meghatározzuk a Gázár mezőben az újértékeket. Ahhoz, hogy a függvényt használni tudjuk, a $null$ értékeket úgy kellmeghatároznunk,mintüresértékeket.

EhhezegyTypenode-ra leszszükségünk.

MégaF I L L E R nodeeléfűzzünkbeastream-beegyT Y P E node-ot!

A Type node beépítve megtalálható a már megismert Source node-ban is, csak azoknál eddig még nemismertük meg az üres értékek meghatározásának a lehetőségét. De természetesen ezt a műveletet, haszükséges,aSourcenode-oknálközvetlenüliselvégezhetjük.

A TYPES fülön lévő táblázatMISSING oszlopában határozhatjuk meg, hogy az egyesmezőkmelyértékeilegyenekatovábbiakbanüreskéntdefiniálva.

KattintsunkaG Á Z Á R mezőM I S S I N G tulajdonságára,ésválasszukazO N ( * ) opciót.

Így bekapcsoltuk egy alapértelmezett módját az üres értékek meghatározásának. Haszeretnénkrészletesebbenlátniabeállításokat,akkorválasszukaSPECIFY… opciót:

Page 104: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Amiaszámunkrafontosmost,azapanelalsórésze:

• ADEFINEBLANKS opcióbevankapcsolva:• Ezszükséges,egyébkéntnemhatároznánkmegazüresnekminősülőértékeket.• HaaDEFINEBLANKS opcióbevankapcsolva,akkoraMISSINGVALUES listában

mi magunk felsorolhatjuk, hogy a node mely értékeket minősítse üresnek.Például egy olyan táblában, ahol a munkahely oszlopban az adatfelvivők a„munkanélküli”szövegetadtákmeg,otteztazértéketmegadhatjukalistában.

• A RANGE opció bekapcsolásával megadhatjuk egy teljes tartományát is azértékeknek,amelyeketüreskéntszeretnénkmeghatározni.

• ANULL opcióbejelölésévela$NULL$ értékeketisüresnekdefiniáljuk.• AWHITESPACE opciómegjelölésévelafehérközöket(olyanszövegek,amelyek

nem tartalmaznak látható karaktert) tartalmazó értékeket is üreskénthatározhatjukmeg.

Zárjabeazablakokat,majdnyissamegaFillernodebeállításait,éstöltsekiarovatokat!

Page 105: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Jelenesetbena@LA S T _ N O N _ B L A N K ( G Á Z Á R ) képletismegfelelőlettvolna.

KapcsoljonegyT A B L E node-otastreamvégéreésellenőrizzeazeredményhelyességét!

Feladatok

1.feladat

HozzonlétreegyújszámítottmezőtÉ R T É K néven,melybenanapifogyasztásésazaznapigázárszorzatátszámoljaki!

2.feladat

Havi lebontásbanszámoljakiazösszes fogyasztástésagázszámlaösszegét!A listátévéshónapszerintrendezvejelenítsemeg!

3.feladat

Képezzen SuperNode-ot azon node-ok bevonásával, amelyek a költségek beolvasását ésegyesítésétvégzik!

KészítsenSuperNode-otazonnode-okból,amelyekaköltségstatisztikákszámolásátvégzik!(1.és2.feladat)

Page 106: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

7.Klaszterezés

Azadatbányászatcélja:hagyományosstatisztikaiszámításokkalnemszámíthatóinformációkkinyeréseegyadathalmazból.

Akövetkezőkbenmegismerkedünknéhányadatbányászatieszközzel.

Adatokminőségénekvizsgálata:Quality(output)nodeEgy iskola évvégi jegyeit mutatja a JEGYEK.XLS fájlban található adatbázis (261 diákadatai):

OlvassukbeazadatokataJ E G Y E K . X L S állományból!

JelenítsemegabeolvasottadatokategyTablenode-al!

AzExcel(input)nodebeállításai

NevezzeátatöbbszavasmezőketazExcel(input)nodeFilterfülén!

Page 107: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Typefületkésőbbállítjukbe.

Állítsa a tizedesjegyeket alapértelmezésként 0 darabra a S T R E A M P R O P E R T I E S -nél! (Mertosztályzatoklesznekazadatok!)

AzOPTIONS fülöneztabeállítástkellehhezmegtenni:

Egytáblátbeillesztvenézzemegabeolvasottadatokat!

Page 108: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azadatokminőségvizsgálataaztjelenti,hogymelyikváltozómennyihasználhatóadatotésmennyihiányzóadatottartalmaz.Hiányzóadatkénttekinthetők:

• nulladatok:$null$,aforrásbanishiányoztak• blank adatok: felhasználó által input és type node-nál megadott helyettesítő

adatok• 0hosszústringek• „fehér”stringek:nemláthatókarakterekbőlállóstringek

IlyenadatokelőfordulásistatisztikájátkészítielaQUALITYNODE .

IllesszünkegyQualitynode-otazExcel(source)nodeután!Próbáljukkiarajtalevőbeállításokat,futtatássalmeggyőződveazeredményről!Avégsőbeállításokezeklegyenek:

COUNTOFRECORDSWITHVALIDVALUES: megadja-e az adott mező szerint érvényesrekordokszámát.

Page 109: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

BREAKDOWN COUNTSOF RECORDSWITH INVALID VALUES: megadja-e az adott mezőszerintérvénytelenrekordokszámátamegadottadathiba-típusokszerintibontásban.

Nem minden diák esetén szerepel az összes tantárgy (ennek oka lehet: felmentés,fakultációstárgy,nemmindenévfolyamonoktatotttárgyak,gépelésihiba,stb.)

GördítsükleazExcel(source)nodeT Y P E S fülénaföldrajzmezőM I S S I N G rovatát,ésaS P E C I F Y választásávalmagunkdefiniáljunk„null”értékűblankadatokat!

FuttassukezutánújraabeállítottQualitynode-ot!

AkövetkezőváltozáslátszikaQualitynodeeredményén,okaennek,hogy89tanulónulladatát blank (felhasználó által megadott) módon helyettesítettük – ugyancsak nullértékekkel:

AQualitynodeeredményealapjándönthetünk,melymezőket szeretnénkhasználni. Epéldánálhagyjukmega80%fölöttikitöltöttségűmezőket!Atöbbimezőrenemcélszerű

Page 110: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

vizsgálatokat végezni, mert túl sok elhagyott adat van bennük. Cél, hogy legyen elégolyanrekordunk,melynekmindenvizsgáltmezőjébenérvényesadatszerepel.

AzExcel(source)nodeF I L T E R fülénhagyjukela80%alattikitöltöttségetmutatómezőket!

EgyS E L E C T N O D E -dalhagyjukkiazokatarekordokat,melyekbenhiányzóadatvan!

Page 111: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Használhattuk volna a Select node-ot a következő feltétellel is, kihasználva, hogy $null$ adattal végzettműveleteredményeis$null$,ésmindenerrevonatkozólogikaifeltételhamis:

Egyeztkövetőeredménytáblázattalnézzükmegamaradékrekordokat!

Page 112: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A végeredményül kapott 195 rekord „tökéletes” minőségű adat, minden mezőjeosztályzatot tartalmaz. Az adatokat sokféle előzetes vizsgálatnak vethetjük alá, emódszereket előfeldolgozásnak nevezzük. Előfeldolgozás lenne például a nyilvánvalóadathibákkiszűréseis,ennélapéldánálanem1és5közöttivagyanemegészértékekkihagyása,manuálisjavítása.

Célszerűmindenstatisztikai,adatbányászatimódszerhasználataelőttmeggyőződniazadatokminőségérőlaQualitynodesegítségével!

WebNodeAzadatbányászatban igen fontosakülönbözőattribútumok (változók,mezők)gyakoriegyüttállását megfigyelni. Halmaz típusú változók leggyakoribb ilyen attribútum-kapcsolatait szemlélteti a Web node. Kapcsolatnak nevezünk ebben az esetben kétváltozóegy-egyadottértékétegyüttesentartalmazórekordot.Pl.adiákoktáblázatában45 rekord esetén van együttmagatartás 5-ös és történelem4-es. A legtöbb rekordnálmeglévőkapcsolatokatmutatjamegaWeb(graphtípusú)node.

Előkészületként azExcel (source)nodeT Y P E fülén állítsukminda tíz használandóváltozót settípusúra!

EzutánszúrjunkbeegyWeb(graph)node-otastreambeaSelectnodeután!

AWeb node beállításainálmeg kell adni,mely (halmaz típusú!) változók kapcsolataitszeretnénkmegjeleníteni.

Page 113: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AmárismertmódonadjukmegmindatízváltozótaFieldslistán!

Futtassukleanode-otagépibeállításokkalazE X E C U T E gombbal!

A kapott grafikonon levő gráf csúcsai jelzik az egyes változók bizonyos értékeit, avonalak vastagságai jelzik két változóérték közti kapcsolatok számát rekord-darabszámban.Akapottgrafikonablakinteraktívelemekettartalmaz.Abalfelsőrészenlátható (pirossal kiemelt) csúszkával lehet szabályozni, hogy hány rekord fölötti

Page 114: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

kapcsolatokatmutassonazábra,eztszámszerűlegisbelehetírni.Ha120értéketadunkmegitt,akkoreztláthatjuk:

Haegycsúcsonjobbegérrelkattintunk,gyorsmenüjelenikmeg,ittaHIDE menüponttalelrejthető ez a csúcs, a HIDE AND REPLAN-nal pedig a gráf maradék részétújraterveztethetjükecsúcsnélkül.

Próbáljukelrejteniabiológia5-ösnekmegfelelőcsúcsot!

A grafikonablakWEB feliratú eszköztárgombjánakmenüjében aREVEALALL mindencsúcs megjelenítését jelenti (a rejtettek előkerülnek), az alatta levő újra is tervez, aCLEARSELECTION törli a kijelölést a kijelölt részekről, azUPDATE frissít, az alsó kétmenüpontpedigkörbevagyhálózatszerűenalegoptimálisabbanhelyezielacsúcsokat.

Page 115: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A LINK menüben az első két menüpont azt adja meg, hogy a vonalak vastagságaegyenesen vagy fordítottan legyen arányos a rekordszámmal, a második pedigfolyamatosésdiszkrét(3-féle)vonalvastagságköztvált.Ugyanezeket a beállításokat megtehettük volna a Web node OPTIONS fülén is. Itt avonalak maximális számát, és megjelenítési korlátokat is megadhatunk. (Ezt lentebbkipróbáljuk,ahozzátartozóábraisottlátható.)AWebnodeAPPEARANCE füléncímet,színeket,jelmagyarázatotlehetbeállítani.

Visszatérve a Web node első (PLOT) fülére, ott beállíthatunk a DIRECTED WEB lehetőséggelegycélváltozótis.

Page 116: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Állítsukbeittabiológiaváltozót,samásiklistárólpedigvegyükel!

Állítsuk az érzékenységet az O P T I O N S fül S H O W O N L Y L I N K S A B O V E részén 70-re! (Így 70darabrekordnálerősebbkapcsolatokatmutatmajdcsakagrafikon.)

Kapcsoljuk be a fül alján a N E T W O R K L A Y O U T lehetőséget! (Így a grafikon-gráf csúcsai nemellipszisalakbanlesznekelhelyezve.)

Ezleszazeredményfuttatásután,középenláthatóabiológiaváltozó5-ösértéke:

Page 117: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Modellekhasználata

Adatbányászatimodelleketa fentiötszögalakúnode-oképítenek.Amodellépítőnode-okegy-egystream-ág„levelei”,belőlüknyílnemindulhattovább.Halefuttatjukezeketanode-okat,akkorezekafuttatáshatásáratöbbnyirespeciálistulajdonságúújnode-okathoznaklétre,melyeketkésőbbbeilleszthetünkastream-bevagyelmenthetünk.Az„ötszögek”általgenerált,készmodelleketjelentőújnode-okajobbfelsőmunkaablakMODELS fülénláthatók,duplakattintássalvagyvonszolássalilleszthetőkbeastream-be.Alakjukmindigegysárga„gyémánt”,melynek jobbalsórészénamodell típusárautalógrafikalátható:

Akészmodelleketvonszolássalvagyduplakattintássalemelhetjükbeastream-be.A modellépítés fontos előzménye, hogy megadjuk, milyen bemeneti- és milyencéladatokkal építsenmodellt egy-egy ilyen node. A bemenő és kimenő változókat kéthelyenadhatjukmeg:asourcenode-okTYPEfülénvagyegykülönTYPENODE-on.

A MO D E L S ablak most még nem tartalmaz „készmodell-node”-okat, mert még nem futtattunk egymodellépítőnode-otsem!

Page 118: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

KlaszterezésimódszerekAklaszterezésnevűadatbányászatieljárássalfoglalkozunkelőször,enneklényege,hogyaz adathalmazt olyan csoportokra bontjuk, melyek hasonló tulajdonságú rekordokattartalmaznak, csak „alig eltérő” attribútumokkal. Például az alábbi kétváltozósadathalmazközülazelsőnélérdemes,amásodiknálnemérdemesklaszterezni.

Két attribútum (változó) esetén itt szemléletesen látszanak az „adatfelhők”. ACelementineképeselvégezniaklaszterezéstjóvaltöbbváltozóeseténis.Leggyakrabbanhasználtmodellkészítőnode-ok:Two Step: Kétlépésesmódszer. Tömöríti az adatokat az első lépésben, a másodikbanhierarchikusanépítkezveoptimalizáljaabelőlükképezhetőcsoportokszámát.

K-means: Megadott számú csoportot képez, úgy, hogy iterációkkal dolgozva kiscsoportokathoz létre,azokatazátlagaikkalhelyettesítvekészítbelőlükújabbésújabbcsoportokat, míg a csoportok száma el nem éri az előírt darabszámot. Gyakran adhasonlóeredményt,mintaTwoStep.Kohonen: kétdimenziós „adatfelhővé” alakítja a sokdimenziós adathalmazt, az X-Ykoordinátákkalábrázoltadatokszemléletesebbenmutatjákazelkülönülőcsoportokat.Anomaly: Klaszterezést végez, majdmegállapítja, hogy egyes rekordokmilyen „távol”esnek saját klaszterüktől, ahol ez az érték magas, azt „rendellenes” adatkénttekinthetjük.

Mostazelsőésazutolsómodellelismerkedünkmeg.

TwostepmodellhasználataKlaszterezzünk a tanulónyilvántartásban a főtantárgyak (irodalom, történelem,matematika,nyelv1),továbbáamagatartásésszorgalomosztályzatokalapján!

Először az Excel (source) node T Y P E S fülén a D I R E C T I O N rovatban állítsuk be ezeket aváltozókategyleendőmodellbemeneteként:

Page 119: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Állítsuk a Types rovatnál mindegyik változót típusúvá! Ennek szerepéthamarosanláthatjuk.

IllesszünkbeegyTwoStepmodellépítőnode-otaSelectnodeután!

Ha majd ezt lefuttatjuk, matematikai módszerek segítségével klaszterekbe sorolja azadatokat. A klaszterbe sorolás szabályait egy beilleszthető „készmodell-node”-bantárolja.Enode-otastream-beillesztveésfuttatvaegyújmezőtfoglétrehozni,melynekneve$T-TwoStep,sebbenmindenrekordhozegyjelzéstartozik,hogyőmelyikklasztertagja.

Haamodellépítőnodebeállításaitnézzük,eztláthatjuk:

Page 120: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

MODELNAME: automatikus/useráltaladottmodellnévUSEPARTITIONEDDATA: modellépítés,tesztelésvagyérvényesítéscéljáramegadhatókkülönbözőrekordhalmazok,azelőrebeállítottakkaldolgozzon-e,vagyazösszesadattal.

STANDARDIZENUMERICFIELDS: Mindennumerikusmezőtelőször0várhatóértékű1szórású változókká transzformáljon-e, vagy adatértékeiknekmegfelelő súllyal esseneklatbaaszámításoknál?EXCLUDEOUTLIERS: A klaszterezés első lépésében a „rendellenes” adatokat kizárja aModeler a további klaszterépítésből. Ha e rekordok a végén kialakult véglegesklaszterekbe nem illenek bele, egy „zaj”-klaszterbe lesznek besorolva, $null$ lesz aklaszterjelzésük. (nem biztos, hogy lesznek ilyen rekordok, de a végső klasztereketbefolyásoljaazelsőlépésilyenmódosítása.)

CLUSTERLABEL: Alétrehozandóújmezőmilyentípusúlegyen.LABEL PREFIX: Ha string-adat a klaszternév, akkor milyen előtagja legyen aklaszterkódnak.

AUTOMATICALLYCALCULATE.. . : klaszter-darabszámkorlátainakmegadásaSPECIFYNUMBER.. . : konkrétklaszter-darabszámmegadása

Futtassukleamodellépítőnode-otagépibeállításokkal!

PármásodpercmúlvamegjelenikegykészmodellikonjaabalfelsőablakMODELS fülén.

Egyémántalakú„készmodell-node”-nakjobbegérmenüjébőlválasszukkiaB R O W S E menüpontot!

Page 121: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A felépített modell áttekintő leírása jelenik meg. Információkat kapunk a képzettklaszterekről.Mivelhierarchikusanjelenítimegazinformációtazablak,ezérta+jelekrekattintvanézhetjükmegarészleteket:

Page 122: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Kétklaszterkeletkezett,amásodiknakarészleteitkibontvaláthatjukazábrán.Azelsőés amásodik klaszterbeli adatok száma 129, illetve 66, amásodik klaszter adatainaklegnagyobbrészeirodalomból4-es(63,64%),azadatoklegnagyobbrészemagatartásból5-ös (57,58%), stb.minden Set típusú változóramegadja ezt az információt amodellleírása.

KattintsunkduplánakészmodellreaMO D E L S ablakban!

Ezzel beemeltük a stream-be egy új node-ként. Gyémánt alakja jelzi, hogy ez nemmodellépítőnode, hanemkészmodell.Bármelyolyan streambenalkalmazhatjuk ezt anode-ot, melynekmodellben szereplő változói azonosak a jelenlegivel. A kész modellugyanis szabályokat tartalmaz, milyen bemeneti változók milyen adatai esetén melyklaszterbetartozikegy-egyadat.

Akészmodell(gyémántalakú)node-játkössükaSelectnode-hoz!

KössünkegyTable(táblázatosmegjelenítés)node-ota„készmodell”-node-hoz!

Page 123: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

FuttassukaTablenode-ot!

Mostmegnézhetjükaklaszterezéseredményét.Akészmodellnode-jaújmezőtadottazadatokhoz,ebbenolvasható,melyikrekordvanaz1-esésmelyika2-esklaszterben.

Egygrafikonnalszemléletesebbétehetjükaklasztereket.

IllesszünkegyPlotnode-otakészmodell-nodeután!

Állítsuk be az alábbi ábrán látható változókat, az irodalom-történelem tengelyeket, a nyelv1szerinti színezést,matematika szerintiméretezést és a biológia szerinti alakot, továbbá tegyükkülönpanelraaklaszterekmezőiszerintazadatokat!

Page 124: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

FuttassukaPlotnode-ot!

Rövid vizsgálódás után leolvasható, hogy milyen típusú tanulók kerültek az egyesklaszterekbe.

Page 125: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Igaz-e az a mindennapos vélekedés, hogy egy diáknak vagy humán vagy reál beállítottsága van? Ennekmegfelelőenkészítünkújmezőket,sváltoztatunkamodellépítőnodebemenőadatainis.

AzExcel(source)nodeT Y P E S fülénígyállítsunkbemindent:

Itt minden változóRange típusú lett, minden változóNone értékű, modellek számáranembemenet,nemkimenet.

KétD E R I V E N O D E -dal átlagoljuk a humán (irodalom,nyelvtan, történelem,nyelv1,nyelv2) és areál(matematika,biológia)tantárgyakat,azújmezőknevelegyenh_átlagésr_átlag.

Az átlagokhoz szükséges kifejezések a két Derive node-ban a következők:(irodalom+nyelvtan+történelem+nyelv1+nyelv2)/5illetve(matematika+biológia)/2Mindkétnode-banaFIELDTYPE rovathozRANGE-tadjunkmeg.

Page 126: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Mivelátlagokszerepelnek,astreamproperties-nélkapcsoljunkátegytizedesjegyértékre!

Ezazértkell,mertegészrekerekítvea táblázatokbanésagrafikonokonnem jól látjukmajdazátlagszerintikülönbségeket.

Szúrjunkbekövetkezőnode-kéntegyTypenode-otésállítsukbeazalábbimódon:

Aszámítotttárgyátlagokegyikébensemszerepelatestnevelés,magatartásésszorgalomtárgy jegye, ezért ezeket is klaszterezési alapként tekintjük. Tehát a modellépítésszámára a testnevelés, magatartás, szorgalom, h_átlag, r_átlag változókat adjuk megbemenetként.

EzutánillesszünkbeegyTwoStepmodellépítőnode-ot,sebbenazalábbibeállításokattegyük:

Page 127: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Adjunkújnevet (TwoStep2) amodellépítőnode-nak, különben lefuttatva felülírja az előzőkészmodellünket!

Jelöljük be az EXECUTE OUTLIERS négyzetet, hogy a „kilógó” esetek kizárásávalkeletkezzenazelsőlépéstömörítettadathalmaza.Aklaszterekszámánakminimumáhozírjunk3-at,lehetőségetadvaahumánésreálonkívülmáscsoportnakis,havan.

FuttassukleamodellépítőTwostep2node-ot!

Az itt látható „készmodellt” kapjuk. Az első klaszterbe a teljes kitűnők tartoznak, amásodik klaszterben a humán átlagok átlaga a jobb, a harmadikban pedig a reálátlagoké.Megfigyelhető,hogyrealtípusúváltozókkaldolgoztunk,snemaklaszterbeesőrekordok attribútumainak százalékos megoszlását, hanem a klaszterátlagot írja kimindenváltozóra.

Emeljükbeakészmodellt(vonszolássalvagyduplaklikkel)astreambe,kössükaTypenodeután!

TegyükszemléletesséegyPlot(graphtípusú)node-dalazeredményt!

Page 128: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Mivelajel-alakotcsakSettípusúváltozóralehetbeállítani,ezértegymezőtnemtudunkmegjeleníteni,hagyjukkiezértatestnevelést.

FuttassukaPlotnode-ot!

E koordináta-rendszerben a mellékátló feletti pontok olyan rekordokat jelentenek,melyekben a reálátlag jobb a humánnál, a mellékátló alatti pontoknál pedig ez éppfordítvavan.

AzAnomalynodehasználata

Következőcélunk,hogy„szokatlan”rekordokatkeressünkazAnomalymodellépítőnodesegítségével.

Page 129: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

IllesszünkeddigistreamünkbeegyAnomalymodellépítőnode-otameglévőTypenodeután!

Az Anomaly node bemenetei ugyanazok amezők,melyeket a TwoStep node számáramegadtunk. Ezen mezők adataiban fog „átlagostól eltérő” rekordokat keresni amodellünk.

Tegyük meg az Anomaly (modellépítő) node beállítópaneljénekMO D E L fülén az alábbi képenláthatóbeállításokat!

Page 130: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

MINIMUM ANOMALY INDEX LEVEL: itt megadhatjuk milyen „szabálytalanságindex”fölött tekintsen egy rekordot anomáliának, szabálytalannak. (Ez a jelzőszám a rekordcsoportjának csoportátlagtól való átlagos eltéréséhez viszonyítja minden rekord sajátcsoportátlagától való eltérését, ha 2 fölött van az értéke, az már szabálytalanságrautalhat.)PERCENTAGEOF.. . : Az összes rekord százalékában lehet megadni, hány szabálytalanrekordotadjoneredményülazeljárás(alegnagyobbszabálytalanságindexűrekordok).NUMBEROFMOST. . . : Pontosdarabszámmallehetmegadni,hányszabálytalanrekordotadjoneredményülazeljárás.NUMBER OF ANOMALY FIELDS TO REPORT: A klaszterátlagtól legnagyobb eltéréstmutatómezőketisjelziamodellmindenrekordesetén,mégpedigazeltérésmértékévelegyütt.Meglehetadni,hányilyenmezőtakarunkkiszámíttatni.A gép által felkínált beállításokat két helyen kellett átállítani, a 3 fölöttiszabálytalanságindex-értékű rekordokat jelöltessükmeg anomáliának, illetve egyetlenmezőtadjunkmegcsakalegnagyobbeltérésvizsgálatához.

Azadathalmaztólfügg,mekkoraanomáliaindexettekintünk„szabálytalanságnak”.Kevésváltozóeseténnemérdemessokeltérés-változótkiíratni.

FuttassukabeállítottAnomalymodellépítőnode-ot!

A futtatásegykészmodellt (gyémántalak!) tesza jobb felsőablakba, aMODELS fülre.Ennek jobbegérrel elérhető gyorsmenüjében a BROWSE menüpontra kattintva eztlátjuk:

Page 131: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Hétszabálytalanrekordottaláltagépamegadottbeállításokszerint.Ezekcsoportjuktólvalóeltéréseah_átlagésar_átlagmezőknélalegnagyobb.Láthatjukakétklaszter(peergroup)tulajdonságaitis(zárójelbenazátlagok,standarddeviation=szórás).Atovábbirészleteket a hozzáfűzött új mezők tartalmazzák, a szinteket kibontva nézzük megezeket!

Szúrjuk be a keletkezett kész modell gyémánt alakú node-ját a Type node után, majd fűzzünkhozzáegytáblázatotoutputként!

Page 132: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Futtassukleamostbeszúrttáblát!

Például a kijelölt 141. rekord szabálytalanságindexe 4,1 , a saját klaszterében, az 1-esszámúbanareálátlagrovatbantérellegjobbanasajátklaszterétől.Áttekinthetőbbé válnak a rendellenes rekordok és a csoportosítási logika, ha a $O-Anomalyindexmezőalapjánsorbarendezünk,ésígynézzükát.

Szúrjunk a kész modell és a táblázat közé egy Sort node-ot, mely a $O-Anomalyindex szerintcsökkenősorrendberendeziarekordokat!

Azeredmény:

Látható,hogy3fölöttiszabálytalanságindexcsak7helyenvan,érdekesekesetlegamégkövetkező rekordok. Az első 10 anomália az első klaszterből „lóg ki”,míg a 2. számúclusterbenakiemelt11.rekorda„legszabálytalanabb”.

Önállófeladatok:

Klaszterezzünk Two Stepmodellel egyszer csak a reál, egyszer pedig csak a humán tantárgyakszerint!NézzükmegegyPlotgrafikonon,mennyibenesnekegybeakétféleklaszterek!

Page 133: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Keressükmegazöt„legszabálytalanabb”rekordotazösszestantárgyalapján!Figyeljükmeg,van-ekülönbségavégeredményben,hamindenváltozótDiscretetípusúnakállítunkbe!

Page 134: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

8.NeurálishálóEz a gyakorlat arról szól, hogy egy bizonyos változó értékeit milyen adatbányászatialgoritmusokkallehet„jósolni”atöbbiváltozóértékeialapján.Adataink egy SPSS fájlban vannak. Ennek mezői egy régebbi 6400 fős amerikaistatisztikaifelmérésbenszereplőváltozók:

Afelmérésadatai:

Page 135: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Célváltozóvalrendelkezőadatbányász(tanuló)algoritmusokAmostkövetkezőmodellekhezcélváltozó(k)raleszszükség.Ezt/ezeketaSourcenode-ok TYPE fülén, illetve a Type node-ok beállításainál adhatjuk meg, a DIRECTION rovatban.HaOUT típusúegyváltozó,akkormodellekcélváltozójalesz(halehetséges),IN típusúváltozóbemenet,BOTH típusúmindkettő,NONE típusúpedignemveszrésztamodellépítésben.BelehetállítaniegyPARTITION lehetőségetis.Ezaztdöntiel,hogyazadott változó értékei a modellépítés és használat bizonyos fázisai számára adhatrekordokat.

Amodellekténylegeshasználataugyanistöbblépcsőseljárás.Háromvagynégylépésbenkaphatunkmatematikailagmegfelelőenalátámasztott,használhatóeredményeket.

Alépések:

• modellépítés: A modellépítő node használata egy kiválasztott rekordhalmazalapján.

• tesztelés:Akészmodellvizsgálata,finomításaegymásikrekordhalmazalapján,amodell analizálása.Hanemmegfelelőek az eredmények, újra az előző lépéshezkellvisszatérni,újmodelltkellépíteni.

• érvényesítés: A tesztelt, véglegesre alakított modell lefuttatása újabbadathalmazokon, ha kevéssé eltérő eredményeket kapunk, akkor használható akészmodell,hanagyazeltérés,azelsőlépésheztérünkvissza.

• tényleges használat: Újabban keletkező adathalmazokra, hasonlóadathalmazokban előrejelzésre használható a kész modell, amíg valamilyen újtényezőnembefolyásoljaamegfigyeltobjektumok,személyekviselkedését.

A PARTITION lehetőség egy olyan set típusú változót jelez, melynek két vagy háromértékekijelöli,hogymelyrekordoktartoznakazelső,amásodikilletveaharmadiklépésadathalmazához.Ha egy modellépítő node-nál az USE PARTITIONED DATA lehetőséget beállítjuk, amodellépítés,tesztelésvagyérvényesítéscéljáramegadottrekordhalmazokbólazelőrebeállítottakkalfogdolgozniamodell.

StatisticsnodehasználataAlapvető statisztikákat számít a megadott mezőkből. Az adott felmérésben többváltozóról gyaníthatjuk, hogy nem lényeges információt hordoz, pl. sejthető, hogyAmerikábansajáttelevízióvalszintemindenkirendelkezik.

KészítsünkegySourcenode-otafelmérés.savadathalmazbeolvasásához!

Page 136: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Írjukátanemnéltalálható„f”és„m”stringeketamagyar„n”és„f”rövidítésekre!

Illesszünkbeegystatisticsnode-otezekután!

Asourcenodebeállításai:

A FILTER és a TYPES fület később töltjük ki, ha előzetes információk állnakrendelkezésünkreazadatokról.

AFillernodebeállításai(azangolnyelvbenafemaleésamalemegfelelőiaférfiésanő):

Page 137: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Az előkészületek utánvégezhetnénk adatminőség-vizsgálatotegyQualitynode-dal,de most ez felesleges, miveltudjuk, hogy minden rekordmindenadatakivantöltve.A Statistics (output) node aváltozókról szóló statisztikákatés korrelációs együtthatókatmutat – csaknumerikustárolásúadatokra.EXAMINE: vizsgáltváltozók

STATISTICS: Milyen fajtastatisztikákat (jellemzőket)mutassonazegyesváltozókról:

• COUNT: adatokszáma• MEAN: átlag• SUM: adatokösszege• MIN: legkisebbadat• MAX: legnagyobbadat• RANGE: az előző kettő

különbsége,terjedelem• VARIANCE: szórásnégyzet

(variancia)• STD DEV: az előző

négyzetgyöke,szórásnégyzet

Page 138: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

• STDERROROFMEAN: azátlagstandardhibája• MEDIAN: medián• MODE: módusz

CORRELATE: KorrelációszámításIttmeglehetadni,hogyafelsőlistánfelsoroltváltozókhozmilyenmásváltozókranézveszámítsonkorrelációsegyütthatókataModeler.ACORRELATIONSETTINGS gombbalakorrelációszámításbeállításaijelennekmeg:

IttaPearson-félekorrelációsegyütthatókbeállításailáthatók.Ezamérőszámaváltozóklineáris kapcsolatának erősségét méri egy -1 és 1 közé eső számmal. A változókfüggetlenségénekmértékétazmutatja,hogyeszámmennyireközelia0-hoz.A(pozitívvagynegatív irányú) lineáris kapcsolat erős, ha abszolútértékekevéssé tér el az1-től.Eztabeállítást lehetbekapcsolniaDEFINECORRELATIONSTRENGTHBYIMPORTANCE részen, a linearitás előjeles mértékét pedig a DEFINE CORRELATION STRENGTH BYABSOLUTEVALUE részen.Azalattaláthatópörgetőnyilaknálaztlehetszabályozni,hogymilyenmértékűkapcsolatesetén nevezze erősnek (strong), közepesnek (medium) vagy gyengének (weak) aváltozót.

ÁllítsukbeaStatisticsNodefentláthatóbeállításait!(Mindenfelkínáltmezőtadjunkmegafelsőésazalsólistánis!)

Futtassukleéselemezzükavégeredményt!

Page 139: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Alapostanulmányozásutánakövetkezőmegfigyelésekettehetjük:

Mivel anyugdíjas és a saját_tv, saját_video, saját_cd változók értéke csak 0 és 1 lehet,átlaguk értéke arra utal, hogy bennük az adatok több mint 95%-a azonos (az elsőmezőnéltöbbmint95%a0,atöbbinélpedigaz1-esvantúlsúlyban).Ígyezekamezőkjelentősen nem különböztethetnekmeg adatokat, ezért nem fognak indokot adnimásváltozókértékeinekeltéréseire.EzeketamezőketasourcenodeFILTER füléncélszerűkikapcsolni.

Page 140: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

KapcsoljukkiafentinégymezőtaSourcenode-banaFilterfülön!

Az autókategóriák használatát is fontolóra vehetjük, hiszen az autók értékei adják azautókategóriákat, tehát az autókategóriák információja az autók értékénekinformációjából származik. Erre utal a két változó 86% erősségű korrelációja is, azazmajdnem90%-osalinearitásakétváltozóközött.Hanemakarunkfelesleges(duplikált)információbólszámolni,akkorelkellhagyniazautókategóriamezőtis.(Azinformációkegyszerűbbé tétele céljából lehetne esetleg csak ezt benn hagyni, s az autóértéketkikapcsolni.)

KapcsoljukkiazautókategóriákmezőjétisaSourcenodeFilterfülén!

Ezleszavégeredmény:

Page 141: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

FeatureselectionnodeArraszeretnénkválaszkapni,hogybizonyosváltozókadataimennyirehatározzákmegegykonkrétváltozóadatait(ehhezmindigegykonkrétcélváltozóravanszükség).Mivelelőfordulhat, hogy akár több száz változó szerepel egy adathalmazban ezért gyakrancélszerűleszűkíteni,melyváltozókadataijöhetnekszóba.AFeatureselectionnode-nakaz a célja, hogy az adott célváltozó szempontjából lényeges bemeneti változókatfelderítse.Legyenkitűzöttcél,hogyatöbbiváltozókadataiból„jósoljuk”megaházas_e,jövedelem,elégedett, saját_pc változók értékét. Természetesen mindegyik változóhoz különvizsgálatszükséges.

Kezdjükaházas_eváltozóval!

Adjukmegasourcenodetypesfülénaházas_eváltozótkimenetnek,atöbbitbemenetnek!

Kapcsoljuk ki teljesen amodellezésből anememezőt, ez szöveges adatot tartalmaz, amatematikaiszámításoknemtudjákhasználni.

Page 142: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

FűzzünkegyFeatureselectionnode-otaFillernodeután!

Nézzükmegabeillesztettnode-onaModelfület!

Page 143: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

MAXIMUM PERCENTAGE OFMISSING VALUES. Nem végez számításokat még azokra aváltozókra, amelyekbenaz ittmegadott százalékérték felettimennyiségűhiányzóadatvan.MAXIMUMPERCENTAGEOFRECORDSINASINGLECATEGORY. Nemvégezszámításokatmég azokra a diszkrét adatokat tartalmazó változókra, amelyekben az itt megadottszázaléknál többazonosértékűadatvan. (pl. a„neme” változó ilyen,haszintemindenrekordnő.)

MAXIMUM NUMBER OF CATEGORIES AS A PERCENTAGE OF RECORDS. Nem végezszámításokatmégazokraadiszkrétadatokat tartalmazóváltozókra,amelyekbenaz ittmegadottszázaléknál többazeltérőadatokszáma. (pl.haautómárkanevűváltozóbanahányrekord,majdnemannyiféleautómárkavan).MINIMUM COEFFICIENT OF VARIATION. Nem végez számításokat még azokra anumerikus, Range típusú adatokat tartalmazó változókra, amelyekben az ittmegadottértékalattvanarelatívszórás(szórás/átlag)értéke.(Kiszűrhetjükazokatanumerikusváltozókat,melyeknemlényegeseneltérőadatokattartalmaznak.)MINIMUMSTANDARDDEVIATION. Nem végez számításokatmég azokra a numerikus,Range típusú adatokat tartalmazó változókra, amelyekben az itt megadott értéknélkisebbaszórás.(Hasonlóacélja,mintazelőzőbeállításnak.)

VessünkegypillantástazOptionsfülre!

Itt a bemenő változók fontosság szerinti rangsorával kapcsolatban tehetünkbeállításokat.Acélváltozószerinti„fontosságot”matematikaiszámításokadják,smeglehetadni,hogymelyeket jelöljeagép IMPORTANT (fontos),MARGINAL (határeset)ésUNIMPORTANT

Page 144: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

(nem fontos) címkével. (A fontosság százalékban kapott érték.) Beállítható amatematikaimódszeris,deezcsakigennagyadathalmazeseténjelentnémieltérést.

A „fontosság” csak lehetőséget jelent, pontosabban csak annyit, hogy a nem fontosnak jelölt változókbiztosan nem tartalmaznak információt, „jóslatot” a célváltozóra vonatkozóan. Megeshet, hogy afontosnakmutatottváltozóksemtartalmaznakeléginformációtacélváltozóhoz.

FuttassukaFeatureSelection-t!

Akapottkészmodellakövetkezőketmutatja:

Page 145: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Látható, hogy két fontos változó van, a többi lényegtelen a házas_e célváltozószempontjából.HaakészFeatureselectionmodelltbeszúrjuk,akkorfilternode-kéntfogviselkedni. Azokat a változókat fogja kiválasztani,melyek jelölőnégyzetében pipa van.Alapértelmezésbenezekafontoskéntmutatottváltozók.A párbeszédpanel tetején látható Generate gombra kattintva azt ismegtehetjük, hogyFilter node-ot generálunk, mely csak a megjelölt változókat adja eredményül acélváltozóvalegyütt:

IllesszükbeaFillernodeutánakészmodelltésegytáblát!

Futtassukatáblát!

Page 146: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Afentieredménytkapjuk,látható,hogyanemfontosváltozókoszlopaieltűntek,anemeváltozópedigmegmaradt–őnemvettrésztamodellépítésben.

Tanulóalgoritmusokelőkészítése–adathalmazokkialakításaA tanuló algoritmusok modellépítő node-okként vannak a Modeler-be építve. Mintfentebbkiderült,mindentanulóalgoritmustháromvagynégyfázisban,háromvagynégyadathalmazon kell működtetni. A modellépítés, tesztelés vagy érvényesítés céljáraegyszerűenmegadhatókekülönbözőrekordhalmazok:hakellőennagyazadathalmaz,akkoraPARTITIONNODE segítségévelképezhetjükarészeket.APARTITIONNODE egySet típusú változót hoz létre, melynek értékei azt jelzik, hogy egy adott rekord amodellépítő, tesztelő vagy érvényesítő adatok közt szerepel-e. Az adathalmazokatvéletlenszerűen generálja a node, így használható rendezett adathalmazokban ésidősorokban is.AkeletkezőújPartitionmezőautomatikusanpartitionmodellbemenetlesz (a TYPE NODE-nál a DIRECTION rovatnál leírva szerepelt e beállítás). Akár mimagunkismegadhatunkolyanmezőt,melyarekordhalmazokatjelölki,deeztegyTYPENODE-nál a DIRECTION rovatban be kell állítani, hogy a modellek az itt megadottrekordhalmazokat tekintsék modellépítő, tesztelő, érvényesítő adatoknak (a modellnode-okUSEPARTITIONEDDATA beállításánál).

SzúrjunkbeegyPartitionNode-otaF I E L D O P S palettárólaFeatureselectionkészmodelltjelentő„gyémánt”nodeután!

Page 147: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Nézzükmeganodebeállításait!

PARTITIONFIELD. MegadhatóakeletkezőújmezőnevePARTITIONS. Megadható, hogy két vagy három lépés számára különítsen eladathalmazokat.

TRAINANDTEST. Modellépítéséstesztelés

TRAIN, TEST, ANDVALIDATION. Modellépítés,tesztelésésérvényesítésPARTITIONSIZE. Mindenrekordhalmazméreteszázalékbanmegadható.Haezösszesen100-nálnagyobb,piroshibaüzenetteljelziapárbeszédpanel.

Page 148: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

VALUES. Milyenkonkrétértékekjelezzékarekordhalmazokat:

USESYSTEM-DEFINEDVALUES ("1","2"and"3"):1,2és3numerikustárolásúadatok

APPENDLABELSTOSYSTEM-DEFINEDVALUES: 1_Training,2_Testing,stb.értékekUSELABELSASVALUES: Training,Testing,stb.értékek

SET RANDOM SEED: A Modeler véletlenszám-generátora számára megadott kezdetiérték.Különbözőkezdetiértékekkülönbözővéletlenrekordhalmazokatadnakmeg.

FuttassukamegadottbeállításokkalaPartitionnode-ot!

NézzükmegazeredménytegyTypeésegyTablenode-on!

ATypenodeDIRECTION rovatamutatja,hogyamodellépítésszámáraapartitionmezőnem bemenő vagy célváltozó, hanem adathalmazokat kijelölő mező. Ilyen mezőt aPartitionnodenélkülislétrelehetettvolnahozni,deígysokkalegyszerűbbvolt.

Page 149: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Töröljükkiamostbeillesztetttypeéstablenode-okat!

ANeuralnetmodellhasználataAneurálishálóegyspeciálisgráffal-mintmodellel-dolgozik.Abemenőváltozókadataiegy képzelt „rétegnek” a csomópontjai, ezek értékeinek súlyozásával kapotteredményeketkapjákmegazúgynevezett rejtett „réteg” csomópontjai.Ezekegyadottküszöbérték elérésétől függően adatot adnak tovább a „célréteg” csomópontjainak,melyek nem mások, mint a célváltozók. A célváltozók is az előző rétegből kapottértékektől függően vesznek fel értékeket. A csomópontokat ezentúl neuronoknaknevezzük.

Apéldakéntbemutatotthálónanyilakhelyénmatematikaisúlyozásáll,sasúlyozottanösszeadott adatértékek,haelérnekegyadottküszöbértéket, akkorvált át akövetkezőrétegneuronjaeggyelnagyobbértékre.A Neural net típusú node neurális háló – tehát egy célváltozó meghatározására építmodellt„tanuló”algoritmussal.Asúlyozástvéletlenszerűenkezdiegyelőzetesmodellel,aztán próbál egyre jobb és jobb modellt alkotni. A tanulóalgoritmus a modelltfolyamatosanváltoztatjaelőremegadottideigvagyállapotig.

IllesszünkegyNeuralnetmodellépítőnode-otaPartitionnodeután!

Page 150: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Nézzükmeganodebeállításait!

USE PARTITIONED DATA: A Partition Node-nál beállított Training set alapján építmodellt.METHOD: Amodellépítéshatmatematikaimódszereközülválaszthatunk.

Page 151: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

PREVENT OVERTRAINING: A modellépítés során egy gyorsan felépített „előzetesmodellt” finomít a Modeler. Itt az előzetes modell építéséhez szükséges rekordokszázalékosarányátlehetmegadni.SET RANDOM SEED. Az előzetes modellépítéshez szükséges véletlenszámkezdőértékénekmegadása.STOPON: Milyen kritérium elérése állítsa le amodell finomítását, hogyan álljon le azöntanulás

DEFAULT: Stream-benbeállítottfeltétel(itt20eleműhalmaztjelent)ACCURACY(%): Akkorállleatanulás,haacélváltozómodellalapjánszámítottértékearekordokmegadott%-ábanahelyesértéketadja.

CYCLES: Tanulásiciklusokszáma.TIME(MINS): A tanulási időpercbenmegadottértéke.Haeztválasztjuk,akkorlátványos futtatást láthatunk, modellépítés közben egy mozgó grafikononmutatja,mi az eddigi legjobb neurálismodell becslési százaléka (kék vonal) ésemellettazéppenaktuálismodellbecslésiaránya(pirosvonal).

OPTIMIZE: Túlnagyadathalmazzaldolgozvahasznos,haatanulóalgoritmustidőszerintvagymemóriaigényszerintoptimalizáljuk.

Atanulásiidővelcsínjánkellbánni,merthatúlhosszúideigtanulaszoftver,akkortúltanulásléphetfel,azaznem a mintában rejlő általános összefüggéseket, hanemmagát a mintát tanulja be az algoritmus. Ilyenesetbenamintaadataitalkalmazvanagybiztonsággal jó leszamodell,másesetbenazonbannem,mertamodellcsakennekamintánakaspeciálissajátosságaittartalmazza.

Futtassukanode-otafelkínáltbeállításokkal,majdnézzükmegakészmodelltulajdonságait!

Látható,hogyaháromrétegbenlevőneuronokszámátésrelatívfontosságukatmutatjaa leírás. A modellépítő adathalmazon 88%-os biztonsággal jól „jósol” a modell, amodellben összesítve mindössze 2,5 %-nyi relatív jelentősége van a végzettségváltozónak,ahálósúlyaielsősorbanazegyüttélőkváltozótveszikfigyelembe.

SzúrjukbeakészmodelltaPartitionnodeutánésnézzükmegazeredménytegytáblában!

Page 152: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Két új mező keletkezett. A $N-házas_e mezőben a házas_e változó bemeneti változókalapján számított („jósolt”) értékét láthatjuk. A $NC-házas_e mező pedig a modellbőlszámítottpontosértéketmutatja(ennekkerekítéseazelőbbi).

SzúrjunkbeakészmodellutánastreambeaTablenodehelyettegyAnalysis(output)node-otésfuttassukle!

Az Analysis node amodellek hatékonyságát vizsgálja. A beállított két rekordhalmazrakülön-külön mutatja, mekkora százalékban találja el a modell a tényleges célváltozóértékét, s milyen százalékban hibás a döntése. Ha a kész modell megfelelő, akkorkimenthetjükagyorsmenü(jobbegér)megfelelőmenüpontjasegítségével.

Próbáljukugyaneztamodellépítéstvégigvinniaházas_ehelyettazelégedettváltozóranézve!

Aszükségeslépésekképekkelillusztrálva:

Page 153: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

1.SourcenodeTypesfülénacélváltozómegváltoztatása

2.AFeatureNodefuttatása,készmodelltanulmányozása(8fontosmezőlesz)

Page 154: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Helytakarékosságból egy SuperNode-ot készítettünk az iménti házas_e változóravonatkozóvizsgálatainkból.Ennekneve:SuperNode:házas_elett.

EzutánbeszúrtukakészFeatureselectionmodelltegynode-ként.

Két részreosztottuka rekordhalmazt,mint az imént,majdbeszúrtunkegyNeuralnetmodellépítőnode-otavégére.Eztfuttatvaakövetkezőkészmodelltkapjuk:

Page 155: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Igen kevés a kiírt 33%-os előrejelzés. Próbáljuk amódszert változtatni amodellépítőnodebeállításainál!

ÁllítsukamódszertDynamic-ra,kapcsoljukkiazelőzetesmodellépítéstéskössükatanulásvégét0,2percnyiidőelteltéhez!

Page 156: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Amodellépítéstegyablakbanegygrafikonkíséri,melyalegjobbelértelőrejelzésiaránytés az éppen aktuális előrejelzési arányt mutatja az idő függvényében, azaz a modellfolyamatosváltoztatásasorán.

Többmódosítás után úgy látszik, nem lehet jobb előrejelzési arányt elérni, a bemenőadatoknincsenekelégerősösszefüggésbenacélváltozóval.

Próbáljukugyaneztamodellépítéstésmodell-ellenőrzéstvégigvinniajövedelemváltozóranézve!

Képekben:

Page 157: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azeredménymajdnem99%-oselőrejelzés!

Készítsükelamodellanalízisétis:

Page 158: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

MivelacélváltozóRangetípusú,ezértnemlehet találatiszázalékotkimutatni,ehelyettaz előrejelzés tévedésének átlagát és szórását érdemes figyelni a táblázatban.A 46-osszórásértéknemisolyannagy,hafigyelembevesszük,hogyazeredetiadatok9-1116-igterjedtek(ezer$-ban).

Építsünkneurálishálómodelltalak_időésazautócélváltozókra!

Próbáljuk ki a neurális háló többi beállításait is! (a végeredményben nem számottevő akülönbség)

PróbáljukaPartitionnode-nál csökkenteniaTrainingsetadathalmazt! (nőamásikadathalmazhibája)

Page 159: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 160: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

9.DöntésifaE gyakorlat célja, hogy újabb modelleket ismerjünk meg. A már tanult neurális hálómodellúgykeresösszefüggéseketbemenőváltozókésacélváltozóközött,hogymagátamodellt, a rejtett rétegben levő számításokat a felhasználó nem ismeri, csak azeredménytláthatjaéshasználhatja.

A döntési fák ugyanilyen esetekben használhatók, de bepillantást adnak azösszefüggésekszerkezetébe.

AzadathalmazEgy amerikai biztosítási cég5000ügyfeléről készült nyilvántartásból fogunkdolgozni.Azadatokatazügyfél_.savSPSSfájltartalmazza.

Az egyik cél az lesz, hogy az ügyfelek sokféle adatának az ugyf_ev változóval valóstatisztikaikapcsolatátfelderítsük.Eváltozóaztjelzi,hogyegyadottszemélyhányéveügyfeleacégnek.

Tanulmányozzukazadathalmazváltozóitazalábbitáblázatalapján!

Változónév leírásugyf_ev hányéveügyfél(célváltozó)ok miértügyfél(1-olcsó2-kényelmes3-szolgáltatások4-egyéb8-nincsválasz9-nemtudja)zona földrajzizónanem neme(0:férfi,1:nő)kor életkortanido hányévettöltötttanulássalvegzettseg végzettségkódjafogl foglalkozásikategóriakódjanyugdij nyugdíjas(0-nem,1-igen)jovedelem háztartásjövedelme(1000$)ados_mertek adósságánakmértékeajövedelemszázalékában(x100)hitelados hitelkártya-adósság(1000$)egyebados egyébadósság(1000$)kesedelem volt-ekésedelmesbankiadósságrendezése(0-nem1-igen)elegedett munkájávalmennyireelégedett(0-5)hazas_e házas-e(0-nem,1-igen)egyuttelok háztartásábanegyüttélőkszámasajathaz sajátházábanlakik-e(0-nem,1-igen)lakastipus lakásánaktípusa(1-családi,2-társas,3-tömb,4-mobil)lakas_ev hányévelakikjelenlegiotthonábanautok jelenlegisaját/béreltautókszámaauto_sajat sajátautójavan-e(-1-nincs,0-bérli,1-igen)auto_kat elsődlegesautóértékkategória(-1:nincs,0-3:árkat.)kozl_eszk munkábajárás(1-saját2-közösautó3-tömegközl4-nemgépjárművel5-nemjárbe)bejar_ido munkahelyreérésideje(perc)pol_konz politikainézetei7-esskálán(1-nagyonliberális7-nagyonkonzervatív)parttag politikaipárttagja-e(0-nem1-igen)szavaz szavazottalegutóbbiválasztásoninternet Internet(0-nincs1-modem2-DSL3-kábeles4-egyéb)

Page 161: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

tvnezes múlthetitévénézés(óra)sajat_tv van-esajáttv-je(0-nem,1-igen)sajat_CD van-esajátCD-lejátszója(0-nem,1-igen)sajat_PC van-esajátPC-je(0-nem,1-igen)ujsag előfizet-eújságra(0-nem,1-igen)haziallat_db háziállataiszámamacska_db kutya_db madar_db hullo_db kisallat_db hal_db

Adatokbeolvasása,előzetesadatvizsgálat

HozzunklétreegySourcenode-ot,melyazadatokatbeolvassa!

A célkitűzésnek megfelelően kell beállítani a változók kimenet-típusait (DIRECTION).Kimenetkéntkelltekinteniamodelleknekazugyf_evváltozót.

Azugyf_evváltozólegyenO U T ,atöbbiI N típusú!

Figyeljükmeg,hogyazSPSSfájlbanmárdefiniálvavoltakazok,auto_sajatésazauto_katváltozók„blank”értékei.

Figyeljükmegeváltozók„blank”beállításait!

Page 162: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 163: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AzadattáblábanakétértékűSet típusúváltozókatFlag-kéntkellenekezelni, ilyenpl.anyugdijváltozó,melynekkétértékeegyigaz-hamisadat,attólfüggően,hogyegyügyfélnyugdíjas-e.

ÁllítsunkbemindenkétértékűSet-nekbeolvasottváltozótFlag típusúra! (nem,nyugdij,hazas_e,kesedelem,sajathaz,parttag,szavaz,sajat_tv,sajat_PC,sajat_CD,ujsag)

Azeddigibeállításokazalábbiábránkövethetők:

Page 164: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Végezzünkelőzetesadatvizsgálatot!

EhhezelőszöregyQualitynode-otcélszerűhasználni.

AdjunkaSourcenodeutánegyQualitynode-ot,melya„Blank”adatértékeketiskijelzi!

Page 165: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Apirossaljelzettbeállításokatcélszerűmegtenni.Azeredmény:

Page 166: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Négy mezővel van gond. A bejar_ido változó két kivétel-rekordja nem zavaró, azauto_sajatésazauto_katváltozók492darab„blank”,azaz-1értékettartalmaznak,ezaztjelenti, hogy ennyi ügyfél nem rendelkezik autóval. Ez olyan jellegű információ, amitadatkéntlehetnetekinteni!Az ok változó nagyobb gondot jelent. Az adatok 81 százalékában ez ténylegesenhasznavehetetleninformációtszolgáltat,eztamezőtvegyükkiatovábbivizsgálatokból!

ÁllítsukbeaSourcenodeT Y P E S fülén,hogyazauto_sajatésazauto_katváltozóeseténa-1értékekérvényesadatkéntszerepeljenek!

TöröljükaSourcenodeF I L T E R fülénazokmezőt!

ASourcenodeTYPES fülérőlindulvaazauto_sajatésazauto_katsoroknálkellapirossaljelölthelyenaDEFINEBLANKS jelölőnégyzetbőlapipátkivenni:

Page 167: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

ASourcenodeFILTER fülénkellazokváltozóttörölni:

Acélváltozóvizsgálata,átalakításaCélszerű megnézni az ugyfel_ev adatértékeinek megoszlását, nincs-e túl sokféleadatérték. (Ekkor a modellek nagy hibával dolgoznak, és nem lényegeskülönbözőségeketislényegesnektekintenek.)

Rajzoltassukkiacélváltozómegoszlását!

Eztpl.egyDistributiongrafikonnaltehetjükmeg.

Page 168: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azeredmény:

Azeredményaztmutatja,hogynemérdemesmegkülönböztetniacélváltozó0-52évesértékeit, célszerű a változót egyszerűbbé tenni. A statisztikában gyakori probléma ez,

Page 169: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

ennek kivédésére az adatokat osztályokba sorolják. A leggyakrabban használtosztályozási szempont az, hogy a szórás hányszorosának megfelelő távolságrahelyezkedikelegyadatazadatokátlagától.

Készítsünkegyújmezőt,melyazugyf_evváltozóadatainakátlagtólvalóeltérésealapjánsoroljaazügyfeleketlegfeljebbötcsoportba!

EztegyBINNINGNODE fogjaelvégezni.Adjunkastream-hezegyilyennode-otasourcenodeután,snézzükabeállításait:

ABinningnode-okatjólhasználhatjuknagyadattömegegyszerűsítésére.Ezekmindigújmező(ke)tgenerálnak,melynekneveameglévőmezőnévkiegészítésévelkeletkezik.

ASETTINGS fülBINNINGMETHOD listájábólasávokraosztásmódszerétadhatjukmeg:FIXEDWIDTH: adatértékek szerinti azonos szélességű sávok képzése, TILES: azonosrekordszámúrészekrebontás,RANKS: növekvővagycsökkenősorrendűsorszámozás,aMEAN/STANDARD DEVIATIONlehetőségpedigaszerintképezsávokat,hogyazadatokátlagától pozitív vagy negatív irányban a szórás hányszorosánakmegfelelő távolságravanazadottadat.(Erreleszszükségünkmost.)AzADDAS: SUFFIX beállításanévután,azADDASPREFIXanévelé tesziamegfelelőmezőjelölő szócskát. (A mi stream-ünknél ez a _tip kódszó lesz, mely utal az ügyféltípusára.)

Page 170: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Minden esetben generálhatunk aGENERATE fül segítségével egy újDerivenode-ot is,mely számítások végzése nélkül, csak logikai feltételekkel készíti el a sávokat. Ez alehetőségcsakakkorhasználható,haazadottBinningnode-otegyszermárfuttattuk.Akövetkezőbeállításokatkellmegtennünk:

Itt a+/-2STANDARDDEVIATIONS beállításazt jelenti,hogymaximálisan5 csoportotképzünkarekordokból.Aszámegyenesenszemléltetieztazalábbiábra:

Legszemléletesebben ennek eredményét egy Distribution grafikonnal nézhetjük meg,úgy, hogy a keletkezett új ugyfel_ev_tip mező (a vizsgálat szempontjából már ez isváltozó!)szerintszínezzükaziméntmárkirajzoltmegoszlásigrafikont.

Figyeljük meg az ugyfel_ev_ és az ugyfel_ev_tip változók viszonyát egy színezett megoszlásigrafikonon!

Page 171: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azalábbiábraalapjánkelleljárni:

Azegyszerűsítésmegfelelő,eztmutatjaafuttatás:

Page 172: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Négykategóriakeletkezett,azelsőbenafrissügyfelek,amásodikbana20évnélrégebbi,aharmadikbana20és30évközötti,anegyedikbena30évnélrégebbiügyfelekvannak.Akategóriaértékek:-1,0,1és2.Látható,hogy-2értékűadatoknemkeletkeztek,eztazugyfel_evváltozóerősantiszimmetriájaindokolja.

Modellépítéselőkészítése,lényegesváltozók

Egy Type node segítségével adjuk meg célváltozónak az eddigi ugyf_ev helyett az ugyf_ev_tipváltozót!

Azalábbibeállításokravanszükség:

Azugyf_ev_tipváltozótORDEREDSET típusúvákell tenni,aVALUESoszlopnál<Read>-re állítva be kell olvastatni az adatokat a READ VALUES gombbal, a DIRECTION oszlopban pedig Out-ra kell állítani. Az ugyf_ev változó nem vesz részt amodellépítésben,ezértittNone-ravankapcsolva.

E két változó sora azért egymás alatt látszik az ábrán, mert a beállítások után aDIRECTION oszloptartalmaszerintinövekvősorrendlettbekapcsolva.Ezutánamár tanultmódonki szeretnénkválasztaniacélváltozószempontjából szóbajöhetőváltozókat.

Egy Feature Selection node segítségével építsünk olyan modellt, mely megadja az ugyf_ev_tipszempontjábólrelevánsváltozókat!

Egy Feature Selection modellépítő node-ot kell beilleszteni a Type node után. Ennekpárbeszédpaneljénmegtarthatjukagépibeállításokat,majd lefuttathatjuk.A jobbfelsőModelsablakbanjelenikmegakészmodell.

Azalábbiábramutatjaanode-ot,abeállításait,ésafuttatáseredményét:

Page 173: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Figyeljükmegakészmodellbenafontosnakjelöltváltozókat!

Az ábra mutatja, hogy 18 darab (célváltozó szempontjából) fontos változó van azadathalmazban.Kétváltozóelevekiesikavizsgálatból,mertarekordokdöntőrészébenugyanaztazegyetlenértékettartalmazzák.

Page 174: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Építsük be a kész modellt a Type node után, majd válasszuk szét a rekordok halmazát egymodellépítőésegytesztelőrészre!

Azalábbiábramutatjaatennivalókat:

Akét rekordhalmazgarantálja,hogyaz5000ügyfélvéletlenszerűenkiválasztottegyikfelealapjánépüljönfeladöntésifamodell,arekordhalmazmásikfelénpedigteszteljükmajdakészmodellt.

DöntésifaalgoritmusokéskészmodellekAdöntésifa(decisiontree)modellekdöntéseksorozatainkeresztüladjákmegegy-egyrekordban a bemeneti változók értékeiből a célváltozó számított („tippelt”) értékét. Amodellben szereplő döntések egyszerű feltételekre adott válaszok. A feltételekmegkövetelhetnek Range típusú változó esetében intervallumhoz való tartozást, Settípusokeseténpedigegybizonyosrészhalmazhozvalótartozást:

Page 175: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

E döntési fában például egy 0 vagy 1 értéket felvevő célváltozó számítási szabályaiolvashatók.Például ha apéntek változó1,5-nél nagyobb értékű, avasárnap változó2,5-nél kisebbvagy egyenlő és a péntek változó2,125-nél is nagyobb, akkor a célváltozó értéke1.A[Mode]értékekaztjelzik,hogyhaegyadottpontonabbahagynánkafaolvasását,akkorottéppenmilyenértéketkelladniacélváltozónak,hogyalegkisebbettévedjük.A döntési fa áttekinthető, ám ugyanazok a feltételek egyszerűbb, csoportosítottformábanisfelírhatók:

Ezt szabályhalmaznak (ruleset) nevezzük. A szabályokat folyamatosan kiolvasva kellértelmezni (if=ha, and=és, then=akkor). Ha egy rekordra egyik szabály sem érvényes,akkorazutolsósorbanállóDefaultértéklegyenaszámítottcélváltozóban.

A döntési fa a bemeneti változók, a szabályhalmaz pedig a célváltozó szempontjából csoportosítva írja leugyanaztadöntésistruktúrát.

Afaépítésépítkezőéslebontólépéseksorozata.Azelsőfázisbanmindenújágépítésealegnagyobb információnyereség statisztikai elve alapján halad tovább, a másodikfázisban,afatisztításánáltúltanulásrautalóágaklemetszésetörténik.

Ezutóbbirafeltétlenülszükségvan,hisztúltanítássalelérhetőazis,hogyazalgoritmusakár 100%-os pontossággal adja meg a célváltozó értékeit a modellépítőrekordhalmazon.

C5.0döntésifahasználata

IllesszünkegyC5.0modellépítőnode-otaPartitionnodeutánésfigyeljükmeganodebeállításait!

Page 176: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

MODELFÜL:OUTPUTTYPE. Ittválasztanilehet,hogyavégeredménytdöntésifavagyszabályhalmazalakbanadja-emeganode.GROUP SYMBOLICS: Ha bejelöljük, akkor szimbolikus értékek hasonlósága alapjáncsoportosítvadolgozik.HapéldáulaHAJmezőnbelülabarnaésavörösértékekhasonlórekordokat adnak, akkor e két értéket együttesen vizsgálja.Hanem jelöljükbe, akkormindenhajszínegyenrangúkéntveszrésztatovábbifaépítésben.

USE BOOSTING: A fa továbbfejlesztését végző algoritmus bekapcsolása. Az elsőkéntkapottdöntésifátújravizsgálja,milyenrekordokbantérelaténylegesadatoktól,ezutánolyan fa-részt generál, mely az eltéréseket korrigálja. Itt megadható az is, hányszoriújravizsgálástkérünk.Afabonyolultságátésafaépítésidejétegyarántnöveli.CROSS-VALIDATE: Akkorcélszerűhasználni,haolyankevésrekordunkvan,hogynemérdemesmodellépítőés tesztelő rekordhalmazra felosztani.Részhalmazokatválasztki

Page 177: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

ésazokonteszteliazújraésújrafelépítettfát,solyanvégeredménytad,melyatöbbfélerészhalmazonishasonlóeredménytad.

MODE: 1. SIMPLEAgépbeállításaivaldolgozika

• FAVOR: A tanulás leállítását lehet megadni. Az ACCURACY beállításával azalgoritmus sokáig tanul, a felépített fa az az egyedi adathalmaz egyeditulajdonságait minél hűbben tartalmazza. Ha azonban tesztelő adatokkalfolytatnánk a munkát, célszerűbb a túltanulást megelőzni a GENERALITYlehetőséggel.

• EXPECTED NOISE (%): Zajos vagy hibás adatok elvárható aránya. (Ez isleállásifeltétel.)

2. EXPERT:a felhasználó megadhat bizonyos belső paramétereket a modellépítőalgoritmusnak• PRUNING SEVERITY: A lokális nyesésnél milyen egy faághoz tartozó

minimáliselemszámeseténgeneráljonújágat.Azértéketnövelvekisebbéstömörebbfátkapunk.Hacsökkentjük,pontosabbfátkapunk.

• MINIMUM RECORDS PER CHILD BRANCH: A fa egy ágán levő minimáliselemszám. E beállítással korlátozható a hasadások száma. Zajt tartalmazóadatokeseténcélszerűeztazértéketnövelni.Alapértéke2.

• USE GLOBAL PRUNING: A faépítést két lépcsőben végeztethetjük ebeállítással. Az első lépcsőben egy kevés ágú fát épít a gép, a leveleincsoportosított adatokkal, majd a csoportokat helyi részfák építésévelfinomítja. Lassabb, de általában eredményesebb algoritmust ad.Alapértelmezésbenezalehetőségbevankapcsolva.

• WINNOW ATTRIBUTES: E beállítás esetén a faépítés előtt statisztikaivizsgálattalkiválasztjaafontosmezőketazalgoritmusésakevésbéfontosnakítéltmezőket kihagyja a faépítésből. Akkor célszerű használni, ha sokmezővan,vagymegakarjukelőzniasokmezőbőlszármazótúltanulást.

Page 178: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

COSTSFÜL:

USEMISCLASSIFICATIONCOSTS:Afaépítéssoránegy-egyújágépítéseelőttösszeadjaagépatévedésekértékétaszóbajöhetőfolytatásoknál.Ezutánafolytatásrólaszerintdönt,hogy mekkora tévedés-összeget eredményez az adott választás – mindig a legkisebbösszeget fogja választani. A tévedéseket súlyozhatjuk az itt látható táblával, ígyszámszerűendominánsnakvagyjelentéktelennekadhatunkmegmindentévedéstípust.

Az ACTUAL értékek a célváltozó tényleges adatértékei, a Predicted értékek pedig ahozzájuk tartozószámítotteredményeket jelentik. (Itta -1,a0,1ésa2azugyf_ev_tipváltozólehetségesértékei.)

Atévedésisúlyoktáblázatábóliskövetkeztethetünkakövetkezőfontoskövetelményre:

AC5.0algoritmuscélváltozójacsakdiszkréttípus(Discrete,Orderedset,SetvagyFlag)lehet!

FuttassukaC5.0modellépítőnode-otagépáltaladottbeállításokkal!

Tanulmányozzukakészmodellt!

Ehhez a jobb felső Models ablakban megjelenő modell gyorsmenüjében a Browsemenüpontotkellválasztanunk:

Page 179: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Akészmodellszerkezetétfogjuklátni.

Bontsukkiakapottdöntésifát3szintmélységig!

Ehhezazábránpirossaljelzett3-asgombrakellkattintani:

Látható,hogyabban,hogymilyenrégiegy-együgyfél,alegfontosabbmeghatározóakorváltozó – ez logikus is. A 30 év felettiek esetében a nyugdíjas állapot a következőlényeges változó, a 30 év feletti nyugdíjasok esetében a foglalkozás lényeges, stb. Ígyszemléletesenvégigkövethetőateljesdöntésimechanizmus.

Page 180: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A párbeszédpanel tetején látható gombokkal azt lehet szabályozni, hogy hány döntésiszintetmutassonazablak,azALL hatásáramindenszintetkibont.AVIEWER fülönadöntési fa gráfként látható.Kibontható, kicsinyíthető ésnagyítható,elrendezéstésmegjelenítéstlehetbeállítani.

Afentiábránpirossaljelzettgombegytérképetmutatagráfról:

ASUMMARY fülönáttekintőösszegzéstkaphatunkamodellről.(EXPANDALL: mindentmutat)

Page 181: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Itttöbbségbenamodellépítőnodebeállításaitlátjuk,deszerepelpl.aTreedepth,azazafamélysége(szintjeiszáma)is.

IllesszükbeakészmodelltaPartitionnodeután,majdelemeztessükaModeler-relakészmodelltakétrekordhalmazon!

Azábraszerintkelleljárni:

Az Analysis node-ot már ismerjük, a célváltozót hasonlítja össze az azonos nevűszámítottváltozókértékeivel.Hagyjukmegagépibeállításait,majdfuttassuk!

Page 182: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Látható,hogyamodellépítőadathalmazon93%-banhelyesenszámoladöntésifa,deatesztelőadathalmazoncsak86%-ban.Ennekvalószínűokaatúltanulás.

Gyakorlófeladatok:

Készítsünk más típusú adategyszerűsítést a Binning node-dal! Először 10 szélességű sávokkal,majd 5 azonos elemszámú résszel dolgozva építsünk döntési fát! Nézzük meg az új modell„jóságának”elemzésétis!

Segítség:

Page 183: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 184: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AFeature Selectionnode-nál csaka10 legfontosabbváltozóthagyjukmeg, így építsünkdöntésifát!Nézzükmegazújmodell„jóságának”elemzésétis!

Segítség:

Csökkentsük a túltanulást a modellépítő node beállításai segítségével! Próbáljuk ki a S I M P L E módszer G E N E R A L I T Y beállításával, majd az E X P E R T módszer P R U N I N G S E V E R I T Y =90 ésM I N I M U M R E C O R D S P E R C H I L D B R A N C H =5beállításával!Nézzükmegmindkétmódszeráltalépítettmodell„jóságának”elemzésétis!

Segítség:

Page 185: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A túltanulást csökkenteni tudjuk mindkét változtatással, de nem tudunk eredményesebb modellt adni atesztelőrekordhalmazra.

Az ebben a gyakorlatban megépített C5.0 modellt építsük meg neurális hálóként is éselemeztessükakettőtegyüttegyAnalysisnode-dal!

Page 186: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Segítség:

Azesetektöbbségébenaneurálishálóésadöntésifaugyanannyiraeredményes.Ezannakköszönhető,hogya célváltozóra vonatkozó információt a többi adatokbólmind a kettőmódszer hasonló hatásfokkal képes„kibányászni”.

Próbáljunk egy új streammel más célváltozóhoz modellt építeni, például a pol_konz (politikaibeállítódás)változóhoz!

Megfigyelhető,hogynemmindenadathalmazbólésnemmindencélváltozóralehetjómodelltépíteni.Ennekoka,hogybizonyosváltozóknemadnakeléginformációtmásadatokranézve.Azadatbányászatcéljaéppenaz,hogyfelkutassaésmegadjaavilágbanmeglévőösszefüggéseketésmegmondja,melyadatokközöttnemérdemesösszefüggéstkeresni.

Page 187: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg
Page 188: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

10.WebesadatbányászatE gyakorlat célja a webbányászat alapjainak megismerése. A Clementine-hozkiegészítésként telepíthetők olyan szoftver-részek, melyek segítségével web-servereklátogatottságát,alátogatókviselkedésétvizsgálhatjuk.A web-server szoftverek különféle esemény-naplózási lehetőségeket kínálnak. Arendszergazdák a biztonság és a látogatottság figyelése céljából naplóztatják a web-oldalakon történőeseményeket, ezekbőlanaplófájlokból (LOGFÁJLOKBÓL)dolgozikaClementineWebMining.

Amost következő két laborgyakorlat során a szombathelyi Berzsenyi Dániel Főiskolaportáljánaklogfájljaibólfogunkdolgozni.

Mindenadatbányászatimunkaelső lépéseazadathalmazalapos ismerete.Awebbányászati algoritmusokhasználataelőtttanulmányoznikellazelemezendőportálrészeit.

Ímeaportálkinézete(www.bdf.hu):

A portálhoz tartozó eseményként naplózva van minden kérés, amellyel egy userkommunikálaportállal-általábanvalamilyenfájltkérleaweb-serverről.(Legtöbbszöregylinkenvalókattintáshatásáratörténikez.)Akéréseketalogfájltárolja.Ímeegylogfájlelsőnéhánybekezdése:

Page 189: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ezt kapja bemenetként a WEB MINING (SOURCE) NODE. (Az adatbányászat aClementine-banegyetlenSuorcenode-nak,aWebminingnode-nakhasználatátjelenti.)Az eredeti szoftver nincs felkészítve a web-bányászatra, de a Web Mining kiegészítőcsomagot feltelepítve ezzel a node-dal bővül a Clementine SOURCENODE palettája. Acsomag tartalmaz még ezen kívül számos használható demo-streamet, melyek awebbányászatmódszereitmutatjákbe,skisváltoztatássalsegíthetnekbármelyportállalkapcsolatoskérdésekmegválaszolásában.

Logfile-okelőkészítése

Bontsukkialaborgyakorlatfájljaiközötttalálhatótömörítettlog.zipfájlt,hogyaWebMiningnodedolgozhassonbelőle!

Ehheza log.zipfájl jobbegér-kattintássalelérhetőgyorsmenüjébőlAzösszeskibontása...menüpontot kell választani. A megjelenő kibontási varázsló párbeszédpanelein csakEnter-eketkellütni.

#Software:MicrosoftInternetInformationServices6.0#Version:1.0#Date:2006-08-2800:05:39#Fields:datetimes-sitenames-ipcs-methodcs-uri-stemcs-uri-querys-portcs-usernamec-ipcs(User-Agent)sc-statussc-substatussc-win32-status2006-08-2800:05:39W3SVC855251193.224.74.10GET/_vti_bin/owssvr.dll-80-72.30.98.75Mozilla/5.0+(compatible;+Yahoo!+Slurp;+http://help.yahoo.com/help/us/ysearch/slurp)404002006-08-2800:05:39W3SVC855251193.224.74.10GET/konyvtar/munkatars.htm-80-72.30.252.107Mozilla/5.0+(compatible;+Yahoo!+Slurp;+http://help.yahoo.com/help/us/ysearch/slurp)304002006-08-2800:09:22W3SVC855251193.224.74.10GET/_vti_bin/owssvr.dll-80-195.70.35.179KummHttp/1.1+(compatible;+KummClient;+Linux+rulez)302002006-08-2800:09:22W3SVC855251193.224.74.10GET/Default.aspx-80-195.70.35.179KummHttp/1.1+(compatible;+KummClient;+Linux+rulez)2000642006-08-2800:09:23W3SVC855251193.224.74.10GET/_vti_bin/owssvr.dll-80-64.4.8.130msnbot/1.0+(+http://search.msn.com/msnbot.htm)404002006-08-2800:09:25W3SVC855251193.224.74.10GET/konyvtar/macslist.html-80-64.4.8.130msnbot/1.0+(+http://search.msn.com/msnbot.htm)20000

Page 190: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A végeredmény egy új log nevűmappa, mely öt nap eseményeit naplózó log fájlokattartalmaz,2006.augusztus28-tólszeptember1-ig:

Afájlokösszméretearrautal,hogyeszövegesállományoksokinformációttartalmaznak.HaJegyzettömbbelnézzük meg tartalmukat, a megnyitás még 10 másodpercet is igénybe vehet, és mindegyik log fájlbanszázezresnagyságrendűleszasorokszáma.

EseménydefiníciókMielőtt összeállítanánk egy egyszerű „webbányász” streamet, elő kell készíteni aWebMiningnodehasználatát.Megkellmondaniawebminingnode-nak,hogyanaplófájlbólmilyeneseményeketszeretnénkfigyelni,milyensorokat(rekordokat)olvassonbealogfájlból.

AWebMiningnodealogfájlbólkövetkeztet,hogymelykérésektörténtekugyanabbanaz időben ugyanarról a gépről. Ennek alapján különféle felhasználókat (USEREKET)különböztetmeg,illetveegy-egyuseregy-egyalkalommaltörténőkéréseineksorozatátlátogatásnak(VISITNEK)tekinti.Abesorolásoknemmindigtökéletesek.Példáularrólnincsinformáció,konkrétankiültakérést küldő gép előtt, így egy gépről dolgozó több tényleges személyt is egyusernektekinthet aWebMining, továbbá ha az internetező felhasználó feláll a gépemellől ésvisszatérveórákmúlvakattintújraaportálon,akkortevékenységétegyhosszúvisitneklátjuk,holotterrőlvalójábanszósincs.AWebMining node egy olyan adattáblát készít a log fájlokból, melynek a következőmezőivannak:

Mezőnév JelentéseEventID Azeseményegyedisorszáma

EventCategory Esemény kategóriája – szöveges értékét a felhasználó adja meg azeseménytáblázattal

EventName Esemény neve – szöveges értékét a felhasználó adja meg azeseménytáblázattal

Resource AzURL-nekazeseményreutalótöredékeEventTimestamp EseményidejeVisitID Azeseményttartalmazóvisitegyedisorszáma

Page 191: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Mezőnév JelentéseVisitStartTimestamp AzeseményttartalmazóvisitkezdeténekidőpontjaUserID Useregyedisorszáma

UserType Userazonosításánakmódjátjelzőkódszám:1belsőusernévvelazonosított,2cookie-val(sütivel)azonosított,3hostnévvelazonosított

AuthorizedUserName Userbelsőazonosítója,havanUserCookie User-sütiértéke,havanHostname UserhostneveAttributeID Havaneseménnyelkapcsolatosattribútum,annakegyediazonosítójaAttributeName Havaneseménnyelkapcsolatosattribútum,annakneveAttributeValue Havaneseménnyelkapcsolatosattribútum,annakértéke

A kiemelt két mező tartalmát a felhasználó adhatja meg egy úgynevezetteseménytáblázattal. Az eseménytáblázat szabályozza azt is, hogy az adattábla milyenrekordokat tartalmazzon: azok a sorok kerülnek be a log file-ból a Clementineadattáblába,amelyeknekekétmezőjeértéketkap.Egyakorlatsegédleteiközöttszerepelmáregyilyeneseménytábla,ezaBDF_events_1.txtfájl.

Ha(Jegyzettömbbel)megnyitjuk,eztlátjuk:

Miveleztabulátorokkaltagolttáblázat,ezértnemjóllátszanakígyazoszlopok.

NyissukmegafájltazExcelsegítségével!

Page 192: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Ne felejtsük a Megnyitás párbeszédpanelen a fájltípust szövegfájlokra állítani!Megjelenikaszövegbeolvasóvarázsló,üssünkEntertmindháromlépésnél!

Page 193: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Mostmáráttekinthetőenjelenikmegazeseménytáblázatunk,szélesítsükazoszlopokat,hogymindenadatotlássunk:

Page 194: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azelsősormegnevezésekettartalmaz.AzEventCategoryésEventnamealatticellákbantetszőleges elnevezéseket adhatunkmeg – a log fájlból beolvasott sorokat (kéréseket)fogjuk ígynevezniaClementineáltalgeneráltadattáblában.Aharmadikésanegyedikoszlopba az kerül, hogy milyen URL-rész és milyen attribútum együttes előfordulásaesetén kap az adott kérés valamely eseménykategóriát és eseménynevet a generáltadattáblában. A log fájlminden egyes sorát a Clementine az eseménytáblázat soraivalegymásutánhasonlítjaössze.HaalogfájlvizsgáltsorábanállókérésEventDefinitionésEvent Attributes értéke megegyezik az eseménytáblázat egyik sorában megadottértékkel, akkor azt a logfájl-beli sort hozzáveszi a generált adattáblához, és e kérésrevonatkozóannemnézitovábbazeseménytáblázatot(pedigelképzelhető,hogymégtöbbfeltételnekismegfelel),hanemtovábblépalogfájlkövetkezősorára(kérésére).Haalogfájl valamely sora nem felel meg az eseménytáblázatban szereplő egyetlen EventDefinition+EventAttributesegyüttesfeltételneksem,akkorageneráltadattáblábanezakérésnemfogrekordkéntszerepelni.

Egészítsükkiazeseménytáblázatotegyolyansorral,melyafőiskolaiAlkalmazottInformatikaésInformációmenedzsment Tanszék látogatói kéréseihez rendel eseményt! A tanszék honlapjánakfájljaira mutató URL-rész: /ttk/mszi/informatika, a hozzárendelt rekordok eseménykategóriájalegyenTanszek,azeseményneveItanszek!

Amostmegismert logika alapján nem tehetjük az eseménydefiníció sorát sem a /ttk,sema/ttk/mszielé,hiszenakkoratanszékioldalakramutatókérésekignemfogeljutniakiértékelés,csakTTKvagyMSZInevűeseménykéntfogjabeolvasniaClementine.Ezért35.sorkéntszúrjukbeazExcelvagyaJegyzettömblistájába.AmegadottURL-részmögéírjunk egy /* -ot, ami az eseménytáblázatban azt jelenti, hogy az e szövegtöredéknélhosszabb URL-részletű kéréseket is ezen eseményhez rendelt rekordok köztszerepeltetjük.

Ha az Excelben végezzük a sor beszúrását, akkor a következő figyelmeztetésre (nemExcelformátumúmentés)mégIgen-nelkellfelelni,majdkilépniazExcelből.

HaaJegyzettömbbenszúrtukbeazújeseménysorátazeseménytáblázatba,akkorarrakellfigyelni,hogyazegysorbanállóelemekettabulátorjelekkelkellelválasztani.

Page 195: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Az eseménytáblázatnak mindig tabulátorjelekkel elválasztott szöveges fájlnak kell lennie! Kiterjesztéseelvilegbármilehet,dejavasolta.txtkiterjesztésselutalniarra,hogyegyszerűszövegettartalmaz.

Figyeljük meg, hogy az Egyéb esemény révén minden portálhoz tartozó kéréstbeolvassunk!

AWebMiningnodehasználata

EgyüresstreambeszúrjunkbeegyWebMiningnode-ot!

Mentsükastreametlabor9_webmining.strnéven!

ÁllítsukbeanodetulajdonságaitaSettingsfülönazalábbiaknakmegfelelően!

Page 196: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

WEBLOGFILESDIRECTORY: Ittadhatjukmega feldolgoznikívánt log fájlokmappáját.Haazeddigieknekmegfelelőenjártunkel,akkorennekazelérésiútnakavége:\9\log ,azelejepedigannakamappánakazelérésiútja,ahonnana9nevűmappanyílik.Sajnosittnincstallózásilehetőség,tehátbekellbillentyűznialogmappaelérésiútját.

MATCH FILES BY: Itt azt állíthatjuk be, hogy fájlnév vagy dátum szerint olvasson bekéréseket a log fájlokból.Mivel példánkban amegadott öt nap log fájljai vannak csakmeg,ezértcélszerűbbaFILENAME lehetőségetbekapcsolni.LOG FILE NAME PATTERN: Itt egy fáljlmaszk adható meg, hogy milyen nevű éskiterjesztésű log fájlokatolvassonbeanode.Esetünkbena*.logmaszkutalarra,hogybármilyennevű,.logkiterjesztésűfájlokatszeretnénkbeolvasniamegadottmappából.EVENTS DEFINITION FILE: Itt kell megadni az eseménytáblát, tallózássalmegkereshetjükvagybebillentyűzhetjükamártárgyaltBDF_events_1.txtelérésiútját.

OUTPUT FILE: Itt egy olyan output (kimeneti) fájl elérési útja adható meg, amelyetmindenbeolvasásutánújralétrehozaClementine.Efájlanodekimenetekéntkeletkezőadattáblát tartalmazza. Eredetileg a párbeszédpanel a$WEBMINING_ROOT/output/webminingoutput.txt nevet kínálja fel, állítsuk át ezt a...\9\BDF_events_out.txt elérésiútra,hogyközvetlenülmegnézhessükanodekimenetétésszükségeseténfelhasználhassuk.(A...hárompontannakamappánakazelérésiútjátjelzi,ahonnana9nevűmappanyílik.)REPROCESS LOG FILES: Itt azt állíthatjuk be, hogy a node változatlan újrafuttatásaeseténújrafeldolgozza-ealogfájlokadataitvagyazegyszermárlétrehozottoutputfájltbeolvasvaképezzenadattáblátanode.

Page 197: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Haegyadatbányászstream-etépítünk,kiegészítünk,tesztelünk,vagyvalamilyenokbóltöbbszörfuttatunk,célszerű a R E P R O C E S S L O G F I L E S jelölőnégyzetből a pipát kivenni, mert a log fájlok beolvasásaaránylaghosszú ideigtarthat(hosszabbidőszak,vagynagyforgalmúportálvizsgálataeseténakárórákigis).Azoutputfájlbeolvasásaugyanaztazeredménytszolgáltatjaaránylagrövididőalatt.

A CHANNELS beállítások és a beolvasást irányító IMPORT, LOCALE, SPECIFICATIONfülekmegismerésetúlmutatekurzuskeretein. VegyükkiaTRACKCHANNELRESPONSES jelölőnégyzetbőlapipát,mertnemadunkmegtöbbadatot.

FigyeljükmegaFilterésaTypesfülektartalmát!

Page 198: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Azokat a mezőneveket olvashatjuk itt, amelyeket az Eseménydefiníciók fejezetbenismertettünk.Látható,hogyazIDmezőktárolásitípusaismeretlen,atöbbimezőtárolásitípusa szöveges – holott e mezők közt két Timestamp (dátumot és időpontot együtttartalmazó„időpecsét”)isszerepel–ezeketátkellmajdalakítani,hogyhasználhassuk.

SzúrjunkbeegytáblátaWebminingnodeutánésfuttassuk!

Page 199: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A futás kezdetén egy karakteres ablakban tájékoztat a gép a log fájlok beolvasásánakállapotáról.Azelsőfuttatásteljesidejeatáblázatmegjelenítéséigkb.egyperc.MivelkikapcsoltukaReprocesslogfileskapcsolót,ezértamásodikfuttatásnálmárakészBDF_events_out.txt-bőldolgozikanode,ígyezekutánmárrövidebbleszafutásiidő(kb.10másodperc).

Futtassuk még egyszer a táblát, s figyeljük meg, hogy másodszor mennyivel rövidebb ideigdolgozikagép!

Avégeredményülkapotttáblábantöbbmintháromszázezerrekordvan,mindegyikegy-egyolyanfelhasználóikérés,amitazeseménytáblázatbandefiniáltunk.Ezentúlezeketarekordokattöbbnyireeseményeknekfogjuknevezni–durvánaztlehetnemondani,ezekegy-egyportálrészreirányulókattintásokatjeleznek.

Nézzükmeg,mittartalmazaBDF_events_out.txtfájl!

Látható, hogy ugyanezt a Web mining node futtatásával kapott táblát tartalmazzamezőneveknélkül,tabulátorokkaltagoltszövegfájlként.

EventstatisztikákA megfigyelt események gyakoriságát, az egyes honlaprészeken történt kérések –leegyszerűsítve: az oda irányuló kattintások – számát, megoszlását szeretnénkmegfigyelni. Külön össze szeretnénk hasonlítani az egyes karokhoz kapcsolódó ilyeneseményekszámát.

Előszöregyátfogóeseménystatisztikátkészítünkmindenmegfigyelteseményről.

Page 200: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

RajzoltassukkiaClementine-naladefiniálteseményekeloszlását!

CélszerűaziméntbetetttáblátkitörölniazeddigistreambőléshelyetteegyDistribution(graph)node-otbetenni:

Ha beállítjuk a grafikon paneljén az Event Name mezőt és futtatjuk a grafikont, eztkapjuk:

Page 201: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Megfigyelhetjük,hogyaz„egyéb”eseményeknagyszámamiattnemjólkivehetőatöbbieseményekaránya.

Készítsükelugyaneztamegoszlásigrafikontaz„Egyéb”eseményekkihagyásával!Állítsunkbeazeseményekszámaszerinticsökkenősorrendetis!

Az első feladatrészhez a Select node fog segíteni, melyet a Web Mining node és aDistributionNodeközékellbeilleszteniésazalábbibeállításokatkellrajtatenni:

AmásodikfeladatrészmegvalósításáhozaDistributionNode-onkellbekapcsolniaSORT–BYCOUNT beállítást:

Page 202: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Afuttatásutánpedigeztlátjuk:

Úgytűnik,hogyafejezetelejénfelvetettmásikproblémáraismegoldástkaptunk,mertaBTK, TMK és TTK karok sorrendje leolvasható. Ez azonban nem jó! Hiszen ha azeseménydefiníciótmegnézzük,akkorlátható,hogyazMSZIésazItanszekeseményisa/ttkURL-részheztartozik,tehátezeketishozzákellvenniaTTKeseményeihez.AlogfilemindensorátcsakegyszersoroljabeeseménykéntaWebMiningnode,ezértpl.azMSZIeseményeitnemtekintiautomatikusanTTKeseménynekis.Eztkorrigálnikell.E célból egy új mezőt kell a táblához adni, melyben az egyes karok portáljain belülieseményeketmegjelöljük.

Adjunk egy Derive node-dal egy kar mezőt az adattáblához, melyben a „ttk”, „btk”, „mszi”, „más”értékek vannak attól függően, hogy a három kari portál közül melyikhez (vagy egyikhez sem)tartozikazesemény!

KözvetlenülaSourcenodeutáncélszerűegyDerive,egySelectésegyDistributionnode-otbeilleszteni.

Page 203: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

ADerivenode-nálazújmezőnevelegyenkar,SET legyenatípusaésa„btk”,a„tmk”ésa„más”adatértékfeltételétegyszerűenazalábbiakszerintadjukmeg:

A„ttk”adatértékfeltételénekbeviteléhezhívjukbeakifejezésszerkesztőtésakövetkezőkifejezéstvigyükbe:

ASelectnodebeállításai:

Page 204: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

VégülaDistributionNodebeállításai:

Afuttatáseredménye:

Page 205: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

VisitstatisztikákAvisitekleegyszerűsítveaztakattintássorozatot(egymásutánikéréseket)jelentik,amiegyetlenuserfolyamatostevékenységétjelziaportálonvaló„tartózkodása”alatt.AVisitID mező alapján lehet azonosítani az egyes visiteket. Ez sokféle vizsgálatra adlehetőséget:meg lehetállapítaniavisitekkezdetét jelentőeseményt,avégüket jelentőeseményt,azidőtartamukat,abennüktörténteseményekszámát,azt,hogyhányféleésmilyennevűeseményektörténtekbennük,stb.Efejezetbencélkénttűzzükki,hogyazötnapalattivisitekszámát,átlagosidőtartamát,ésabennüktörténtkattintásokátlagosszámátmegállapítsuk.

Alakítsuk át az adattáblát úgy, hogy minden visithez egy rekord tartozzon és benne a visitazonosítója, percbenmért időtartama, továbbáahozzá tartozóeseményekdarabszáma jelenjenmeg!

Afeladatotháromnode-daloldhatjukmeg.

Ehhez először egy olyan mezőt kell létrehozni, melyben az eseményekhez a visitkezdetétőladdigelteltidővantárolva.Két„időpecsét”adottmindeneseményhez,az„ővisitjének” a kezdete és a saját időpontja. Ezek különbségét kellene egy új mezőbenképezni.SzúrjunkbeaWebMiningnodeutánegyDerivenode-otésállítsukbeazalábbiakszerint:

Az új mező tartalmánál a DATETIME_TIME() és a TIME_MINS_DIFFERENCE() függvényeket használjuk. Az első a Timestamp formátumból csak az órát, percet ésmásodpercet tartja meg, a második pedig két időpont közti különbséget adja megpercben.

Tehátabeírandókifejezés:time_mins_difference(datetime_time('Visit Start Timestamp'),datetime_time('EventTimestamp'))

Sajnoskeletkezhetneknegatívértékekis,haéjfélelőttkezdődikegyuservisitjeéséjfélutánfejeződikbe.

Page 206: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A kapott negatív értékekhez adjuk hozzá az egy napban levő percek számát, hogy a helyesidőeltéréstadjákeredményül!

Egynapban24*60=1440percvan.EgyFillernode-dala<0 feltételhezkötvekell1440-nelnövelniavisit_eddigmezőtartalmát:

Aggregáljuk (összesítsük) az adattáblánkat úgy, hogy minden rekord egy visitet tartalmazzon,ebben pedig jelenjenmeg a hozzá tartozó legnagyobb visit_eddig érték (ez a visit hosszát fogjajelenteni)ésavisitheztartozóeseményekdarabszáma!

EgyAggregate node segítségével tehetjük eztmeg. Az összesítési kulcs aVisit ID kelllegyen, így minden visitazonosítóhoz egy rekord tartozik majd, a hozzá tartozólegnagyobb visit_eddig értéket aMAX beállítással, a hozzá tartozó események (eddigirekordok) számát pedig az INCLUDE RECORD COUNT IN FIELD beállítással kaphatjukmeg.Azesemény-darabszámotjelzőmezőnekazesemény_dbnevetcélszerűadni:

Már csak az hiányzik, hogy a gép által elnevezett új visit_eddig_Max nevű mezőtátnevezzükegyjellemzőbbnévre,hiszenezavisitekténylegeshosszáttartalmazza.

Page 207: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

NevezzükátamezőtegyFilternode-dal!

Azábránláthatóazeddigistreaméspirossalmegjelölveazátnevezésmegadása.

Nézzükmegegytáblábanazeredménytésjelenítsükmegazátlagosvisithosszatésazesemények(kattintások)átlagosvisitenbelülidarabszámát!

Kétújnode-otkelltehátastream-hezadni:

ATablenodehasználatátnemkellrészleteznünk,csakafuttatásieredménytmutatjuk:

Page 208: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

AStatisticsnodebeállításaipéldáulakövetkezőklehetnek:

Afuttatáseredményepedigez:

Page 209: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Sajnos,avisithosszmezőnempontosanadjaaportálonvalóböngészésidőtartamát,hiszenvannakegyetleneseményt tartalmazó visitek is, melyekhez értelemszerűen 0 percnyi idő tartozik. Ennél pontosabbkimutatást nem lehet készíteni,mert a log fájlbannincs információ, hogy valójábanmennyi időt töltött afelhasználóegyetlenlekértlapnézegetésével.(Azislehet,hogyauserfelálltagépemellőléscsakhosszúidőmúlva tért vissza, stb.) Ezt az eredmények kiértékelésénél figyelembe kell venni, a túl hosszú visiteketérdemesilyenszemmelvizsgálni.

UserstatisztikákA portál látogatói közül vannak usernévvel azonosítható bejelentkezők és vannakolyanok,akika főiskolavalamelyiknyilvánosgépérőlérikelaportált.Hasznos lehetaportál elemzése szempontjából, hogy milyen arányban vannak a látogatók közt abejelentkezett userek, abelső gépekendolgozó, be nem jelentkezett látogatók és azok,akik egy külső gépről interneteznek. Az első csoportot az egyszerűség kedvéértbejelentetteknek, a második csoportot belsőknek, a harmadikat külsőknek fogjukelnevezni,célunk,hogyegymezőthozzunklétre,melyeháromtípustkülönböztetimegminden kérés esetén. E gyakorlat során célunk az lesz, hogy e három usertípusmegoszlásátvizsgáljuk.Vizsgálhatnánk még a különféle userek visitjeinek számát, a hozzájuk tartozóesemények számát, az egyes userek leggyakoribb kéréseit, a userekhez tartozóleggyakoribbeseményeket,stb.deekurzuskereteiköztnemférelazösszesvizsgálat.

ElőszörleolvassukauserekIPcímeit.EztaHostnamemezőtartalmazza:

Page 210: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A táblázatrészből látható, hogyminden IP-címaHostnamemezőben levő stringvégénszerepel és „:” karakter előzi meg. Az IP címet tehát string-függvényekkel„leválaszthatjuk”astringről.Háromfüggvénytcélszerűhasználni.

• A LENGTH(string-adat) függvény a string-adat hosszát adja numerikusértékként.

• A LOCCAR_BACK(karakter, string-adat) a megadott karakternek a string-adatbanvalóutolsóelőfordulásihelyétadjavisszanumerikusértékként.

Figyelem! Egyetlen karaktert nem stringként, idézőjelekkel határolva, hanem külön karakterre utalóformátumban,balradőlőaposztrófokközöttkellmegadniaClemnyelvben,pl. `a` . (Ahatárolójelek írásaAltGr+7billentyűkombinációvaltörténhet.)

• A SUBSTRING_BETWEEN(numerikus adat , numerikus adat , string-adat)függvényazelsőnumerikusértéktőlamásodikigterjedőrészétadjaabenneszereplőstring-adatnak.

Mindezeketfigyelembevéveakövetkezőképletszolgáltatjaegy-egyuserIP-címét:substring_between(locchar_back(`:`, length(Hostname), Hostname)+1,length(Hostname),Hostname)

Készítsünk olyan új IP nevűmezőt,melyminden eseménynél az eseményt indító user IP címéttartalmazza!(Szövegestárolásúadatoklegyenek.)

EhhezegyDerivenode szükséges. SzúrjukbeaWebMiningnode utánközvetlenülésamegadottképletetírjukbeabeállításaihozakövetkezőmódon:

Most a táblához egy „bejelentett”, „belső” és „külső” usereket jelző mezőt kellenehozzávenni. A bejelentettek rekordjaiban azAuthorizedUserName mező nem üres. Akövetkezőfeltétellellehetpéldáulezeketkiválasztani:length('AuthorizedUserName')>0

AbelsőuserekIPcímevagy10-esselkezdődik,vagy193.224.74-gyelvagy193.225.199-cel. Ezek kiválasztásához szükség lesz a STARTSTRING(numerikus adat, string-adat)

Page 211: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

függvényre, mely a numerikus értéknek megfelelő betűszámú részét adja a string-adatnakazelejétőlkezdve.

Akövetkezőfeltételtehátéppenabelsőuserekrekordjairaleszigaz:startstring(3,IP)="10." or startstring(11,IP)="193.224.74." orstartstring(12,IP)="193.225.199."

Készítsünk olyan új usertípus nevű mezőt, mely minden eseménynél az eseményt indító usertípusáttartalmazza!(Lehetségesértékei:"bejelentett","belső","külső"–szövegestárolásúadatok.)

Ehhez egy újabb Derive node szükséges. Mivel háromféle szöveges értéket kelltartalmazzon,ezértSettípusúmezőtkelllétrehoznunk.Szúrjukbeazelőzőnodeutánésállítsukbeabeállításaitakövetkezőmódon:

AzeseményekusertípusszerintimegoszlásátmárkönnyenkiirathatjukegyPlotnode-dal.Tegyükmeg!

Page 212: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Lehet,hogyegyuserheztöbb,amásikhozkevesebbeseménytartozik.

Tároljukegymezőben,hogymelyikuserekhezösszesenmennyieseménytartozik!

EgyAggregatenodemegtesziezt:

Amegadottbeállításokkalmindenrekordegyusertfogjelenteni,melletteausertípusésahozzátartozórekordok(események)számafogtartozni.

Egytáblábaneztmegistekinthetjük,7775darabusertkaptunk:

Page 213: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

Jelenítsükmegazuserekusertipusszerintimegoszlását!

EhhezegyDistributionnode-raleszszükség.Afuttatáseredménye:

Látható,hogyazelőzőmegoszlásigrafikonhozképestazarányokváltoztak.Habelegondolunk,ezarrautal,hogyabelsőésabejelentettuserektöbbetdolgoztak(többeseménytgeneráltak)aportálon,mintakülsőlátogatók.

Számítsukki,egyuserhezátlagosanhányeseménytartozik!

EztegyStatisticsnodeszámítjakinekünk,akövetkezőbeállításokkal:

Page 214: Bevezetés az Üzleti adatbányászatba SPSS Modeler ...gain.wsuf.hu/sites/default/files/fajlok/Bevezetés... · UPPERTOLOWER(STARTSTRING(1,MAGYAR)(1)) A képlet megértéséhez meg

A futtatás eredménye adja az egy userre eső események átlagos számát, legkisebb éslegnagyobbértékét,illetveszórását:

Mivelazegyvisitreesőeseményekátlagosszáma25,ebbőlmegbecsülhető,hogyegyuserreátlagosanmásfélvisitesik–ezttermészetesenaClementine-nalpontosanismeglehethatározni.

Gyakorlófeladatok:

Egészítsükkiazeseménytáblátúgy,hogya/konyvtar/URL-töredéknekmegfelelőeseményeketisfigyelhessük!(Ezekafőiskolaikönyvtárweb-oldalairairányulókérések.)

Nézzükmegakönyvtáreseményeitazesemény-statisztikákban!

Készítsünk olyan új mezőt, melynek segítségével kimutathatjuk, milyen százalékos aránybanfordulnakelő0hosszúságúvisitek!

Készítsünk olyan új mezőt, melynek segítségével kimutathatjuk, milyen százalékos aránybanfordulnakelőkétóránálhosszabbvisitek!

Készítsük el a különböző userek visitre vonatkozó statisztikáit! A visiteket aggregáló node-nálállítsuk be aK E Y F I E L D S beállításnál az User ID-t is, és ezután aggregáljunk User ID szerint!Számíttassukkiezutánazegyuserreesővisitekszámát!

Számítsukki,hányeseménytartozikátlagosanegybelső,egykülsőésegybennfentesuserhez!