Adatbányászat
-
Upload
nikolett-szabados-soos -
Category
Documents
-
view
11 -
download
1
description
Transcript of 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
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
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, …
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.
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.
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
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 …
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 …?
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:
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)…
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:
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
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|)
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
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:
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.
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:
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 :
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.
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
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:
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:
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().
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
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.
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ő
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
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.)
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
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.
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.
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>
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)
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))
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
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 ||
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.
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)
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).
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:
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.
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
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||||)(
7/21/2019 Adatbányászat
http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 44/122
IN-606 44
Klaszterezés a WEKA-val:
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.
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
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
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!
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
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
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
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
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:
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)
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
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
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 é í é é
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
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 ) =
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 ) =
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.
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:
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ó:
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
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 é
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
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
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
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ó
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é
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
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
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…
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
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…
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
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
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:
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:
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
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
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
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
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,
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
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.
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
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?
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
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
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
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
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
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
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
7/21/2019 Adatbányászat
http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 96/122
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
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
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.
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.)
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.)
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
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
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
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
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
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
7/21/2019 Adatbányászat
http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 108/122
A Data Mining Query Language(DMQL)
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
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
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
7/21/2019 Adatbányászat
http://slidepdf.com/reader/full/adatbanyaszat-56df6f0ea0eff 112/122
IN-606 112
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
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
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
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
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
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
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
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
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)
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)• …