2007/2008. tanév II.(tavaszi) félév
ELTE, 5PTM, IKP-4IK4G (GYAK  SAS része)
Az információ-kezelés elmélete és gyakorlata/4.
1.cs. Kedd 14:00-től 15:30-ig D-00.807 ABlabor
2.cs. Kedd 15:45-től 17:15-ig D-00.807 ABlabor

1. Követelmények, infók
> 1.1. A gyak.célja/előfelt.
> 1.2. Követelmények
> 1.3. ZH eredmény
> 1.4. Indexbeíratás
2. Tematikák, segédanyagok
> 2.1. Előzetes heti tematika
> 2.2. Gyak. anyaga (jelszóval)
> 2.3. Tudnivalók a SAS zh-ról
> 2.4. SAS mintazh és útmutató
3. Adatbányászat/SAS linkek
> 3.1. Ajánlott irodalom
> 3.2. magyar nyelvű linkek
> 3.3. angol nyelvű linkek
> 3.4. SAS /SAS OnlineDoc
 
Budapest, 2006. február 6.
Utolsó módosítás: 2008. ápr.18.   
dr. Hajas Csilla, ELTE IK
E-mail: sila@inf.elte.hu      
 
Vissza a Kezdőlapra 
 

1. KÖVETELMÉNYEK, INFÓK

1.1. A gyakorlat célja és előfeltétele

„Az információ-kezelés elmélete és gyakorlata/4.” tantárgy gyakorlata két csoportban
ELTE 5.éves programtervező matematikusok részére az 00-807 Adatbázis-laborban.
Ebben a félévben két fő témakört dolgozunk fel, különböző gyakorlat-vezetőkkel:
I.témakör: XML (Hernáth Zsolt) – tavaszi szünet előtt (2008. febr.11-tól -márc.18-ig), 
II.témakör: SAS  (Hajas Csilla) – tavaszi szünet után (2008. márc.26-tól-május 16-ig).
„The SAS System, Release 9.1 for Windows” környezetben a SAS rendszer áttekintése:
SAS programozás [baseSAS 9.1] és Adatbányászati elemzések [Enterprise Miner 5.2],
ezen az oldalon ehhez a II. SAS témakörhöz található szervezési és egyéb információ.

Célkitűzés: SAS programozási alapok elsajátítása, a SAS eszközeire épülő magas szintű
adatfeldolgozás, és az adatbányászati algoritmusok a SAS/Enterprise Miner szoftverrel.

HF.  -- Kérlek, küldj be linkeket, ha az interneten  nézelődve látsz jó adathalmazokat!
        -- lásd  Public Datasets links  (publikus adatok - az adatbányászati elemzésekhez)

A tantárgy felvétele: Az ETR-en keresztül lehet jelentkezni. Előfeltételek: Inf.kez.3.

1.2. Követelmények (a gyakorlati jegy szerzése)

Gyakorlati jegyet az szerezhet, aki részt vesz a gyakorlatokon (min. 60%-os jelenlét),
és bemutatta az XML beadandót (Hernáth Zsoltnál) valamint megírta a géptermi Zh-t
SAS-ból (Hajas Csillánál). A gyakorlati jegyet a két jegy átlaga alapján számoljuk,
féljegy esetén a kerekítés irányát (felfelé vagy lefelé) az órai aktivitás határozza meg.

1.3. SAS ZH eredménye (Név helyett 3 karakteres kóddal)

A gyakorlati jegyet a „SAS zh jegy” és az „XML beadandó jegy” átlaga adja meg.
SAS ZH eredménye és a gyakorlati jegyek (ETR azonosító első 3 karakterével)
>> lásd SASzh_gyj08f.pdf  (vagy ugyanez Excel táblázatban: SASzh_gyj08f.xls )

Pontozás:
2 pont/ feladat, ha jó a megoldás és az eredmény is,
1 pont/feladat, ha jó a megoldás, de hibás vagy hiányzik az output,
0 pont/feladat, ha nincs vagy rossz a megoldás.
--------------
össz.10 pontot lehetett szerezni (az 5 feladatra)

Ponthatárok: 
Pont: 0-1 2 3 4 5 6 7 8-10
Jegy: 1   2   2/3   3   3/4   4   4/5 5

1.4. Gyakorlati jegyek indexbeíratása

* május 13. kedden az utolsó gyakorlaton az 00-807 Adatbázis laborban,
* május 21. szerdán 10:00-12:00 a gyakUV alatt 2-520 MI laborban.

2008. május 20-tól július 1-ig
* Hétfő 10:00-12:00-ig Déli Tömb II.em. 2-503 tanszéki szoba,
* IP-cATP/cIRF vizsgák első fél órájában (lásd Vizsganapok).

2. TEMATIKÁK, SEGÉDANYAGOK

2.1. Előzetes heti tematika

SAS 7.hét
2008. ápr.1.
SAS Programok/1
PROC step
SAS rendszer SAS fejlesztő környezet:
SAS terminológia: SAS data set (tábla)
változó(oszlop), obs/megfigyelés (sor).
SAS programok: DATA step, PROC step.
PROC steps (részletesen): proc contents,
proc print, proc sort, proc freq, proc means,
proc report, proc tabulate, proc gchart, stb.
SAS 8.hét
2008. ápr.8.
SAS Programok /2
 DATA step
DATA steps: infile, input (SAS data sets
létrehozása, nyersadatok beolvasása)
file, put (kiíratás SAS data sets-ből, stb).
Változók használata: drop, keep.
Összefűzés/fésülés: append, merge.
Az if elágazás és a ciklusutasítások.
SAS 9.hét
2008. ápr.15.
Enterprise Miner /1


SEMMA:
1. Sample (minta)


2. Explore (feltárás)
 
SAS EM használata (library létrehozása,
       adatfájl importálása ->SAS data sets,
       EM project és diagram létrehozása)
Adatbányászati eszközök csoportosítása:
Input Data Source (input adathalmaz)
Sample (mintavételezés)
Data Partition (training, validation, test)
Cluster (klaszterezés)
MultiPlot (grafikus bar chart, scatter plot)
StatExplorer (eloszlások, statisztikák) 
SAS 10.hét
2008. ápr.22.
Enterprise Miner /2
2. Explore (feltárás)

3. Modify (adatm.)


Az új Enterprise Miner 5.2 környezet.
Association (asszociációs szabályok,
gyakori hz keresése, szekvencia elemzés)
Filter Outliers (kiugró értékek szűrése)
Impute (hiányzó értékek pótlása)
Transform Variables  (változó transzf.)
SAS 11.hét
2008. ápr.29.
Enterprise Miner /3
4. Model (modell)


5. Assess (kiérték.)
Utility (segédeszköz)
Osztályozás és előrejelzés:
Regression (lineráris és logisztikus)
Decision Tree (döntési fa)
Neural Network (neurális hálózat)
Score, Model Comparison, Assess
Metadata, SAS Code
SAS 12.hét
2008. máj.6.
Gépes számonkérés Részleteket lásd az alábbi menüpontban:
2.3. Tudnivalók a SAS zárthelyiről
2.4. SAS mintaZH és javítási útmutató 
utolsó 13.hét
2008. máj.13.
Javító dolgozat Gyakorlati jegyek lezárása és indexbe
való beíratása. + SAS javító dolgozat
+ XML beadandó (akinek még nincs)

2.2. A SAS gyakorlatok anyaga (jelszóval)

SAS programozás

Az 7-8. gyakorlatok SAS programozás mintaprogramjai (magyarázó szöveggel),
a SAS adatokat másold be az írható 'S:\My Documents\sasgyak\'  könyvtárba,
és a SAS programban állítsd be: libname sasgyak 'S:\My Documents\sasgyak\';

      PDF bemutató Mintaprogramok  SAS adathalmazok 
 7. ápr.1. ProcStep.pdf ProcStep08f.sas szemely.sas7bdat
 8. ápr.8. DataStep.pdf DataStep08f.sas SASdataProgr/ 

További alapSAS dokumentáció: SAS 9.1.3 Documentation oldalról például:  
> SAS alapok > SAS 9.1.3 Language Reference: Concepts (651 oldal)                        
> SAS proc step > Base SAS 9.1.3 Procedures Guide (1906 oldal)
> SAS data step > Step-by-Step Programming with Base SAS (788 oldal)

SAS Enterprise Miner

A 9-11. gyakorlatok Adatbányászat összefogalói Han-Kamber Slide-jai alapján
az Enterprise Miner bemutatók a SAS EM Help alapján készültek (EMiner.pdf).
Jól használható SAS doc: Getting Started with SAS Enterprise Miner 5.2 (152 oldal)

Az előző tanévben IKP-4IK1E kurzuson dr. Kiss Attila előadásain már tanulták
lásd 2007.őszi félév: Az információkezelés elmélete és gyakorlata (IKP-4IK1E)
az Adatbányászat és adattárházak alapjait 074ik1e02.ppt (jelszavas bemutató)
Erre épül most másfél éves csúszással ez az adatbányászati technikák gyakorlatunk.

     Han-Kamber Slides
SAS EM bemutató  SAS adathalmazok 
 9. ápr.15. Klaszterezés 07.ppt E1Miner08f.pdf SASdataEMiner/ 
10. ápr.22. GyakoriHalmaz 05.ppt E2Miner08f.pdf SASdataEMiner/ 
11. ápr.29. Osztályozás 06.ppt
E3Miner08f.pdf SASdataEMiner/ 

SAS adathalmazok az SASdataEMiner/ (jelszavas) könyvtárból tölthetőek le.
A SAS adatokat másold be az írható 'S:\My Documents\sasgyak\'  könyvtárba,
sajnos az új SAS Miner konfigurálása nem látja ezt az S: meghajtót, csak T:-t,
ezért másold át a szintén írható 't:\sasgyak\' könyvtárba is, mert ebben dolgozunk.

Továbbá sok SAS minta adathalmaz elérhető, ezekhez is beállítjuk a könyvtárat.
Indítsuk el a SAS Enterprise Miner 5.2 programot, hozzunk létre egy új projectet
Path: t:\sasgyak\ könyvtárban és az új project Start-Up Code-jába írjuk be:
libname sasgyak 't:\sasgyak\';
libname dmadatok 'c:\Program Files\SAS\SAS 9.1\dmine\sample';
libname egadatok 'c:\Program Files\SAS\Enterprise Guide 4\Sample\Data';
További technikai információ és a feladatok a fenti EMiner.pdf bemutatókban.

12.) máj.6. géptermi Zh 14:00-től és 15:45-től az 00-807 Adatbázis laborban
13.) máj.13. SAS javító Zh az 00-807 Adatbázis laborban + indexbeíratás
Gyak.UV. május 21. szerda 10:00-12:00 az 2-520 Mest.Int. laborban
>> 2.3. Tudnivalók a SAS zárthelyiről és
>> 2.4. SAS mintaZH és javítási útmutató (2007-es mintaZH)

2.3. Tudnivalók a SAS zárthelyiről

Gyakorlati jegyet csak az szerezhet, aki az XML és SAS részt is teljesítette:
SAS gépes számonkérés a 12. gyakorlatokon 2008. május 6-án lesz.

A zárthelyi dolgozat zártkörű, vagyis a dolgozatírás alatt csak a gyakorlaton résztvevő
dolgozatot író hallgatók tartózkodhatnak a laborban (hozzatok személyi azonositó iratot).
A zh-n segédeszköz használható, SAS Help, SAS OnlineDoc dokumentáció, könyvek,
az internetről a SAS honlapjáról vagy egyetemi honlapokról letölthető SAS oktatási anyagok,
az órai példák is felhasználhatók, de egymás segítsége nem, csak önálló munkát értékelek!
A zh alatt tilos mobiltelefont használni, e-mailezni vagy egyéb módon üzengetni!

Kérdezgetni a dolgozat alatt már nem lehet! A feladatokat az alapSAS 9.1 és az Enterprise
Miner 5.2 
szoftverrel oldjuk meg, de használható az Enterprise Guide és E.Miner 4.3 is.

A kiosztott feladatlapot be kell adni, írja rá a nevét és az ETR_azonosítóját (EHA-kód).
A feladatlapon konkrét kérdések is találhatók az eredményekkel kapcsolatban, amelyekre
a választ a feladatlap kitöltésével kell megadni, illetve lesz egy kifejtős feladat is a lapon.
A feladatokban szereplő SAS adattáblák a ZH alatt letölthetők lesznek a feladatlapon
feltüntetett helyről. Sokféle feladatlap lesz, így mindenki különböző táblákból dolgozhat.

Az 1-2. feladatok megoldásait a SAS progr.nyelvén (DATA és PROC steps) adjuk meg,
a programokat lefuttatva a SAS forráskódot és az  „Output” ablak tartalmát összefűzve
egyetlen fájlban helyezzük el. A feladatlapon szereplő kérdésekre (csak ezekre) válaszoljunk!

A 3-4. feladatokat
a SAS Enterprise Minerrel végezzük el, itt (ha nem nagy) küldjük be
a SAS EM által generált SAS forráskódot valamint ahol van „Output”ablak (és nem nagy),
ennek a tartalmát is fűzzük hozzá a szövegfájlhoz. A „Results” eredmény alapján válaszoljunk
a feladatlap kérdéseire. Az 5. feladat valamelyik Adatbányászati eszköz rövid „kifejtése”.
 
Kérem, hogy az 1-2 feladatok SAS forráskódját és a 3-4 feladatok „SAS Code” illetve
„Output” tartalmát egyetlen szövegfájlba másolja össze. A szövegfájlban a feladatlapon
megadott kérdések sorrendjét kövesse valamint megjegyzésekkel világosan különítse el,
hogy melyik rész melyik feladathoz illetve melyik részfeladathoz tartozik. A szövegfájl neve
ehakod.txt legyen, ahol az ehakod helyére írja be a saját EHA-kódját, vagyis az ETR
azonosítóját (.ELTE nélkül). Ha kész van, akkor ezt az ehakod.txt fájlt anonymous FTP-vel
töltse fel az ablinux.inf.elte.hu gépre pub/sila alkönyvtárába. Részletek, lásd zh beküldése.
Azonban a fájlt csak egyszer küldheti át, az nem írható felül és nem is nyitható meg!

2.4. SAS mintaZH és javítási útmutató pontozással

MINTA: SAS zárthelyi dolgozat (2007-es E-csoport feladatsora) PONTOZÁSA
Pontozás: minden feladat 3 pontos, összesen 5 feladat van, vagyis 15 pont érhető el.

A feladatokban szereplő SAS adathalmazok az alábbi könyvtárban találhatóak:
'C:\Program Files\SAS\Enterprise Guide 4\Sample\Data'

1. feladat: Készítsünk statisztikát a FITNESS adathalmazról a „Maximum heart rate”
cimkéjű változó (maximális pulzus) alapján: mennyi az átlag, a szórás és a medián?

1. feladat pontozása:
A programra 2 pont, 1 pont: proc means data = libname.fitness mean std median;
így pl. aki std (stddev) szórás helyett range-t használt, ezt az 1 pontot elveszítette,
1 pont: var maxpulse; vagyis itt a változó neve kell, nem pedig a címke (Label),
és a lapon a kérdésére a válasz is 1 pont (de a std hiba miatt nem vontam le újból).

2. feladat: Készítsünk gyakorisági statisztikát a CARS_1993 adathalmazról, a „drága”
autóknak (ahol Price alapján 15 alatt olcsó, 15 és 25 között átlagos és 25 felett „drága”)
hány százaléka „erős” (ahol Horsepower alapján 150 alatt gyenge, 150 felett erős).

2. feladat pontozása:
A proc format-ra 1 pont, proc freq-re 1 pont, és 1 pont a lapon a kérdésére adott válasz,
de csak a jó válasz (például itt 85% a megfelelő érték, de ha nem jó értéket írt ki, vagy
a teljes kereszttáblát kiírogatta, az nem ér pontot, csak a kérdésre adott pontos válasz).

3. feladat: Készítsünk klaszter-elemzést LIPID adathalmazra, melynek során soroltassuk
3 csoportba a vérzsirszinteket. Előtte tanulmányozzuk át az adatokat, milyen változókat
vennél figyelembe, az adatok hány százaléka hiányzó érték? Mennyi a koleszterin szint
(Cholesterol) átlaga az előállt klaszterekben?

3. feladat pontozása:
1 pont: a megfelelő változók kiválogatása, például interval változók (ne binary, ne ordinal),
itt a példában a változók egy részére 55% a hiányzó érték, ezeket ne vegyük figyelembe,
hiszen a változók zöménél 0% vagyis nincs hiányzó érték, így inkább ezekre készítsük el.
1 pont: a standardizálásra, a beküldött outputból tudom ellenőrizni, hogy melyik opciót
(None, Range vagy Std Dev.) választotta (a None az nem jó, hogy nem standardizált),
1 pont: a lapon a kérdésére adott válasz, a standardizálás miatt ne az Output fülből,
hanem a Statistics fülből kell kiírnunk a klaszterátlagot.

4. feladat: Készítsünk regressziós elemzést a AUCTION adathalmazra, melynek során
vizsgáljuk meg, hogyan hat a piac működési költségére (Cost) az, hogy melyik állatból
mennyit adtak el a piacon (a táblában ezresekben vannak az adatok megadva).
Előtte tanulmányozzuk át az adatokat, milyen változókat ne vegyük figyelembe?
(például a Volume-ot ne). A regressziós elemzés alapján melyik a legmeghatározóbb
paraméter és mi a t-értéke?

4. feladat pontozása:
A programra 2 pont, nincs különösebb teendőnk, mint az Input Data Source-ban beállítani
a fenti példában Cost target és Volume rejected (a többi marad input, illetve a Marketid id),
a feladatlap kérdésére a helyes válasz 1 pont (pl. legmeghatározóbb a cattle és t-érték:7.62).

5. feladat: Az adatok előkészítésének, az adattisztítás folyamatának egy rövid kifejtése.

5. feladat pontozása:
Ez is 3 pontos feladat, mint a többi, de a kifejtésnél nem a mennyiséget, hanem a minőséget
értékeltem inkább, mennyire értette meg az adatbányászati technikák /módszerek lényegét.

Ponthatárok:
Pont: 0-6 7 8 9 10 11 12 13-15
Jegy: 1   2   2/3   3   3/4   4   4/5 5

3. ADATBÁNYÁSZAT/SAS LINKEK

3.1. Ajánlott irodalom
3.2. magyar nyelvű linkek
3.3. angol nyelvű linkek
3.4. SAS / SAS OnlineDoc

3.1. Ajánlott irodalom

[AbJ]
[Han]
[AdZ]
[IA2]

Abonyi János (szerk): Adatbányászat a hatékonyság eszköze, Comp.Books, 2006.
J.Han-M.Kamber: Adatbányászat – Koncepciók és technikák, Panem, 2004.
P.Adriaans-D.Zatinge: IT - Adatbányászat, Panem, 2004.
Iványi Antal (szerk): Informatikai algoritmusok II., ELTE Eötvös Kiadó, 2005.
                                28. fejezet Gyakori elemhalmazok keresése (Bodon Ferenc)
                                29. fejezet Klaszterezés (Fogaras Dániel és Lukács András)
 

3.2. magyar nyelvű linkek

Bodon Ferenc (BME) Adatbányászati algoritmusok (PDF kiváló könyv a weben)
Kiss Attila (ELTE) Az információkezelés elmélete és gyakorlata (IKP-4IK1E) itt:
                   Adattárházak/adatbányászat 074ik1e02.ppt (jelszavas bemutató)
Lukács András (SZTAKI) Adatbányászat előadás 2005-ös diái
Lukács András (SZTAKI) Adatbányászat szeminárium
Sidló Csaba (SZTAKI) ELTE SAS gyak.(2004/2005. tanév)
Sidló Csaba (SZTAKI) Data Warehouse - Adattárház
SZTAKI Data Mining and Web Search Group
Adatbanyaszat.lap.hu
Magyar Adatbányászok Honlapja

3.3. angol nyelvű linkek

J.Han - M. Kamber: Data Mining: Concepts and Techniques (SLIDES)
Jeffrey D. Ullman honlapján Data Mining Lecture Notes oktatási anyag
UCLA > Stat.Comp. > SAS Resources to help you learn and use SAS

-- Kérlek, küldj be linkeket, ha az interneten  nézelődve látsz jó adathalmazokat!
-- lásd  Public Datasets links  (publikus adatok - az adatbányászati elemzésekhez)

3.4. SAS/SAS OnlineDoc (SAS Product Documentation)

Angol nyelven:
SAS honlapja: SAS
SAS Technikai támogatás             
 
SAS Product Documentation    
SAS Technical Papers 
 
Magyarul:
SAS Magyarország 
Egyetemi Program
   

SAS diákklubja: SAS Masters' Club
SAS Egyetemi Program az ELTE-n                  



Fel a Lap tetejére                                      Vissza a Kezdőlapra