Adatbányászat

122
7/21/2019 Adatbányászat http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 1/122 IN-606 1 IN-606 Adatbányászat

description

adatbányászat jegyzet duf/due

Transcript of Adatbányászat

Page 1: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 1/122

IN-606 1

IN-606Adatbányászat

Page 2: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 2/122

IN-606 2

A tárgyról• Követelmény: f? ,zh-k, beadandó feladat…

• Irodalom: – Jiawei Han-Micheline Kamber Adatbányászat koncepciók és technikákPanem Kiadó 2004 (5900)

– Abonyi János szerk.Adatbányászat a hatékonyság eszközeComputerBooks 2006 (4900)

– Pieter Adriaans – Dolf Zantig: AdatbányászatPanem kiadó 2002

(2900) – Bodon Ferenc: Adatbányászati algoritmusok(http://www.cs.bme.hu/~bodon/magyar/adatbanyaszat)

– O:\InfInt\In-606\ -ben

Page 3: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 3/122

IN-606 3

Hasznos források :• IBM Intelligent Miner for Data:http://www.ibm.com/university/scholars

• DBMiner:http://www.dbmier.com• Enterprise Miner:

http://www.sas.com/products/miner/index.html• (Cygron DataScope http://www.cygron.hu)• http://www.datamining.hu• http://www.adatbanyaszat.hu

• O:\infint\in-606 O:\infint\in-606\WEKA• SAS, CLEMENTINE, …

Page 4: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 4/122

IN-606 4

Bevezető• Zantig és/vagy Han-Kamber 1 fejezete.

Page 5: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 5/122

IN-606 5

Az adatok összegyűjtése• Sok forrásból, azok működésének

megzavarása nélkül → adattárház építés• Az adatgyűjtés, előkészítés,

előfeldolgozás az adatbányász projektidejének, feladatainak 60-70%-át iselérheti.

Page 6: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 6/122

IN-606 6

Adattárházügyfél

Adattárház

forrás 1 forrás 2 forrás n

Lekérdezés és elemzés

Adategyesítő

Meta adatok

adatbányász

Adattárház építés

Page 7: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 7/122

IN-606 7

Adattárház-építésEltérő adatbázisokból(más-más attribútumnevek, mértékegységek, kategóriák,

stb.!)INSERT INTO adattárház

SELECT … FROM Forrás1 WHEREINSERT INTO adattárház

SELECT … FROM Forrás2 WHERE …

Page 8: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 8/122

IN-606 8

Az egyik forrás-adatbázis (részlete)

create table ceg(szam decimal(4) PRIMARY KEY,

nev char(55), varos char(25),utca char(40), irsz char(10),varost char(25), utcat char(40),

irszt char(10), szem1 char(30),telfax1 char(40), szem2 char(30),telfax2 char(40), bank char(40),ado char(40),forgv decimal(15,4),tartv decimal(15,4),forgb decimal(15,4),tartb decimal(15,4),forgb2 decimal(15,4), uk decimal(1),email char(40), www char(40),fizm char(1), fhatid char(10),szmod char(1)

);

A másik forrás-adatbázis (részlete)

create table partner(azonosito decimal(5) PRIMARY KEY,

megnevezes char(60),telepules char(25),kozterulet char(40),

iranyitoszam char(10),kapcsolattarto char(30),tel_fax char(40),bankszam char(40),adoszam char(40),forgalom decimal(15,4),tartozas decimal(15,4),

uzletkoto decimal(1),email char(40), www char(40),fizm char(1), fhatid char(10),

szmod char(1));

Sok eltérés, az attribútumok számában, megnevezésében, méretében és jelentésében. (Pl. forgalom = forgv+forgb )Értelmezési gondok pl. szabadságba a munkaszüneti napok beszámítanak-evagy sem pl. szabadság aug1-aug20; ár: nettó v. bruttó; ár: 1 db-5db-100db …?

Page 9: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 9/122

IN-606 9

Meg kell határozni az építendő adattárház tábláit, egy lehetséges megoldás:

Ekkor a felépítő utasítások:

Page 10: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 10/122

IN-606 10

Adatok előkészítése 1Eltérő mértékegységek

1 hüvelyk (col) = 2,54 cm1 láb = 30,48 cm1 yard = 3 láb1 mérföld = 1,609 Km (Angol mérföld)1 tengeri mérföld = 1,853 Km

1 liter = 1,76 pint1 gallon = 3,79 liter 1 kg = 2,2 fontxC°=(9x/5 + 32)F° (pl.: 36,6 C° = 97,8 F°)1 € = ? Ft … (változik is !)02/03/04 milyen dátum? 2003 feruár 4, vagy 2002 március 4, vagy …A csomagolás egysége (amire a többi adat, ár, súly, … vonatkozik)…

Page 11: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 11/122

IN-606 11

Ha tehát a ceg táblában a forgalmi adatok Ft-ban, a partner táblában ahasonló adatok €-ban szerepeltek, és az adattárház cegek táblájában is €-ban kívánjuk a forgalmi adatokat kezelni, feltételezzük továbbá, hogy 1

€=257 Ft, akkor az adattárház építésekor a helyes utasítás:

Page 12: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 12/122

IN-606 12

Adatok előkészítése 2Fogalom-hierarchiák megalkotása/figyelembevétele(a háttértudás felhasználása)

SQL csak egy hierarchiaszint kezelésére alkalmas, ha az adatbázis erre felkészült,(ha az attribútumértékekből kideríthető, hogy egy szinttel feljebb mely csoportba tartozik)DMQL az egész hierarchiáéra

Page 13: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 13/122

IN-606 13

Adatok előkészítése 3Folyamatos attribútumok – kategorikus attribútumok

Folyamatos: súly, hőmérséklet, …Kategorikus: étel, betegség, szakma, …fogalom-hierarchiával erősen összefügghet

Van értelmezhető távolság (folyamatos, kategorizálható)Nincs értelmezhető távolság (|tej-kifli| ? |banán-felvágott|)

Page 14: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 14/122

IN-606 14

Adatok előkészítése 4Redundancia:• Egyszerű ismétlődés →kiküszöbölése: SELECTDISTINCT…• Származtatott: összesítések• Összefüggések: korreláció-analízis (regresszió, lineáris, nem-lineáris …)

Zaj:• Adatokra rakódott véletlen hiba (tényleges hiba, kerekítés, stb.) mérése:szórás

a szórás négyzete (szórásnégyzet) a variancia.

N

x x N

i

i∑=

−= 1

2)(σ

Ahol x1, x2,…, x N az adatpontok,

N : az adatpontok száma,

: az adatpontok átlaga x

Page 15: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 15/122

IN-606 15

Pl. 1; 2; 3; 4; 5; 3; 4; 10 szórása:

Page 16: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 16/122

IN-606 16

Adatok előkészítése 5Diszkretizálás, de hogyan →szakterületi szakértő

Normalizálás:célja: összehasonlíthatóvá tételpl.: (…hőmérséklet,…,kereset,…) nagyon más arányok, nagyon más

távolságokhoz vezetne, félrevezető lehet. Ha azonos intervallumra

transzformáljuk más összehasonlíthatóbb lesz.

Page 17: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 17/122

IN-606 17

Normalizálás• min-max normalizálás(ill. bármilyen intervallumra vonatkozó

normalizálás)

minújminújmaxújminmax

min x xúj _ ) _ _ ( _ +−

−=

Pl. 1; 2; 3; 4; 5; 3; 4; 10 min-max normalizálása a 0-100 intervallumra:

Page 18: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 18/122

IN-606 18

Normalizálás• zéró-átlag normalizálás (standardizálás)

szórás

átlag x xúj

−= _

Pl. 1; 2; 3; 4; 5; 3; 4; 10 zéró-átlag normalizálása :

Page 19: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 19/122

IN-606 19

Feltáró jellegű adatelemzésAdatok jellegzetességei meghatározásaÁtlagok:

∑==

N

i i x

N x

1

1

Pl. 1; 2; 3; 4; 5; 3; 4; 10 számtani közepe =Számtani közép:

Mértani közép: N

N

ii geom x x ∏

==

1

∑=

= N

i i

harm

x

N x

1

1

Pl. 1; 2; 3; 4; 5; 3; 4; 10 mértani közepe =

Harmonikus átlag:

Pl. 1; 2; 3; 4; 5; 3; 4; 10 harmonikus átlaga =

Használatosak súlyozott átlagok is.

Page 20: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 20/122

IN-606 20

Medián: a rendezett elemsor középső eleme vagy a két középső elem átlagaPl. 1; 2; 3; 4; 5; 3; 4; 10

Módusz: a leggyakrabban előforduló érték (ha több is van, akkor a halmaz többmóduszu,

lehet, hogy egy sincs)Pl. 1; 2; 3; 4; 5; 3; 4; 10 móduszai: 3 és 4

k -adik percentilis: az az x érték, melyre teljesül, hogy a halmaz elemeinek k százalékakisebb, mint x.

Pl. ha a 16. percentilis értéke 20: azt jelenti, hogy egy 100 elemű halmazban 16értékre igaz az, hogy kisebb 20-nál.Első kvartilis(Q1): a 25. percentilis.Második kvartilis(Q2): az 50. percentilis (éppen a medián)Harmadik kvartilis(Q3): a 75. percentilis

Kvantilis:megadja, hogy az adott százalékhoz a rendezett halmaz melyik eleme tartozik,úgy, hogy a halmaz elemeinek k százaléka kisebb, mint x. Írásmódban a pl. 23%helyett a 0,23 forma használatos. Tehát pl a 0,25 kvantilis megfelel az elsőkvartilisnek.

Feltáró jellegű adatelemzés

Page 21: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 21/122

IN-606 21

Attribútumok együttes vizsgálata

Kovariancia:két vagy több attribútum lineáris kapcsolatát vizsgálja.

∑=

−−= N

iii y y x x

N Y X

1))((1),cov(

Például, ha az adathalmaz:

1020530162

0291326183

02812

02710……csapadék mm…max hőmérsékletnapsütés ó

Ekkor: cov(napsütés ó,max hőmérséklet) =cov(napsütés ó,csapadék mm) =cov(max hőmérséklet,csapadék mm) =

Átlag napsütés:Átlag hőmérséklet:Átlagos csapadék:

Page 22: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 22/122

IN-606 22

Attribútumok együttes vizsgálata 2Korreláció:két vagy több attribútum lineáris kapcsolatát vizsgálja

Y X

Y X Y X corr σ σ

),cov(),( =

Ekkor:corr (napsütés ó,max hőmérséklet) =corr (napsütés ó,csapadék mm) =

corr (max hőmérséklet,csapadék mm) =

Ha a korreláció erős ez egyrészt felismert összefüggés,

másrészt az attribútumok számának csökkentésére is módot ad, a továbbivizsgálatokhoz elég lehet csak az egyiket megtartani.

Napsütés szórása:Hőmérséklet szórása:Csapadék szórása:

Page 23: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 23/122

IN-606 23

Többdimenziós adatmodell - adatkockaAdatösszevonás.Az adattárház tényleges felépítése relációs adattár, vagy adatkocka.Az adatkocka dimenziói az adattárházséma egy-egy attribútumának felelnek

meg, az egyes cellák aggregált értékeket (pl. forgalom, darabszám) tárolnak.Összegzések a fogalomhierarchia szerint.

Az adatkocka belső cellái: elemi értékek; a egy-egy dimenzió menti felületein azösszesített értékek. ( Az összesítés itt bármilyen algoritmussal, az összetevőadatokból kiszámított érték lehet. Tényleges összesen, min, max, vagy bármimás, amely több lépésben számítva is értelmezhető.)

A mértékek a felhasznált összesítőfüggvény típusa szerint három osztálybasorolhatók: – Disztributív : ha az adatok részhalmazaira kapott eredményre alkalmazva ugyanazt

az eredmény adja, mintha a teljes adathalmazra alkalmaztuk volna. Pl.: count(),sum(), min(), max().

– Algebrai: ha disztributív összesítőfüggvények eredményeiből kiszámítható. Pl.:avg() kiszámítható: sum()/count(). – Teljes körű: ha egy alösszesítés leírásához szükséges tár méretére nincs

konstanssal megadható korlátozás. (nem adható algebrai függvény, mellyel arészeredményekből kiszámítható lenne). Pl.: median(), modus().

Page 24: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 24/122

IN-606 24

Példa adatkocka

Egész évi vásárlásTV-ből az USA-ban.Dátum

T e r m é k

O r s z á gössz

össz TV

rádióPC

1Név 2Név 3Név 4NévU.S.A

Kanada

Mexikó

össz

Page 25: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 25/122

IN-606 25

Jellegzetes kockaműveletek• Felgörgetés: adat összegzés

– a fogalmi hierarchiában felfelé haladással, vagydimenziócsökkentéssel.

• Lefúrás: a felgörgetés ellentéte – a magasabb szintű összegzéstől tart az alacsonyabb szinthez

vagy részletezett adathoz, vagy bevezet egy új dimenziót.• Szeletelés és kockázás• Forgatás (pivotálás)• Más OLAP műveletek

– Átfúrás: egynél több ténytáblázatot érintő lekérdezés. – Keresztülfúrás: SQL lehetőségeket hasznosítva keresztülfúrjaaz adatkocka alapját egészen a háttérben lévő relációstáblázatokig.

Page 26: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 26/122

IN-606 26

Az éppen vizsgált összegzés megadása

például csillagháló „lábnyommal”Szállítási módszer

LÉGI-EXPRESS

TEHERAUTÓ RENDELÉSEK

Vásárlási állapot

SZERZŐDÉSEK Vevő

Termék TERMÉK CSOPORT

TERMÉK VONAL

TERMÉK TÉTEL

SZEMÉLYES VÁSÁRLÓ

CÉG

IPARÁG

Szervezet

VÁROS

Megye

Régió

Hely

NAP NEGYEDÉVÉVIdő

Page 27: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 27/122

IN-606 27

Az adatkocka nézetei (példa)

összes

idő árucikk cím szállító

Idő, árucikk Idő, cím

Idő, szállító

Árucikk, cím

Árucikk, szállító

Cím, szállító

Idő, árucikk, cím

Idő, árucikk, szállító

Idő, cím, szállító

Árucikk, cím,szállító

Idő, árucikk, cím, szállító

0-D(tető

pont) nézet

1-D nézet

2-D nézet

3-D nézet

4-D(alap) nézet

Page 28: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 28/122

IN-606 28

Többdimenziós adatmodell sémái

• Csillagséma: központi ténytáblázathoz kapcsolódódimenziótáblázatok halmaza

• Hópehelyséma: A csillagséma egy változata, aholnéhány dimenziótáblázat (például a normalizálás miatt)adatai további táblázatokba kerülnek. (A sémagráf alakjahópehelyre hasonlít)

• Csillagképséma: A dimenziótáblákat több ténytáblázatmegosztja egymás között. (Ábrázolásban csillagsokaság,galaxisséma vagy csillagkép.)

Page 29: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 29/122

IN-606 29

Többdimenziós adatmodell sémáicsillagséma

idő_kulcsnaphét_napjahónapnegyedévév

Idődimenziótáblázat

cím_kulcsutca

városmegyeország

Címdimenziótáblázat

Értékesítés ténytáblázatidő_kulcs

árucikk_kulcs

üzlet_kulcs

cím_kulcs

darab_eladottdollár_eladott

átlag_forgalomTények,mértékek

árucikk_kulcsárucikk_névmárkatítusSzállító_típus

Árucikk dimenziótáblázat

üzlet_kulcsüzlet_névüzlet_típus

Üzletdimenziótáblázat

Page 30: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 30/122

IN-606 30

Többdimenziós adatmodell sémáihópehelyséma

idő_kulcsnapHét_napjahónapnegyedévév

idődimenziótáblázat

cím_kulcsutca

város_kulcs

címdimenziótáblázat

Értékesítés ténytáblázatidő_kulcs

árucikk_kulcs

üzlet_kulcshely_kulcs

darab_eladottdollár_eladott

átlag_forgalomtények,

mértékek

árucikk_kulcsÁrucikk_névmárkatípusszállító_kulcs

árucikkdimenziótáblázat

üzlet_kulcsüzlet_névüzlet_típus

üzletdimenziótáblázat

szállító_kulcsszállító_típus

Szállítódimt.

város_kulcsvárosmegyeország

városdimt.

Page 31: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 31/122

IN-606 31

Többdimenziós adatmodell sémái

csillagképsémaidő_kulcsnap

hét_napjahónapnegyedévév

idődimenziótáblázat

cím_kulcsutcavárosmegyeország

címdimt.

Értékesítés ténytáblázatidő_kulcs

árucikk_kulcs

üzlet_kulcscím_kulcs

darab_eladott

dollár_eladottátlag_forgalom

Measures

árucikk_kulcsárucikk_névmárkatípusszállító_típus

árucikkdimt.

üzlet_kulcsüzlet_név

üzlet_típus

üzletdimenziótáblázat

Fuvarozás ténytáblázat

idő_kulcsárucikk_kulcs

fuvarozó_kulcs

honnan_címhová_cím

dollár_költség

db_fuvarozott

fuvarozó_kulcsfuvarozó_névcím_kulcsfuvarozó_típus

Fuvarozódimt.

Page 32: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 32/122

IN-606 32

Többdimenziós adatmodell megadása

DMQL-lel (Data Mining Query Language)Kockadefiniáló utasítás (ténytáblázat)

DEFINE CUBE <kockanév> [<dimenzió_lista>]:<mérték_lista>

Dimenziódefiniáló utasítás ( dimenziótáblázat )DEFINE DIMENSION <dimenziónév> AS

(<attribútum_vagy_aldimenzió_lista>)

Speciális eset (osztott dimenziótáblázat - csillagképsémához)DEFINE DIMENSION <dimenziónév> AS

<dimenziónév> IN CUBE <kockanév>

Page 33: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 33/122

IN-606 33

Csillagséma megadása DMQL-ben

DEFINE CUBE értékesítés_csillag[idő, árucikk, üzlet, cím]:

dollár_eladott = sum(eladások_dollárban),átlag_forgalom = avg(eladások_dollárban),darab_eladott = count(*)

DEFINE DIMENSION idő AS (idő_kulcs, nap, hét_napja,hónap, negyedév, év)

DEFINE DIMENSION árucikk AS (árucikk_kulcs,árucikk_név, márka, típus, szállító_típus)

DEFINE DIMENSION üzlet AS (üzlet_kulcs, üzlet_név,üzlet_típus)

DEFINE DIMENSION cím AS (cím_kulcs, utca, város,megye, ország)

Page 34: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 34/122

IN-606 34

Hópehelyséma megadása DMQL-benDEFINE CUBE értékesítés_hópehely [idő, árucikk, üzlet, cím]:

dollár_eladott = sum(eladások_dollárban),átlag_forgalom = avg(eladások_dollárban),

darab_eladott = count(*)DEFINE DIMENSION idő

AS (idő_kulcs, nap, hét_napja, hónap, negyedév, év)

DEFINE DIMENSION árucikk AS (árucikk_kulcs, árucikk_név,

márka, típus, szállító(szállító_kulcs, szállító_típus))DEFINE DIMENSION üzlet

AS (üzlet_kulcs, üzlet_név, üzlet_típus)

DEFINE DIMENSION cím

AS (cím_kulcs, utca, város(város_kulcs, megye, ország))

Page 35: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 35/122

IN-606 35

Csillagképséma megadása DMQL-benDEFINE CUBE értékesítés [idő, árucikk, üzlet, cím]:

Dollár_eladott = sum(eladások_dollárban), átlag_forgalom =avg(eladások_dollárban), darab_eladott = count(*)

DEFINE DIMENSION idő AS (idő_kulcs, nap, hét_napja, hónap,negyedév, év)

DEFINE DIMENSION árucikk AS (árucikk_kulcs, árucikk_név, márka,típus, szállító_típus)DEFINE DIMENSION üzlet AS (üzlet_kulcs, üzlet_név, üzlet_típus)DEFINE DIMENSION cím AS (cím_kulcs, utca, város, megye, ország)

DEFINE CUBE fuvarozás [idő, árucikk, fuvarozó, honnan_cím,hova_cím]: dollár_költség = sum(költség_dollárban),darab_fuvarozott = count(*)

DEFINE DIMENSION idő AS idő IN CUBE értékesítésDEFINE DIMENSION árucikk AS árucikk IN CUBE értékesítésDEFINE DIMENSION fuvarozó AS (fuvarozó_kulcs, fuvarozó_név,

cím AS cím IN CUBE értékesítés, fuvarozó_típus)DEFINE DIMENSION honnan_cím AS cím IN CUBE értékesítésDEFINE DIMENSION hova_cím AS cím IN CUBE értékesítés

Page 36: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 36/122

IN-606 36

KlaszterezésAz adatokat az n dimenziós tér pontjainak tekintjük, ezekben keresünk

csoportokat.Távolságfogalom kell.Használatosak pl.: Minkowski távolság.Az n dimenziós tér, két, A (a1,…,a n) és B (b1,…bn) pontjai távolsága:

p=2 –re ez az Euklideszi, p=1-re a Manhattan távolság.

Pl.: Az A (3;2;10;-2;5)és B (10;1;8;2;7) pontok

Manhattan távolsága:

Euklideszi távolsága:Minkowski távolsága p=3 –ra:Minkowski távolsága p=4 –re:

p N

i

pii ba∑= −1 ||

Page 37: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 37/122

IN-606 37

Más távolságok is használhatók, pl.: négyzetes Mahalanobis távolság:( A - B )C -1( A - B )T , ahol C a mintahalmaz kovariancia mátrixa. E módon akülönböző tulajdonságokhoz a tulajdonságok szórásnégyzete alapjánkülönböző súlyokat rendel.

Kategorikus attribútumokkal is kezdeni kell valamit…→ irodalom

A csoportok távolságát is meg kell állapítani (átlagos, minimális,

maximális távolságokat használjuk, esetleg mást).

Klaszterező módszerek: egyesítő, felosztó vagy más.

Sok-sok módszer.

Page 38: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 38/122

IN-606 38

1. Választunk k elemet. (A ponthalmaz előzetes tanulmányozásával,vagy véletlenszerűen)

2. A pontokat soroljuk a hozzájuk legközelebbi elemhez.3. Számítsuk ki az így kialakult klaszterek új középpontjait.4. Ismételjük 2-3 lépéseket a megállási feltételig.

Megállási feltétel pl. a középpontok már nem (vagy valamilyen küszöbalatt) mozdulnak csak el.

Kérdés a k jó megválasztása. Előzetes elemzéssel, vagykísérletezéssel állapítható meg.

Ha az átlag nem használható (pl. kategorikus attribútumok esetében,akkor helyette a medoidot, az átlaghoz legközelebbi ténylegeselemet használjuk, s ekkor k -medoid algoritmusrólbeszélünk.)

A klaszterezés k -közép algoritmusa

(Forgy algoritmusa)

Page 39: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 39/122

IN-606 39

Példa a k -közép algoritmus alkalmazására

Klaszterezendő objektumaink A,B,C,D,E,F,Gkét: v1 és v2 értékkel jellemzettek:

65G4,53,3F4,13,8E54,3D

22,1C1,81,4B11Av2v1Objektum

1. lépés: legyen k = 2, a két kiválasztott kezdő középpont pedig: A és G(nem kell, hogy az elemek közül kerüljenek ki).

Page 40: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 40/122

IN-606 40

Példa a k -közép algoritmus alkalmazására (folyt.)

FEDCB

Távolság G-tőlTávolság A-tólObjektum2. lépés: az objektumok távolsága a kezdő közepektől:

két pillanatnyi klaszter: tehát

3. lépés: az új közepek kiszámítása:

Page 41: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 41/122

IN-606 41

Példa a k -közép algoritmus alkalmazására (folyt.)

GFE

DCBA

Távolság (4,1;4,9)-től

Távolság (1,5;1,6)-tól

Objektum

Ismételt 2. lépés: az objektumok távolsága az új közepektől:

Az új klaszterezés klaszterei tehát:

3. lépés: az új közepek kiszámítása: mivel a klaszterek nem változtak, így aközepek is ugyanazok.

4. lépés: nincs változás tehát megállunk, kialakultak a klaszterek.

Page 42: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 42/122

IN-606 42

animáció

Példák mutathatók jól és rosszul klaszterezhető esetekre

Page 43: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 43/122

IN-606 43

További klaszterező algoritmusokA felosztó módszerek általános lépései:

1. Soroljuk az objektumokatk klaszterbe2. Határozzuk meg a klaszterezés minőségi mérőszámát

3. Az objektumok egy részének egyik klaszterből másikba való átsorolásávalalakítsuk ki az újabb klasztereket.4. Ismételjük a 2.-3. lépéseket a megállási feltételig

Szükség van tehát egy a klaszterezés jóságát megadó mérőszámra,Megállási feltételre és valamilyen algoritmusra az átsorolásokhoz.

Gyakran alkalmazott mérőszám a klaszterezés teljes négyzetes hibája:

Ahol:C jelenti a kalszterezést, C j jelenti a kalszterezés j-edik klaszterét,c j ennek a klaszterközepét (centroidját vagy medoidját azerint, hogy melyikethasználjuk), || pedig a használt távolságot.

∑ ∑

−=

klaszter összes C x ji

ji

c xC E 2||||)(

Page 44: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 44/122

IN-606 44

Klaszterezés a WEKA-val:

Page 45: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 45/122

IN-606 45

Genetikus algoritmusok:A természetből (az élethez, a tanuláshoz szükséges) két elvet vesz át:

1. A legalkalmasabbak túlélési elve(itt: a legtöbb példa által igazolt döntés élhet tovább)

2. DNS típusú felépítés a kódolás céljára

Hátrány:• Nagyon sok egyedre van szükség ahhoz, hogy a kiválasztás jól

működhessen;• A folyamat tényleges lefutása kevéssé tervezhető.

Előny: megbízható, párhuzamosítható, valódi optimum felé halad.

Page 46: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 46/122

IN-606 46

Genetikus algoritmusok készítése

• A genetikus algoritmus probléma-megoldáshoz vezetőlépései: – a problémát (elegáns) kódolás segítségével vezessük vissza egyvéges ábécé feletti karaktersorozatokra vonatkozó feladatra – Keressünk az egyedek jóságát kifejező függvényt – adjunk meg módszereket, melyekkel a megoldásokból újabbakat

képezünk (keresztezés, mutáció, …) – hagyjuk, hogy a számítógép evolúciós játékot játsszon (állítsonelő nemzedékeket, mindig csak a legjobbakat tartsa meg,

melyekből állítson elő újabb nemzedéket – Határozzunk meg megállási feltételt

• Nagyméretű egyed-túltermelés esetén megbízható.• Nagy a műveletigénye, de viszonylag egyszerű azalgoritmus.

Péld tik l it h ál t

Page 47: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 47/122

IN-606 47

Példa: genetikus algoritmus használata

klaszterezésre

Teljes négyzetes

hiba egymódosítottja*

*A klaszterhez tartozó pontok távolságnégyzeteiösszegét használjuk a klaszterezés jóságánakmérésére.

Péld tik l it h ál t

Page 48: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 48/122

IN-606 48

Példa: genetikus algoritmus használata

klaszterezésre (folyt.)

A mutáció és a keresztezés szabályait és a jóságot mérő függvényt isalkalmasan kell meghatározni. E hármasnak együtt a generációk közöttkorlátos változású tulajdonságot kell mutatnia!

Page 49: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 49/122

IN-606 49

Példák a klaszterezés nehézségeire

nk

i

ik k n i

i

k

k S ∑

=

−=

0

)( )1(!

1Az összes lehetséges csoportosítások száma igen nagy, n pontot k csoportbasorolni:

módon lehetséges.(Stirling számok).

25 elemet 5 csoportba tehát 2.436.684.974.110.751 különböző módonoszthatunk szét. Ha a csoportok számát sem ismerjük, akkor több mint4·1018 féle csoportosítást kaphatunk.

megoldás lehet: sűrűség-alapú

klaszterezés

Kl i b é l

Page 50: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 50/122

IN-606 50

Kleinberg tétele

A klaszterező eljárásokkal szemben támasztott általános elvárások:

1. A skála-invariancia tulajdonság azt fejezi ki, hogy ha minden elempártávolsága helyett annak α (>0)-szorosát vesszük alapul, akkor aklaszterező eljárás eredménye nem változik.

2. A gazdagság tulajdonságának definíciója így hangzik: ''Tetszőleges előremegadott csoportosításhoz tudjunk megadni távolságokat úgy, hogy aklaszterező eljárás az adott módon csoportosítson.''

3. A konzisztencia azt fejezi ki, hogy ha már kialakultak valamilyen csoportokés ez után a csoporton belüli elemek hasonlóságát növeljük, a különbözőcsoportokban lévő elemek hasonlóságát pedig csökkentjük, akkor nemváltozik a klaszterezés.

Első hallásra meglepőnek tűnik Kleinberg tétele, amely szerint nem létezikolyan klaszterező eljárás, amely 1-nél nagyobb elemszám esetén afenti három tulajdonságot egyidejűleg teljesítené .

Osztályozás

Page 51: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 51/122

IN-606 51

OsztályozásAz osztályok számát ismerjük (pl. milyen hitelkategóriába soroljuk az ügyfelet…)

Az osztályozó modell előállításának-használatának a fő lépései:1. Tanuló minták segítségével osztályozó modellt készítünk.2. A modellt ellenőrző mintákkal ellenőrizzük.3. A modellt felhasználjuk.

A főbb osztályozó módszerek:• Legközelebbi szomszéd módszerek• Döntési fák• Lineáris és logisztikus regresszió• Mesterséges neurális hálózatok• Bayesi osztályozás• Társítási szabályokra támaszkodó technikák• Fuzzy következtetés

Page 52: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 52/122

IN-606 52

Osztályozásk -legközelebbi szomszéd módszerek.Alapgondolata: a hasonló attribútumú objektumok hasonló

tulajdonságokkal bírnak. Hasonlóság ~ távolság mérték megállapítása (itt

is) nagyon fontos.Az osztályok k = 1 –re Voronoi diagrammal jól ábrázolhatók.

Tanítópontok a síkon Voronoi tartományok

Page 53: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 53/122

IN-606 53

A k legközelebbi szomszéd módszer problémái:

Page 54: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 54/122

IN-606 54

A k legközelebbi szomszéd módszer problémái:

Érzékeny a független attribútumokra:

Érzékeny a mértékegységekre:

(Ábrák: Bodon F. jegyzetéből)

Page 55: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 55/122

IN-606 55

Osztályozás

Döntési fa megkonstruálása

Döntési faMinden belső csomópont egy

tulajdonság szerinti döntésMinden ág megfelel egy tulajdonságérték(tartomány)nekMinden levél kijelöl egy osztályozást

ID3 algoritmus az egyik legősibb, legismertebb osztályozó algoritmus.Alapgondolata: Mindig a legnagyobb információ-nyereségű kérdésfeltevésével ágazik el.

A döntési fa minimális magassága: a döntések legkisebb száma , amivel még betudunk sorolni egy objektumot

Page 56: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 56/122

IN-606 56

A döntési fa felülről lefelé történő levezetéseAttribútumok = {várható, hőmérséklet, páratartalom, fujaszél}

várható

páratartalom fujaszél

napos esőfelhős

igen

nem igen

magas normális

nem

igaz hamis

igen

Tenisz = {igen, nem}

Hogyan építsük fel a döntési fát ~ hol, mely attribútum szerint legyenekaz elágazások? ID3: a legnagyobb információnyereség szerinti elágazás

E t ó i é i f á ió ég

Page 57: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 57/122

IN-606 57

Entrópia és információ nyereség

• S gyakorló minták egy halmaza, minden minta egy sor,S tartalmazza a C iosztály s i mintáit, (i = 1, …,m)

• Egy adott minta osztályozásához szükséges várható információ:

• Egy A attribútum szerinti particionáláson alapuló várható információ az A entrópiája:

ahol s ij az S j részhalmazban C i osztályba eső minták számav pedig a j. attribútum különböző értékei száma.

• Az A tulajdonság szerinti elágazással elérhető információnyereség:

A legnagyobb információnyereségű attribútum lesz az elágazás címkéje, ésaz attribútum minden egyes értékéhez egy-egy ágat rendelünk.

s s

s s ,...,s ,s s i

m

i

im21 2

1log)I( ∑=

−=

) s ,..., s( I s

s... s E(A) mj j

v

j

mj j1

1

1

∑=

++=

)(),...,,()( 21 A E s s s I A Nyereség m −=

Péld d é i f é í é é

Page 58: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 58/122

IN-606 58

Példa döntési fa építésére

A tanuló adatbázis:

@relation teniszezunke.kategorikus.attributumok

@attribute varhato {napos, felhos, esos}

@attribute homerseklet {meleg, langyos, hideg}@attribute paratartalom {magas, normalis}@attribute fujaszel {igaz, hamis}@attribute tenisz {igen, nem}

@datanapos,meleg,magas,hamis,nemnapos,meleg,magas,igaz,nemfelhos,meleg,magas,hamis,igen

esos,langyos,magas,hamis,igenesos,hideg,normalis,hamis,igenesos,hideg,normalis,igaz,nemfelhos,hideg,normalis,igaz,igennapos,langyos,magas,hamis,nemnapos,hideg,normalis,hamis,igenesos,langyos,normalis,hamis,igennapos,langyos,normalis,igaz,igenfelhos,langyos,magas,igaz,igenfelhos,meleg,normalis,hamis,igenesos,langyos,magas,igaz,nem

Az az attribútum, melyre a döntés vonatkozik: tenisz.A tenisz attribútumnak két értéke van: igen és nem.C1 osztály feleljen meg az „igen”-nek,C2 osztály feleljen meg a „nem”-nek.

A igen osztályban 9, a nem osztályban 5 minta szerepel.

A várható információ tehát:

940,0145log

145

149log

149),( 2221 ≈−−= s s I

Ezután ki kell számítani az attribútumokhoz tartozó entrópiákat

Page 59: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 59/122

IN-606 59

Ezután ki kell számítani az attribútumokhoz tartozó entrópiákat.Kezdjük a „varhato” attribútummal. Ennek három értéke van: napos, felhos, esos.

Így: s11 = 2 ( a „napos…igen” sorok száma), s21 = 3 (a „napos…nem” sorok száma)

s12 = 4 ( a „felhos…igen” sorok száma), s22 = 0 (a „felhos…nem” sorok száma)

s13 = 3 ( a „esos…igen” sorok száma), s23 = 2 (a „esos…nem” sorok száma)

A „varhato” attribútum entrópiája:

A „varhato” attribútum szerinti döntés információnyeresége tehát:

Nyereség (varhato ) = I ( s1, s2) – E (varhato ) =

A „homerseklet” attribútumnak szintén három értéke van: meleg, langyos, hideg, így s11 = 2 ( a „…meleg…igen” sorok száma), s21 = 2 (a „…meleg…nem” sorok száma)

s12 = 4 ( a „…langyos…igen” sorok száma), s22 = 2 (a „…langyos…nem” sorok száma)

s13 = 3 ( a „…hideg…igen” sorok száma), s23 = 1 (a „…hideg…nem” sorok száma)

A „homerseklet” attribútum entrópiája:

A „homerseklet” attribútum szerinti döntés információnyeresége tehát:

Nyereség (homerseklet ) = I ( s1, s2) – E (homerseklet ) =

Page 60: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 60/122

IN-606 60

A „paratartalom” attribútumnak két értéke van: magas, normalis.

Így: s11 = 3 ( a „…magas…igen” sorok száma), s21 = 4 (a „magas…nem” sorok száma)

s12 = 6 ( a „…normalis…igen” sorok száma), s22 = 1 (a „normalis…nem” sorok száma)

A „paratartalom” attribútum entrópiája:

A „paratartalom” attribútum szerinti döntés információnyeresége tehát:

Nyereség ( paratartalom ) = I ( s1, s2) – E ( paratartalom ) =

A „fujaszel” attribútumnak szintén két értéke van: igaz, hamis, így s11 = 3 ( az „…igaz…igen” sorok száma), s21 = 3 (az „…igaz…nem” sorok száma)

s12 = 6 ( a „…hamis…igen” sorok száma), s22 = 2 (a „…hamis…nem” sorok száma)

A „fujaszel” attribútum entrópiája:

A „fujaszel” attribútum szerinti döntés információnyeresége tehát:

Nyereség ( fujaszel ) = I ( s1, s2) – E ( fujaszel ) =

Page 61: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 61/122

IN-606 61

Összegezve tehát a különböző attribútumok szerinti döntésinformációnyeresége:

Nyereség (varhato ) = Nyereség (homerseklet ) = Nyereség ( paratartalom ) = Nyereség ( fujaszel ) =

A döntési fa első elágazása (a maximális információnyereségre valótörekvésnek megfelelően) a „varhato” attribútum értékére való kérdéslesz.

A döntési fa továbbépítése áganként külön-külön a már csökkentett tanulóadatbázissal az eddigiekkel megegyező módon történik.

Page 62: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 62/122

IN-606 62

g g gy

várható

napos esőfelhős

meleg,magas,hamis,nemmeleg,magas,igaz,nemlangyos,magas,hamis,nemhideg,normalis,hamis,igenlangyos,normalis,igaz,igen

meleg,magas,hamis,igenhideg,normalis,igaz,igenlangyos,magas,igaz,igenmeleg,normalis,hamis,igen

langyos,magas,hamis,igenhideg,normalis,hamis,igenhideg,normalis,igaz,nemlangyos,normalis,hamis,igenlangyos,magas,igaz,nem

Az eredmény:

Page 63: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 63/122

IN-606 63

A fogalomhierarchiák, a bevezetett és további mérőszámok azadathalmaz feldolgozásakor a számosság (sorok) és dimenziók(oszlopok) számának csökkentésére is alkalmazhatók.

Egy példa segítségével megmutatva:

• Legyen adott egy elemzendő adathalmaz, főiskolások adataival – attribútumoknév, nem, szak, szül_hely, szül_dátum, telefonszám , átlag – fogalomhierarchiák – U i = az ai attribútumhoz tartozó elemzési küszöb – R = attribútum információnyereségi küszöb

• Cél: – a nem releváns oszlopok eltávolítása

– A sorok számának csökkentése a fogalomhierarchiák szerinti összevonásokkal

A kezdeti reláció:

Page 64: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 64/122

IN-606 64

Név Nem Szak Születési hely Szül. idő Lakcím Telefon ÁtlagJimWoodman

M CS Vancouver,BC,Canada

8-12-76 3511 Main St.,Richmond

687-4598 3.67

ScottLachance

M CS Montreal, Que,Canada

28-7-75 345 1st Ave.,Richmond

253-9106 3.70

Laura Lee F Physics Seattle, WA,USA

25-8-70 125 Austin Ave.,Burnaby

420-5232 3.83

… … … … … … … …

Tulajdonságeltávolítás:eltávolítjuk anév és a telefonszám attribútumokat, mertkülönböző értékeik száma meghaladja a megfelelőküszöbértéket, (U i), és nincs olyan fogalomhierarchiánk,mellyel a különböző értékek száma csökkenthető lenne.

Tulajdonságáltalánosítás: (a fogalmi hierarchiát felhasználva)általánosítjuk a szak , születési hely , szül. idő, lakcímésátlag - okat

Összegezzük az egy-egy csoportba kerülők számátAz általánosítások: nem, szak , szül_ország , korcsoport , átlag

eltávolítjuk eltávolítjukált. ált. ált. kérd. ált.

A példa átalakított tanuló adatbázisa

Page 65: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 65/122

IN-606 65

A példa átalakított tanuló adatbázisa

nem szak szül_ország korcsoport átlag szám

F TTud Kanada 20-25 jó 16 N TTud Külföldi 25-30 kitűnő 22

F Mérnök Külföldi 25-30 kitűnő 18 N TTud Külföldi 25-30 kitűnő 25F TTud Kanada 20-25 kitűnő 21 N Mérnök Kanada 20-25 kitűnő 18

Másoddiplomások (Σ=120)

nem szak szül_ország korszoport átlag szám

F TTud Külföldi <20 jó 18 N Üzleti Kanada <20 közepes 20F Üzleti Kanada <20 közepes 22

N TTud Kanada 20-25 közepes 24F Mérnök Külföldi 20-25 jó 22 N Mérnök Kanada <20 kitűnő 24

Első diplomások (Σ=130)

Tegyük fel, hogy az első és másoddiplomásokösszehasonlításában kívánunk vizsgálódni:

R l i l é

Page 66: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 66/122

IN-606 66

• Relevancia elemzés – Attribútumonként kiszámoljuk a rangsoroláshoz szükséges várható

információt

– Az entrópia meghatározása minden attribútumra,

99880250130

250130

250120

250120130120 2221 .log log ) , I( ) s , I(s =−−==

szak =”TTud” : S11=84 S21=42 I(s11,s21)=0.9183szak =”mérnök” : S12=36 S22=46 I(s12,s22)=0.9892szak =”üzleti” : S13=0 S23=42 I(s13,s23)=0

A TTud szakos,másoddiplomásokszáma

A TTud főszakos,elsődiplomások száma

Page 67: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 67/122

IN-606 67

• Az entrópia meghatározása ha a „szak” tulajdonság szerinti felosztásthasználjuk

• Az információnyereség meghatározása

– Információ nyereség minden attribútumra

7873.0),(25042),(

25082),(

250126)( 231322122111 =++= s s I s s I s s I szak E

2115.0)(),()( 21 =−= szak E s s I szak Nyereség

Nyereség(nem) = 0.0003 Nyereség(szül_ország) = 0.0407 Nyereség (szak) = 0.2115 Nyereség (átlag) = 0.4490 Nyereség(korosztály) = 0.5971

• Egyszerűsítés

Page 68: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 68/122

IN-606 68

• Egyszerűsítés

– Tegyük fel, hogy az információnyereségi küszöb : R = 0,1 – Nem alkalmazható vagy gyengén alkalmazható tulajdonságok

eltávolítása a jelölt kapcsolatból => dropnem, szül_ország

• A további elemzésekhez ezt a táblát (adathalmazt) használjuk.

szak korcsoport átlag szám

TTud 20-25 jó 16TTud 25-30 kitűnő 47Mérnök 25-30 kitűnő 18TTud 20-25 kitűnő 21Mérnök 20-25 kitűnő 18

Osztályozás

Page 69: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 69/122

IN-606 69

Osztályozás

Bayes-osztályozásA Bayes-osztályozók statisztikai osztályozók. Annak a valószínűségét

képesek megbecsülni, hogy egy adott minta bizonyos osztályhoztartozik-e.

Bayes-tételLegyen D a tanuló adatbázis , a h hipotézis (~utólagos) a posteriori valószínűsége

P(h|D) , erre érvényes a Bayes-tétel:

)()()|()|(

D P h P h D P Dh P =

Naív Bayes-osztályozó

Page 70: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 70/122

IN-606 70

Naív Bayes osztályozóLegyenek az osztályozás osztályai C 1, C 2, …,C m. Az X adatmintát akkor

rendeljük a C i osztályhoz, ha P (C i| X ) = max( P (C j| X ) j=1,…,m teljesül. ABayes-tétel alapján:

Mivel P ( X ) minden osztály esetén konstans, így a P ( X |C i)· P (C i) kifejezést kellmaximalizálni.

P (C i) becsülhető: (összes mintaszám ) / (C i osztálybeli tanuló minták száma)értékkel.

A naív Bayes-osztályozók feltételezik, hogy egy attribútumértéknek egy adottosztályra gyakorolt hatása független más attribútumok értékeitől. Ezt afeltevést feltételes osztályfüggetlenségnek nevezik. Ha ezzel a feltevésselélünk, akkor:

)(

)()|()|(

X P iC iC

X i

C P =

∏==

n

k ik i C x P C X P

1)|()|(

A ( | ) ló í ű é k b lé

Page 71: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 71/122

IN-606 71

A P ( xk |C i) valószínűségek becslése: – Ha Ak kategorikus attribútum, akkor: P ( xk |C i)= s ik / si ahol sik a C i-hez

tartozó Ak attribútumon xk értékű tanulóminták száma, s i pedig a C i-heztartozó tanulóminták száma.

– Ha Ak folytonos értékű, akkor az attribútumokat tipikusan Gauss-

eloszlásúnak feltételezik, így:

ahol g ( xk ,µCi,σCi) az Ak attribútum Gauss (normál) sűrűségfüggvénye,µCi, σCi a várhatóértéket és a szórást jelölik a C i osztálybelitanulóminták Ak -n vett értékeire.

A Naív Bayes-osztályozók elméletileg a legkisebb hibaarányúak, HA a feltételesosztályfüggetlenség és a kiszámított valószínűségek elég pontosak (agyakorlatban nem mindig).

2

2

2)(

21),,()|( iC

iC k

i

ii

x

C C C k ik e x g C x P

σ

µ

σ π σ µ

−−

==

Példa naív Bayes-osztályozás alkalmazására

Page 72: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 72/122

IN-606 72

(tanuló fázis)A „teniszezünke” tanuló adatbázis és a kiszámított valószínűségekVárható igen nemnapos 2/9 3/5 P(napos|igen) P(napos|nem)felhős 4/9 0 P(felhős|igen) P(felhős|nem)esős 3/9 2/5 … …

Hőmérsékletmeleg 2/9 2/5langyos 4/9 2/5hideg 3/9 1/5

Páratartalommagas 3/9 4/5normális 6/9 1/5

SzélIGAZ 3/9 3/5

HAMIS 6/9 2/5

A tanuló adatbázis:

@relation teniszezunke.kategorikus.attributumok

@attribute varhato {napos, felhos, esos}

@attribute homerseklet {meleg, langyos, hideg}@attribute paratartalom {magas, normalis}@attribute fujaszel {igaz, hamis}@attribute tenisz {igen, nem}

@datanapos,meleg,magas,hamis,nemnapos,meleg,magas,igaz,nemfelhos,meleg,magas,hamis,igenesos,langyos,magas,hamis,igenesos,hideg,normalis,hamis,igenesos,hideg,normalis,igaz,nemfelhos,hideg,normalis,igaz,igennapos,langyos,magas,hamis,nemnapos,hideg,normalis,hamis,igen

esos,langyos,normalis,hamis,igennapos,langyos,normalis,igaz,igenfelhos,langyos,magas,igaz,igenfelhos,meleg,normalis,hamis,igenesos,langyos,magas,igaz,nem

P(igen)=9/14 P(nem)=5/14

Példa naív Bayes-osztályozás

Page 73: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 73/122

IN-606 73

alkalmazására (alkalmazó fázis)A feladat egy, a tanulómintában elő nem forduló

X = <esős, meleg, magas, hamis> eset osztályba sorolása.(Az igen, vagy a nem osztályba, ez lesz a döntés a teniszezünk-e

kérdésre.)

• P( X |igen)·P(igen) =P(esős|igen)·P(meleg|igen)·P(magas|igen)·P(hamis|igen)·P(igen) =

• P( X |nem)·P(nem) =P(esős|nem)·P(meleg|nem)·P(magas|nem)·P(hamis|nem)·P(nem) =

• Mivel a P ( X |C i)· P (C i) kifejezést kell maximalizálni, így az X mintáttehát osztályba kell sorolnunk(azaz a döntés: )

A feltételes osztályfüggetlenség…

Page 74: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 74/122

IN-606 74

y gg g

• … egyszerűsíti a számításokat

• … ha a feltevés helyes, akkor a többi osztályozónál pontosabbosztályozást biztosít• … de a gyakorlatban az attribútumok (változók) különböző

mértékben korreláltak (függnek egymástól).• Ezen korlátozás túllépése:

– Bayes-féle hihetőségi hálók, együttes feltételes valószínűségieloszlásokat vesznek figyelembe. → irodalom

– Döntési fák,(már foglalkoztunk velük), esetleg pontatlanabb, denem kell azzal foglalkozni, hogy a konkrét esetben a feltételesosztályfüggetlenségi feltevés mennyire helyes vagy helytelen.

Osztályozás

Page 75: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 75/122

IN-606 75

Neurális hálók alkalmazása. Hiba visszaterjesztéses (back propagation)hálózatokAz agyműködést utánzó biológiai analógiára is támaszkodva.Több belső (rejtett) réteget és visszacsatolást használnak

Kezdetben a csomópontok és akapcsolatok véletlen súlyokat kapnak.

A hálózat tanítása: a bemenő adatokértékeket kapnak, a súlyokat úgyváltoztatjuk, hogy a kimenet megfeleljena betanító példáknak.

A tanítási folyamat akkor fejeződik be

amikor a hálózat szerkezet állandósulIngerlés, inger-küszöb átlépése…

Page 76: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 76/122

IN-606 76

A betanításhoz sok adat szükséges.A túltanítás felléphet.Nem szolgáltat elméletet, fekete dobozként viselkedik.

(jó válaszokat ad, de nem tudjuk miért … tank!)

A rejtett és a kimeneti réteg egy neuronjaés a hiba visszaterjesztés módszere

Page 77: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 77/122

IN-606 77

j

j I jeO −+=11

∑ Θ+=i

jiij j Ow I A j neuron nettó bemenete:

A kimeneti függvény:

A hiba visszaterjesztése:A kimeneti réteg j neuronjánál a hiba:

Err j = O j(1-O j )(T j-O j)ahol T j az elvárt (tanuló) kimenet.

A rejtett réteg j neuronjánál a hiba:

A súlyok és torzítások módosítása:wij = w ij + l·Err j ·O i Θ j= Θ j +l·Err j

Aholl a tanulási ráta, szokásos értéke 1/ t ahol t atanulóhalmazon eddig vett iterációk száma.

∑−=k

jk k j j j w Err OO Err )1(

Példa neurális háló tanítására

Page 78: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 78/122

IN-606 78

A háló:

A tanulási ráta legyen 0,9.A bemenet X=(1,0,1), erre a bemenetre az elvárt kimenet: 1.A kezdeti súlyok:w14:0,2 w15:-0,3 w24:0,4 w25:0,1 w34:-0,5 w35:0,2

w46:-0,3 w56:-0,2A kezdeti torzítások:Θ 4= -0,4Θ 5= 0,2 Θ 6 = 0,1

Példa neurális háló tanítására (folyt.)A nettó bemenet és nettó kimenet számításai:

Page 79: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 79/122

IN-606 79

A nettó bemenet és nettó kimenet számításai:

A hibák kiszámítása a neuronoknál:

1/(1+e0,105) = 0,474-0,3·0,332-0,2·0,525+0,1 = -0,10561/(1+e-0,1) = 0,525-0,3+0+0,2+0,2 = 0,151/(1+e0,7) = 0,3320,2+0-0,5-0,4 = -0,74Nettó kimenet, O jNettó bemenet, I jNeuron, j

0,332·(1-0,332)·0,1311·(-0,3) = 0,008740,525·(1-0,525)·0,1311·(-0,2) = 0,00655

0,474·(1-0,474)·(0-0,474) = 0,13116A hiba, Err jNeuron, j

Példa neurális háló tanítására (folyt.)Az új súlyok:

Page 80: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 80/122

IN-606 80

Az új súlyok:

Az új torzítások:

Tanítás a következő mintával …

0,1 + 0,9·(-0,0065)·0 = 0,1w25

0,4 + 0,9·(-0,0087)·0 = 0,4w24-0,3 + 0,9·(-0,0065)·1 = - 0,306w15

0,2 + 0,9·(-0,0087)·1 = 0,192w14

-0,2 + 0,9·0,1311·0,525 = - 0,138w56

0,2 + 0,9·(-0,0065)·1 = 0,194w35

-0,5 + 0,9·0,0087·1 = - 0,508w34

-0,3 + 0,9·0,1311·0,332 = - 0,261w46új értéksúly

-0,4 + 0,9·(-0,0087) = - 0,408Θ 4

0,2 + 0,9·(-0,0065) = 0,194Θ 5

0,1 + 0,9·0,1311 = 0,218Θ 6

új értéksúly

Osztályozás

Page 81: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 81/122

IN-606 81

Osztályozás pontosságának méréseAz osztályozó rendszert tanító mintákkal tanítjuk, majd ellenőrző mintákkal

ellenőrizzük, minősítjük.Keveredési mátrix.

A keveredési mátrixmij eleme értéke azt mutatja meg, hogy a valójában C iosztályba sorolandó ellenőrzőmintát a modellünk aC j osztályba sorolta.Tegyük fel például, hogy 4 osztályra (C 1, C 2, C 3, C 4) kell osztályoznunk.Egy lehetséges keveredési mátrix:

A főátlón kívüli számok mutatjáka hibásan osztályozott minták

számát

PontosságA keveredési mátrixban a főátlóban álló elemek összege / az összes elemekösszege. A fenti példa pontossága:

Stb. → irodalom

18001C 4

12603C 3

11370C 220212C 1

C 4C 3C 2C 1

Gyakori elemhalmazok és társításiszabályok keresése

Page 82: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 82/122

IN-606 82

• Társítási szabályok bányászata• Egydimenziós Boole társítási szabályok bányászása tranzakcionális

adatbázisokban• Többszintű társítási szabályok bányászata tranzakcionális

adatbázisokban• Többdimenziós társítási szabályok bányászata tranzakcionális

adatbázisokban és adattárházakban• A korreláció analízissel megállapítható társítási szabályok• Kényszerfeltételeket figyelembe vevő társítási szabály bányászat• Összefoglalás

A társítási szabályok bányászatáról

Page 83: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 83/122

IN-606 83

• Társítási szabályok bányászata: – Gyakori minták, társítások, összefüggések, vagy ok-okozati

összefüggések keresése tranzakciós adatbázisokban, relációsadatbázisokban, vagy más információhalmazokban.

• Felhasználási területek: – Vásárlói kosár elemzése, piac elemzés, katalógus tervezés, vesztes-

nyertes analízis, csoportosítás, osztályozás, stb.

• Példák. – A társítási szabály általános alakja:”törzs →fej [megalapozottság,megbízhatóság]”.

– vásárol(x, “pelenka”)→ vásárol(x, “sör”) [0.5%, 60%] – szak(x, “Info”) ^ tanul(x, “AB”)→ eredmény(x, “5”) [24%, 75%]

Társítási szabályok: alapelgondolások

Page 84: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 84/122

IN-606 84

• Legyen adott a tranzakciók adatbázisa, – minden tranzakció elemek listája (pl. a vásárló által alkalmanként megvett

cikkek listája ~ blokkok v. számlák)• Keressük: az összes szabályokat, melyek cikkhalmazokra vonatkoznak

– Pl.: az olyan vásárlók, akik autógumit és tartozékokat vásárolnak, 98%-bankérnek szerviz munkát is

• Alkalmazások

– Háztartási elektronika * (Milyen további árukat érdemes tartani aboltban?) – Célcsoportnak szóló levelek (kinek mire érdemes felhívni a figyelmét) – Az ügyféllel való“ping-pong”ozás, az ütközések érzékelése

A szabályok mérése: megalapozottság,

Page 85: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 85/122

IN-606 85

megbízhatóság• Megalapozottság: az összes minta hányszázalékára alkalmazható a szabály.

• Megbízhatóság: amikor alkalmazható,

akkor hány százalékban teljesül.• „Értékes” szabályok, melyek valamely

megállapított küszöbértékeket meghaladómegalapozottsággal és megbízhatósággal

bírnak.

Tranzakció az. vásárolt elemek2000 A,B,C

1000 A,C4000 A,D5000 B,E,F

Legyen a minimális megalapozottsági ésmegbízhatósági küszöbérték 50% ,ekkor az értékes társítási szabályok: – A C (50%, 66.6%) – C A (50%, 100%)

pelenkavásárlók

mindkettőtvásárlók

Sör vásárlók

Gyakori elemhalmazok keresése: a kulcslépés

Page 86: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 86/122

IN-606 86

• Keressük a gyakori elemhalmazokat : olyan elemhalmazokat,melyek megalapozottsága meghaladja a minimális küszöbértéket

– A gyakori elemhalmazok részhalmazai szintén gyakoriak• Tehát, például ha { AB} gyakori akkor mind { A} mind {B} gyakori

kell legyen – Fokozatosan megkeressük az 1, 2, k elemű gyakori elemhalmazokat

(elem k -asokat)• A gyakori elemhalmazokat használva határozzuk meg a társítási

szabályokat.

Apriori tulajdonság

Az Apriori AlgoritmusAlgoritmus : Apriori. Gyakori elemhalmazok keresése, jelöltek előállításán alapuló, szintenkénti iterációs módszerrel.

Page 87: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 87/122

IN-606 87

Bemenet : a tranzakciók D adatbázisa; min_sup, a minimális megalapozottság küszöbértéke.Kimenet : a D-beli gyakori elemhalmazokL halmaza.Módszer :

(1) L1= find_frequent_1-itemsets(D);(2) for (k=2;Lk -1 ≠ ; k + +) {(3) C k = apriori_gen (Lk -1, min_sup);(4) for each transaction t D { //D végigvizsgálása, az előfordulások összeszámlálása(5) C

t = subset(C

k , t ); // a t jelölt részhalmazai

(6) for each c C t jelöltre(7) c.count + + ;(8) }(9) Lk = {c C k | c.count ≥ min_sup}(10) }(11) return L = k Lk ;

procedure apriori_gen (Lk -1 : gyakori (k-1)-elemhalmazok; ;min_sup, a minimális megalapozottság küszöbértéke)(1) for each l 1 Lk -1elemhalmazra(2) for each l 2 Lk -1elemhalmazra(3) if (l 1[1]=l 2[1]) (l 1[2]=l 2[2]) ... (l 1[k -2]=l 2[k -2]) (l 1[k -1]<l 2[k -1]) then {(4) c = l 1 l 2; // összekapcsoló lépés: a jelöltek generálása(5) if has_infrequent_subset (c , Lk -1) then(6) delete c ; // elhagyó lépés: a nem megfelelő jelöltek eltávolítása(7) else add c to C k ;

(8) }(9) return C k ;procedure has_infrequent_subset (c : jelöltk -elemhalmazok;Lk -1: gyakori (k-1)-elemhalmazok);

// az előzetes ismeret felhasználása(1) for each s c -beli (k-1)-részhalmazra(2) if s Lk -1 then(3) return TRUE;

(4) return FALSE;

Példa az Apriori algoritmus használatáraJelölje C i az i elemű jelöltek halmazát; Li az i elemű gyakori elemhalmazokat

Page 88: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 88/122

IN-606 88

TID elemek100 1 3 4200 2 3 5300 1 2 3 5400 2 5

D adatbázis

Scan D

C 1 L1

L2

C 2 C 2Scan D

C 3 L3Scan D

Hogyan generáljuk a szabály-jelölteket?

Page 89: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 89/122

IN-606 89

• Tegyük fel, hogyLk-1 elemeit rendezett listában tároljuk• 1. lépés: Lk-1 önmagával való összekapcsolása

insert into C k

select p.item 1, p.item 2 , …, p.item k-1 , q.item k-1

fromLk-1 as p, L k-1 as q

where p.item 1=q.item 1, …, p.item k-2 =q.item k-2 , p.item k-1 < q.item k-1

• 2. lépés: vágásforallitemsets c in C k do

forall(k-1)-subsets s of c do

if (s is not in Lk-1 ) then delete c from C k

Példa a jelöltek generálására

Page 90: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 90/122

IN-606 90

• L3={abc, abd, acd, ace, bcd }

• Self-joining:L3*L3

– abcd az abc és abd –ből keletkezik

– acde az acd és ace – ból keletkezik

• A vágó lépés:

– acde –t eltávolítjuk, mertade nincs L3 –ban

• C 4={abcd }

Elegendően gyors-e az Apriori algoritmus?

űk dé űk k

Page 91: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 91/122

IN-606 91

— a működés szűk keresztmetszetei• Az Apriori algoritmus alapgondolata:

– A gyakori (k – 1)-elemhalmazokból generálja a jelölt gyakorik-elemhalmazokat

– Az adathalmaz vizsgálatával dönt a jelöltekről• Az Apriori szűk keresztmetszete: a jelöltek előállítása

– Óriási jelölthalmazok:

• 104 gyakori 1-értékhalmaz generál 107 jelölt 2-értékhalmazt• 100 elemű gyakori minták {a1, a2, …, a100} keresése 2 100 ≈ 1030 jelölt

előállítását eredményezheti! – Az adathalmaz többszöri átvizsgálása:

• (n +1 ) átvizsgálás szükséges az n méretű gyakori mintákmegállapításához

Az Apriori algoritmus hatékonyságát növelő

ö l k

Page 92: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 92/122

IN-606 92

ötletek• Az értékhalmazok hash-alapú számlálása: kosarazás segítségével a nem

gyakoriak korai kiszűrése

• A tranzakciók redukálása: az olyan tranzakció, mely nem tartalmazegyetlen gyakori k-elemhalmazt sem a további vizsgálatokbólkirekeszthető)

• Particionálás: az adatbázist szétosztjuk, ezekben a részekben keressük alokálisan gyakori elemhalmazokat, s ezek lesznek a globális jelöltelemhalmazok

• Mintavételezés: az adatbázisból vett mintán keresünk gyakorielemhalmazokat; így a hatékonyságért feláldozunk valamit apontosságból →irodalom

Gyakori minták bányászataa jelöltek előállítása nélkül

Page 93: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 93/122

IN-606 93

• A nagy adathalmazt FP fába (Frequent-Pattern tree) tömörítjük – Nagyfokú tömörítés, de tartalmazza a gyakori mintákat – Elkerülhetővé teszi az adathalmaz költséges rendszeres átvizsgálását

• Találni kell hatékony, az FP-fán alapuló gyakori mintákat kereső módszert – Oszd meg és uralkodj módszer: a kereső feladatot kisebbekre osztja

– Elkerüli a jelölt-előállítást, csak a rész-adatbázisokon szükséges!

→ irodalom

Jéghegy kérdések

Page 94: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 94/122

IN-606 94

• Jéghegy kérdés : Megadott küszöbfeltételeket kielégítő elemekre vonatkozóösszesítéseket szolgáltató kérdés. (Így a biztosan érdektelen eseteketelőzetesen kihagyjuk.)

• Példa:select P.vásárló_ID, P.árucikk_ID, sum (P.mennyiség)from vásárlás AS Pgroup by P.vásárló_ID, P.árucikk_IDhaving sum (P.mennyiség) >= 3

Többszintű társítási szabályoké l

Page 95: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 95/122

IN-606 95

• Az értékek hierarchiába rendezhetők.• A magasabb hierarchia-szinten

magasabb a megalapozottság.• A megfelelő szintű szabályok sokkal

hasznosabbnak bizonyulhatnak.• Osztott, több-szintű bányászatot tudunk

használni.

étel

kenyér tej

teljes

SunsetFraser

2% fehér barna

Page 96: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 96/122

Page 97: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 97/122

A megalapozottság-megbízhatóság

használatának kritikája

Page 98: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 98/122

IN-606 98

használatának kritikájapélda:

– Összesen 5000 diák

• 3000 kézilabdázik• 3750 fogyaszt chips-et• 2000 kézilabdázik és fogyaszt chips-et

– kézilabdázik fogyaszt chips-et [40%, 66.7%] félrevezető, mert adiákok 75% eleve chips fogyasztó, s ez magasabb, mint a 66.7%.

– kézilabdázik nem fogyaszt chip-et [20%, 33.3%] sokkal pontosabb,bár megalapozottsága és megbízhatósága jóval kisebb.

kézilabdázik nem kézilabdázik össz(sor)

chips 2000 1750 3750

nem chips 1000 250 1250

össz(oszl.) 3000 2000 5000

Page 99: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 99/122

IN-606 99

• weka

Szövegbányászat

A szövegek puszta elérése nem elég (ősi példák), értelmezni is kell azokat.

Page 100: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 100/122

IN-606 100

g p g ( p ),Szövegbányászat : a dokumentumokon végzett olyan feldolgozási, elemzési

tevékenység, melynek célja a dokumentumban lévő információ feltárása,azonosítása. Alapvető probléma: a természetes nyelvek az emberek közöttiszóbeli (később írásbeli is) kommunikáció céljából jöttek létre, fejlődtek. Az adóés vevő közös háttértudására erőteljesen támaszkodnak, kontextus felismeréstkihasználják, nyelvtani, stilisztikai, hangulati eszközökkel élnek, melyekráadásul a nyelvek között lényegesen különbözhetnek. (Azt, hogy a leírt igenigen-e, vagy éppen nem, azt az ilyen környezeti elemekből és háttérből tudja az

ember megállapítani, node az algoritmus? Mit jelent a tus? Zuhanyt, festéket,vívásban eseményt, zenei produktumot? …)

Szövegek osztályozása adatbányász eljárásokkal.

Szövegbányászat (folyt.)

Page 101: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 101/122

IN-606 101

Az osztályozás mérése.Legyen a a kategóriához helyesen hozzárendelt dokumentumok száma

b a kategóriához helytelenül hozzárendelt dokumentumok száma

c a kategóriához helytelenül nem hozzárendelt dokumentumok számad a kategóriához helyesen nem hozzárendelt dokumentumok száma

Ekkor a következő mértékeket definiálhatjuk:

felidézés (recall) :pontosság (precision):

szabatosság (accuracy):

hiba (error):

caa

R +=

baa

P +

=

d cba

d a A

+++

+=

d cbacb

A E +++

+=−=1

Szövegbányászat (folyt.)

Page 102: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 102/122

IN-606 102

Sajátos eljárások:

Szöveg kivonatolás

kulcsszavak, összegzésekTéma követés

Fogalomtársítás

Kérdés-megválaszolás

Plágium-keresés

WEB bányászat

Oldalak rangsorolása.(Lá ók á lk l i já ké b

Page 103: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 103/122

IN-606 103

g(Látogatók száma erre nem alkalmas, mert nincs vagy saját kézben van,könnyen manipulálható).A fontosságot mérheti az oldalra mutató linkek száma. (Ha sok link mutat

rá, akkor feltehetően fontos, ha minél fontosabb oldalak mutatnak rá, akkorfeltehetően még fontosabb.)Google Page Rank algoritmusa (1998):

Legyen N weboldalunk, feladat ezek rangsorolása.1. Készítsük el az A, N × N -es mátrixot, ahol a ij= 1/n ha i lapról j-re mutat link,

máskor 0. n az i. lapon lévő, más lapokra mutató linkek száma.2. Kezdetben minden oldal rangja legyen 1/ N , a rangok vektora tehát

p=(1/ N , … 1/ N ),3. Végezzük el a p i+1 ← p i A iterációt4. Ha teljesül a leállási feltétel, akkor STOP, különben ugrás 3. pontra.

Példa az egyszerű Page Rank algoritmusra

Page 104: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 104/122

IN-606 104

Tegyük fel, hogy az X, Y, Z három lapot kell rangsorolnunk, melyek linkstruktúrája a következő:

Az A mátrix tehát:

A rang vektor N szeresei tehát: N·p1 = (1,1,1) N·p2 = (1,1/2,3/2) N·p3 = (9/8,1/2,11/8) N·p4 = (5/4,11/16,17/16)

megmutatható, hogy p = (6/5,3/5,6/5)

=

02/12/11002/102/1

A

Az egyszerű Page Rank algoritmus két

hibája

Page 105: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 105/122

IN-606 105

hibája1. Zsákutca probléma:

Az oldalak fontossága „kiszivárog” a rendszerből.

Am= A/2m-1

Így a rangvektor a 0 vektorhoz fog tartani.

2. Pókháló probléma:Pókháló a lapok olyan rendszere, melyben link csak e rendszerbeli lapra mutat.Az iteráció során magukba gyűjtik a fontosságot, a algoritmus eredmény torzlesz.

=

002/12/1

A A A21

004/14/12 =

=

Az igazi Page Rank algoritmus

Page 106: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 106/122

IN-606 106

Az egyszerű Page Rank problémáit az oldalak megadóztatásával lehetelkerülni. Az ötlet: szedjük be mindenkitől fontosságának bizonyosszázalékát, majd a beszedett adót osszuk el egyenlően. Tehát, ha e a

befizetendő adó, akkor az A mátrix helyett használjuk a B mátrixot:

B = e·U +(1-e)· A, ahol

=

N N

N N

U

/1.../1....../1.../1

Gyűjtőlapok és tekintélyek

Page 107: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 107/122

IN-606 107

Gyűjtőlap:olyan lap, mely sok tekintélylapra mutatpl. startlap.hu (?)

Tekintélylap:amire sok gyűjtőlap mutatpl. amazon.com; java.sun.com

Keresésük pl. SALSA (Stochastic Approach for the Link-Structure Analysis)algoritmussal. → irodalom

Page 108: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 108/122

A Data Mining Query Language(DMQL)

Page 109: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 109/122

IN-606 109

• Motivation – A DMQL can provide the ability tosupport ad-hoc and

interactive data mining – By providing astandardized language like SQL

• Hope to achieve a similar effect like that SQL has on

relational database• Foundation for system development and evolution• Facilitate information exchange, technology transfer,

commercialization and wide acceptance• Design

– DMQL is designed with theprimitivesdescribed earlier

Syntax for DMQL

Page 110: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 110/122

IN-606 110

• Syntax for specification of – task-relevant data

– the kind of knowledge to be mined – concept hierarchy specification – interestingness measure

– pattern presentation and visualization• Putting it all together — a DMQL query

Syntax for task-relevant data specification

Page 111: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 111/122

IN-606 111

• use database database_name, or use data warehousedata_warehouse_name

• from relation(s)/cube(s) [where condition]• in relevance to att_or_dim_list

• order by order_list

• group by grouping_list• having condition

Specification of task-relevant data

Page 112: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 112/122

IN-606 112

Page 113: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 113/122

Syntax for specifying the kind of knowledgeto be mined (cont.)

Classification

Page 114: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 114/122

IN-606 114

ClassificationMine_Knowledge_Specification ::=

mine classification [as pattern_name]

analyze classifying_attribute_or_dimensionPrediction

Mine_Knowledge_Specification::=mine prediction [as pattern_name]analyze prediction_attribute_or_dimension

{set {attribute_or_dimension_ i = value_ i }}

Syntax for concept hierarchy specification

• To specify what concept hierarchies to use

Page 115: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 115/122

IN-606 115

• To specify what concept hierarchies to useuse hierarchy <hierarchy> for <attribute_or_dimension>

• We use different syntax to define different type of hierarchies – schema hierarchies

define hierarchy time_hierarchy on date as [date,monthquarter,year]

– set-grouping hierarchies

define hierarchy age_hierarchy for age on customer aslevel1: { young, middle_aged, senior } < level0: alllevel2: {20, ..., 39} < level1: young level2: {40, ..., 59} < level1: middle_aged

level2: {60, ..., 89} < level1: senior

Syntax for concept hierarchy specification(Cont.)

oper tion deri ed hier rchies

Page 116: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 116/122

IN-606 116

– operation-derived hierarchiesdefine hierarchy age_hierarchy for age on customer as

{age_category(1), ..., age_category(5)} := cluster(default, age,5) < all(age)

– rule-based hierarchiesdefine hierarchy profit_margin_hierarchy on item as

level_1: low_profit_margin < level_0: allif (price - cost)< $50

level_1: medium-profit_margin < level_0: allif ((price - cost) > $50) and ((price - cost) <= $250))

level_1: high_profit_margin < level_0: allif (price - cost) > $250

Syntax for interestingness measure

specification• Interestingness measures and thresholds can be specified by the user with

Page 117: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 117/122

IN-606 117

• Interestingness measures and thresholds can be specified by the user withthe statement:

with <interest_measure_name><interest_measure_name><interest_measure_name><interest_measure_name> threshold = threshold_valuethreshold_valuethreshold_valuethreshold_value

• Example:Example:Example:Example:

with supportwith supportwith supportwith support threshold = 0.05= 0.05= 0.05= 0.05

with confidencewith confidencewith confidencewith confidence threshold = 0.7= 0.7= 0.7= 0.7

Syntax for pattern presentation and

visualization specification• We have syntax which allows users to specify the display of discovered

Page 118: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 118/122

IN-606 118

• We have syntax which allows users to specify the display of discoveredpatterns in one or more forms

display as <result_form>result_form>result_form>result_form>

• To facilitate interactive viewing at different concept level, the followingsyntax is defined:

Multilevel_Manipulation ::= roll up on attribute_or_dimension

| drill down on attribute_or_dimension| add attribute_or_dimension| drop attribute_or_dimension

Putting it all together: the full specification ofa DMQL query

use database AllElectronics_db

Page 119: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 119/122

IN-606 119

use hierarchy location_hierarchy for B.addressmine characteristics as customerPurchasing

analyze count%in relevance to C.age, I.type, I.place_madefrom customer C, item I, purchases P, items_sold S, works_at W,

branchwhere I.item_ID = S.item_ID and S.trans_ID = P.trans_ID

and P.cust_ID = C.cust_ID and P.method_paid = ``AmEx''and P.empl_ID = W.empl_ID and W.branch_ID = B.branch_ID andB.address = ``Canada" and I.price >= 100

withnoise threshold = 0.05

display as table

Other Data Mining Languages &Standardization Efforts

• Association rule language specifications

Page 120: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 120/122

IN-606 120

• Association rule language specifications – MSQL (Imielinski & Virmani’99)

– MineRule (Meo Psaila and Ceri’96) – Query flocks based on Datalog syntax (Tsur et al’98)• OLEDB for DM (Microsoft’2000)

– Based on OLE, OLE DB, OLE DB for OLAP

– Integrating DBMS, data warehouse and data mining• CRISP-DM (CRoss-Industry Standard Process for Data Mining)

– Providing a platform and process structure for effective data mining – Emphasizing on deploying data mining technology to solve business

problems

Stb.

Téradatbázisok bányászataM lti édi d tbá i k bá á t

Page 121: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 121/122

IN-606 121

Multimédia-adatbázisok bányászataRegresszió-számítás

Idősorok elemzése

Adatbányász szoftverek

• Weka (Waikato Egyetem)

Page 122: Adatbányászat

7/21/2019 Adatbányászat

http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 122/122

IN-606 122

• Enterprise Miner (SAS)• Clementine (SPSS)• Intelligent Miner (IBM)• DBMiner (Simon Fraser Egyetem)• MineSet (Silicon Graphics)• …