Download Adattarhaz

Document related concepts

Cluster analysis wikipedia , lookup

Nonlinear dimensionality reduction wikipedia , lookup

K-means clustering wikipedia , lookup

K-nearest neighbors algorithm wikipedia , lookup

Transcript
Adattárházak és
kiaknázásuk
A probléma:
Adatoktól az információig
Döntés
Modell
Hasznos
információ
Tudás
reprezentázió
Adatbányászat
Adatok kinyerése,
transzformálása
Adattárház
Termelés, Szolgáltatás => Adatbázis
Tisztított,
feldolgozott
adatok
Nyers
adatok
Motiváció

Az adattárházak lehetőséget biztosítanak,
hogy a termelő és üzleti folyamatokban
keletkező adatokból, az üzleti döntések
számára releváns információk legyenek
kinyerhetők.

 Hogyan
építsünk adattárházat?
 Hogyan rendezzük adatainkat?
 Hogyan nyerhetünk ki információt?
Üzleti intelligencia környezet
Mi is az adattárház ?



Információs környezet, szemben az adatátvitelorientált környezettel
Olyan folyamatok, eszközök tervezése és
implementálása, melyek alkalmasak
döntéshozatalhoz szükséges teljes, pontos, és
áttekinthető információk adatokból történő
kinyerésére.
Minden olyan tevékenységet magába foglal
amit egy szervezetnek el kell végeznie, hogy
egy adattárházat hozzon létre és üzemeltessen
Példa adattárházra
Miért is?

Strukturált módon tárolt adatokhoz egyszerű
hozzáférés
 Különböző

formátumok, platformok
Heterogén adatforrások,
 adattisztítás
 szűrés
 átalakítás
 tárolás
könnyen hozzáférhető és áttekinthető
formában
Adattárház funkciója







OLTP: Hogyan vigyünk be
és tároljunk adatokat ???
DSS: Decision Support
System, Hogyan nyerjünk ki
információt ??
EIS: Executive Information
System, Hogyan használjuk
az információt ??
Összefüggés és téma
orientált
Trend-adatok (időbeliség)
gyakran nem normált
több forrású
DB2
VSAM
ORACLE
EIS
Query/Reporting
OLAP
Adattárház struktúrája
Subject
D
A
T
A
A
C
C
E
S
S
T
R
A
N
S
F
O
R
M
A
T
I
O
N
EIS
Detail
Info Mart
Subject
Query
Reporting
Detail
Data Mart
Subject
OLAP
Detail
OLTP/Legacy
Data
METADATA
Tipikus architektúra
Intefész, GUI
Értékelés
Adatbányászati alg.
Adattisztítás
Adattárház,
adatbázis szerver
Tudásbázis
Szűrés
és integrálás
Adatbázisok
Adattárház
Adattárház definiálása

Döntéstámogató adatbázis melyet külön üzemeltetnek a
szervezet működéséhez kapcsolódó adatbázistól

Támogató információ feldolgozó egység mely egy
megbízható, feldolgozott hisztorikus, elemzések céljából
összegyűjtött adatokat tartalmaz.

“A data warehouse is a subject-oriented, integrated,
time-variant, and nonvolatile collection of data in support
of management’s decision-making process.”—W. H.
Inmon
Témaorientált

Témakörök köré szervezett, pl. vásárlók,
termékek, eladások.

A döntéshozók számára szükséges adatok
modellezéséhez és elemzéséhez kötődik, nem a
napi működéshez, illetve adatátvitelhez.

Egyszerű és tömör nézetet nyújt a fontos
témakörökben, de nem tartalmazza azokat az
adatokat, melyek nem fontosak a döntéshozatal
szempontjából.
Integrált

Több, különböző jellegű adatforrás
integrálásával épül fel
 Relációs
adatbázisok, különálló fájlok, on-line
adatátviteli források

Adattisztítási és adatintegrációs eszközöket
alkalmaznak
 Amikor
az adat bekerül az adattárházba
konvertálódik
 A konzisztenciát az elnevezési konvenciók, a
struktúrák, stb. biztosítja a különböző adatforrások
között
Idővariáns

Az időhorizont sokkal nagyobb mint egy
operációs adatbázisban.
 Operációs
adatbázis: aktuális adatok
(pl. az elmúlt nap).
 Adattárház:
hisztorikus adatok elemzésére
(pl., az előző 5-10 év)

Minden fontosabb (kulcs) struktúra tartalmaz
 Időelemet
(explicit vagy implicit módon)
Nem “illékony”

Fizikailag külön tárolt, a működési környezetből
transzformált adatok.

Az üzemvitelből adódó adatfissítés nem fordul
elő az adattárházban.
 Nincs
szükség on-line adatátvitelre, adatmentésre és
vissza, és konzisztenciát biztosító eljárásokra
 Csak
két fő adatkezelési mód:
 adattárház
feltöltése and adatok
lekérdezése .
Adattárház vs. Heterogén
Adatbázisok

Hagyományos heterogén adatbázis integráció:

Wrapper-ek/mediator-ok a heterogén adatbázisok felé illesztve

Lekérdezés alapú megközelítésmód


Amikor kliens oldalról lekérdezés érkezik, egy meta-könyvtár
segítségével a lekérdezés a heterogén adatbázis egy
eleméhez kapcsolódó lekérdezésre fordítódik, és az egyes
lekérdezések eredményei egy globális válasszá integrálódnak
Adattárház: feltöltés-alapú, integritás biztosítása,
nagy teljesítmény
 A heterogén
adatforrások információi a lekérdezés előtt
kerülnek integrálásra és tárolódnak
 Direkt
lekérdezésekhez és elemzések
Adattárház alkalmazásai

Jelentések
a
szervezeten belüli információ megosztás hatékony
eszköze
 Automatikus (web, e-mail, intranet)
 Saját jelentések (infóhoz való hozzáférés,
munkamegosztás, teljes áttekintés)

Statisztika
 Interpretáció
 Valószínűség
 Minta

(szignifikáns)
Adatbányászat
Végfelhasználók igényei

Tipikus felhasználók
 „non-frequent

user”
nem érdekli őket az adattárház, csak időről
időre információra van szükségük
 Előre
definiált, friss jelentéseket igénylő
felhasználó

Speciális érdeklődés, rendszeres
időközönként
 Dinamikus,
ad hoc lekérdezéseket
igénylő

Üzleti elemző
 Profi


felhasználó
Számára minden adat fontos
Specializált adatpiacok
Különböző felhasználók
különböző igények
OLAP (On-line Analytic Processing)

OLAP ötletét E.F. Codd, a relációs adatbázisok atyja 1993 -ban egy
Computerworld cikkben vetette fel.

Codd rájött, hogy az OLTP elérte alkalmazásainak határát, rendkívül
nagy számítási igény szükséges amikor relációs adatbázisokból
végzünk lekérdezéseket. Rájött (amit már a döntéstámogatással
foglalkozó szakértők már régóta hangoztattak): pusztán az operációs
adatok nem alkalmasak a menedzserek kérdéseire választ adni.

Idáig a relációs adatbázis képes válaszolni tipikus kérdésekre
mint „ Mi?, Mit?”

Az adattárházak a múltbeli adatok összesítésével képesek
válaszolni olyan kérdésekre mint
„Mi volt a teljes forgalom a keleti régióban a második
negyedévben ?”

Az OLAP célja az adatok elemzése és megértése alapján a
„Miért?, Mi lenne ha?” kérdések megválaszolása
OLAP II.

OLAP és az adattárház komplementer fogalmak

Az adattárház tárolja és menedzseli,

az OLAP stratégiai információvá alakítja az adatokat

Az OLAP alapötlete, hogy a menedzserek
képesek legyenek az adatok több dimenziót
figyelembe vevő kezelése, és annak megértése,
hogy azok miként fordulnak elő, illetve hogyan
változnak.

Felhasználási területei:


Piac szegmentálása, marketingkutatás, termelés
tervezés, ...
A megoldás a „multi-dimensional” azaz több
dimenziós adatbázis.
Codd 12 szabálya

1. Többdimenziós áttekintés

2. Felhasználó számára áttekinthető támogatás

3. Elérhetőség

4. Konzisztens naplók készítése

5. Kliens-szerver architektúra

6. Általános dimenzió aggregálás

7. Dinamikus ritka mátrixok

8. Multi-user támogatás

9. „Cross-dimensional operations”

10. Intuitív adatkezelés

11. Rugalmas jelentések

12. Korláttalan dimenziók
OLTP vs. OLAP
OLTP
OLAP
Felhasználó
adatrögzítő, informatikus
‘knowledge worker’
Funkció
napról napra történő
döntés támogatás
Tervezés
alkalmazás-orientált
témakör-orientált
Adat
Használat
aktuális, naprakész,
részletes, relációkba foglalt
izolált
Ismétlődő
történeti,
összesített, többdimenziós
integrált, konszolidált
ad-hoc
Elérés
írás/olvasás
Sok lekérdezés
Munka egysége
rövid, egyszerű tranzakciók Komplex lekérdezés
tizes nagyságrend
Elért rekordok
száma
Felhasználók száma ezres nagyságrend
milliós nagyságrend
százas nagyságrend
Méret
100MB-GB
100GB-TB
Mérték
Tranzakciós idő
Lekédzezési idő
Mikor használjunk OLAP-ot ?

Az adatok iránti igény nem tranzakciós
hanem elemző jellegű

Az elemzett információ nem elérhető
közvetlen módon

Jelentős számítási és összesítési igény

Főként numerikus adatok

Az elemek, melyek az adatpontokat
definiálják nem változnak időben
Miért külön adattárház?


Mindkét rendszer jó teljesítményt nyújt

Relációs adatbázis—OLTP-re hangolva: elérési módok, indexelés

Adattárház—OLAP-ra hangolva: összetett OLAP lekérdezések,
többdimenziós nézet, konszolidáció.
Különböző funkciók és különböző adatok:

Hiányzó adatok: Döntéstámogató rendszer olyan hisztorikus
adatokat kíván melyeket egy tipikus relációs adatbázisban nem
tárolnak

Adat konszolidáció: Pl. heterogén forrásból származó adatok
aggregálása, összegzése

Adat minőség: Különböző adatforrások általában inkonzisztens
reprezentációt alkalmaznak, pl. időformátumok
Adattárház <-> Heterogén
Adatbázisok

OLTP (on-line transaction processing)

A hagyományos relációs adatbázisok alapfeladata


OLAP (on-line analytical processing)

Az adattárházak alapfeladata


Napról napra történő működés: vásárlás, bank, gyártás, regisztráció,
számlázás, stb.
Adatelemzés és döntéshozatal
OLTP <-> OLAP:

Felhasználó- és rendszerorientáltság: vásárló <-> piac

Adat tartalom: aktuális, részletes vs. történeti, konszolidált

Tervezési módszer:
ER (entity-relationship) + alkalmazás <-> csillag + témakör

Nézet: aktuális, lokális <-> evolúciós, integrált

Hozzáférés: frissítés <-> csak olvasható de komplex lekérdezések
A piac szereplői és mérete

Legnagyobb megoldás szállítók
 SAS
 Oracle,
IBM
Cégek és termékek Adatbányászat
Cég
Angoss
Business objects
Datamind
IBM
Integral Solutions
Magnify
Mindmaker
Pilot software
SAS
Thinking Machines
Termék
KnowledgeSeeker
BuisnessMiner
Datacruncher
Intelligent Miner
Clementine
Pattern
Mindmaker
DSS
Enterprise Miner
Darwin
Összefoglalás I. - Varázsszavak

EIS:
Executive Information System

DSS:
Decision Support System

KDD:
Knowledge Discovery in Databases

DW:
Data Warehousing

DM:
Data Mining

OLTP:
On-line Transaction Processing

OLAP:
On-line Analytical Processing

MDA:
Multi-Dimensional Data Analysis
Relációs adatmodell VI.
Mester receptúra tábla
kulcs
mester_receptura_id
VIA_100103
VIA_100102
SUL_210015
termék
VIARON
VIARON
SULFOGEN
mester_receptura_id
VIA_100103
VIA_100102
SUL_210015
VIA_100103
SUL_210015
700
500
500
Idegen kulcs
Sarzs tábla
sarzs_id
K5-800901315
K5-800901316
K5-800902317
K5-800901318
K5-800902320
sarzs_méret
kezelő_kód
PA
SE
SE
PA
SE
Mező
(jellemző)
Kezelő tábla
Egyed (rekord)
kezelő_id
KE
KP
PA
PM
SE
vezetéknév
Kovács
Kláv
Péterhegyi
Posta
Sarzs
keresztnév
Elemér
Péter
András
Maci
Elek
beosztás
szakmunkás
szakmunkás
művezető
szakmunkás
szakmunkás
Dimenzionális adatmodellezés
Koncepciók I.
 Tények
 Kapcsolódó
adategységek
 üzleti egységet, tranzakciót, eseményt jelöl
 Kulcs tábla, melyben numerikus adatok
szerepelnek
Dimenzionális adatmodellezés
Koncepciók II.
 Dimenziók
 A tények
hátterét definiálják
(pl. idő, hely, üzletkötő …)
 Gyakran nem numerikus egységek
pl. termék márka, alkalmazott
 Diagramokban tengelyként ábrázolva

 Paraméterek,
melyekre OLAP elemzést
szeretnénk végezni

pl. Idő, Hely, Vásárló ...
Információ granuláltság
Dimenziók hierarchiája
Record
Alacsony
granuláltság
- sok részlet
Nagy
granuláltság
- kevés részlet
Menedzsment
termék
típus
üzleti
év
gyár
Üzemvezető
termék
nap
üzem
perc
berendezés
Operátor
alkatrész
Dimenziók hierarchiája
all
all
Europe
region
country
city
office
Germany
Frankfurt
...
...
...
Spain
North_America
Canada
Vancouver ...
L. Chan
...
...
Mexico
Toronto
M. Wind
További példa dimenziók
hierarchiájára
Dimenzionális adatmodellezés
Koncepciók III.
 Mértékek
 Egy
(Measures)
tény numerikus értéke (pl. eladott
mennyiség)
Koncepcionális modellezés

Csillagdiagram: Középen ténytábla körülötte dimenzió táblák

Hópiheséma: A csillagséma finomítása ahol a dimenziók
hierarchiája normált, azaz kisebb dimenzió táblákra osztott

Tény konstellációk: Több ténytábla, csillagsémák összessége,
ezért galaxissémának is hívják
 Adatkocka
Példa csillagsémára
time
item
time_key
day
day_of_the_week
month
quarter
year
Eladások tény tábla
time_key
item_key
branch_key
branch
branch_key
branch_name
branch_type
location_key
units_sold
dollars_sold
avg_sales
Measures
item_key
item_name
brand
type
supplier_type
location
location_key
street
city
province_or_street
country
Példa hópihesémára
time
time_key
day
day_of_the_week
month
quarter
year
item
Eladások ténytábla
time_key
item_key
branch_key
branch
location_key
branch_key
branch_name
branch_type
units_sold
dollars_sold
avg_sales
Measures
item_key
item_name
brand
type
supplier_key
supplier
supplier_key
supplier_type
location
location_key
street
city_key
city
city_key
city
province_or_street
country
Példa galaxissémára
time
time_key
day
day_of_the_week
month
quarter
year
item
Eladások ténytábla
time_key
item_key
item_name
brand
type
supplier_type
item_key
location_key
branch_key
branch_name
branch_type
units_sold
dollars_sold
avg_sales
Measures
time_key
item_key
shipper_key
from_location
branch_key
branch
Szállítások ténytábla
location
to_location
location_key
street
city
province_or_street
country
dollars_cost
units_shipped
shipper
shipper_key
shipper_name
location_key
shipper_type
Többdimenziós adatkocka I.

Az eladási mennyiség a termék, az idő, és a
régió függvényében Dimenziók: Termék, Hely, Idő
Egységek hierarchikus összegzése
Termék
Iparág
Idő
Régió
Év
Kategória Ország
Hónap
Termék
Város
Hét
Hivatal
Nap
Többdimenziós adatkocka II.
idő
termék
berendezés
Aggregáció
a menedzser nézete
idő
termék
Példa adatkockára
1.n.év 2 .n.év 3 .n.év 4 .n.év sum
TV
PC
Videó
sum
U.S.A
Kanada
Mexikó
sum
Ország
Idő
Teljes éves TV eladás
az U.S.A.-ban
Tábláktól az adatkockáig

Az adatkocka, pl. eladások, lehetővé teszi, hogy
több szempont figyelembevételével vizsgáljuk
az adatokat
 Dimenziótáblák,
pl. árucikk(cikk_név, márkanév,
típus), vagy idő(nap, hét, hónap, negyedév, év)
 Tény
tábla mértékeket (pl dollár_forgalom) és
kapcsolatokat tartalmaz melyek a dimenzió táblákhoz
kapcsolódnak

Az n-adatkockát base cuboid -nak hívják.
Az adatkockához tartozó
Cuboidok
all
0-D(apex) cuboid
Termék
Termék,dátum
Dátum
Ország
Termék,ország
1-D cuboidok
Dátum, oszág
2-D cuboidok
3-D(alap,base) cuboid
Termék, Dátum, Ország
Hatékony adatkocka kezelés


Az adatkocka cuboidok hálójaként értelmezhető

A legalsó cuboid az alap cuboid

A legfelső cuboid (apex) csak egy cella

Hány cuboid fordul elő egy n-dimenziós L szintből felépülő
adatkockában?
Adatkocka materializációja

full materialization, Minden cuboid kiszámítása és tárolása

no materialization,

partial materialization, Csak néhány cuboid materializációja, a
lekérdezések gyakorisága, a méret, stb. alapján
Tipikus Olap Műveletek 0. Példa
Tipikus OLAP Műveletek I.

Roll up (drill-up):
adatok összegzése


A hierarhikus dimenziók
összesítése (nap vs. év)
vagy dimenzióredució (pl.
nem érdekel minket a
hely)
Drill down (roll down):
a roll-up ellentettje

Nagyobb szintű
összesítésből részletekre
bontás, illetve új dimenziók
bevezetése
Tipikus OLAP Műveletek II.

Slice and dice:


Pivot (rotate):


Projekció és szelekció
A kocka átszervezése,
megjelenítés, 3D mint
2D síkok halmaza.
Más műveletek

drill across: Egynél több
ténytábla használata

drill through: a kocka
alsó szintjének és
annak relációs
táblájának (SQL)
kapcsolata
OLAP lekérdezések
hatékony kezelése

Határozd meg, milyen műveleteket kell elvégezni a
cuboidokon

Transzformáld a drill, roll, műveleteket megfelelő SQL
és/vagy OLAP műveletekké, dice = selection + projection

Határozd meg, melyik materializált cuboid(ok) használata
szükséges
Többdimenziós adatbázisok






Multidimensional databases (MDD) nem teljesen új ötlet.
Kb. 20 éve, az EXPRESS szoftvercsomag
Kb. a 90’-es évektől a relációs adatbázis szállítók
felfrissítették a termékeiket.
Különösképp, csillag- és hópihesémát alkalmaznak.
Az MDD az adatokat n-dimenziós adatkockában tárolja.
Ez valójában ritka mátrixokat eredményez.
Szimultán módon vizsgálhatóak a különböző jellegű
jellemzők, pl. termékek, régiók, eladások, költségek. A
lényeg, az MDD-ben az idő szintén dimenzió.
Az MDD relációs adatbázisokkal szembeni legfőbb
előnye, hogy a lekérdezések egyszerűségére, illetve
sebességére van optimalizálva
Tipikus adattárház architektúra
Többszintű architektúra
other
Metadata
sources
Operational
DBs
Extract
Transform
Load
Refresh
Monitor
&
Integrator
Data
Warehouse
OLAP Server
Serve
Analysis
Query
Reports
Data mining
Data Marts
Data Sources
Data Storage
OLAP Engine Front-End Tools
Az adattárház felépítése

Három tipikus komponens
 Maga
az adattárház, az adatokkal és a hozzá
tartozó szoftverrel
 Adatgyűtjő
(back end) szoftver mely a külső
forrásokból származó adatokat konszolidálja,
összegzi, és betölti az adattárházba
oldali (front-end) szoftver mely lehetővé
teszi a felhasználóknak, hogy elérjék és
elemezzék az adatokat.
 Kliens
Adattárház struktúrális elemei
Adat források






Operációs adatbázisok
Hisztorikus adatok
Külső adatforrások
(Internet)
Különböző platformokon
Különböző módon
strukturált információk
Nem strukturált infó:
Képek, multimédia szöveg
Extrakció/propagálás




Különböző
forrásokból
az adatok gyűjtése
Szelektív folyamat
(releváns
információk)
Pulling (Extrakció)
Pushing
(Propagation)
Transzformáció/Tisztítás

Kód feloldás
 mapping

tables
pl. 1: férfi, 2 nő …
 rejtett
üzleti szabályok
feloldása


pl. számlaszám,
vonalkód felépítése
Tisztítás (cleansing)
 hiányzó
értékek
pótlása
 normalizálás (pl. euró,
dollár)
 konzisztens
reprezentáció
Finomítás-Refining



Rész-adathalmazok
generálása
Számított mezők
Információk
összegzése
(summarize)
 granuláltság
szintjét
változtatja


pl. heti adatok
Információk
aggregálása
 Csoportok

generálása
pl. termékcsoportok
Adatpiac







Speciális döntésekhez
szabott
elő-aggregált információk
Végfelhasználók
hozzáférésének kontrolálása
Speciális információkhoz
gyors hozzáférés
Végfelhasználóknak
interfész
Adattárház kiegészítése
Egyensúly az adatpiacok
száma és specializáltsága
(egyszerűsége) között
Gyakori probléma, hogy felépítése
osztályról osztályra változik.
Ezért az adattárházak integrációja bonyolult feladat.
Meta-adatok


Kategóriák segítségével
struktúrálja az adattárház
adatait
Témaorientált: a valós
egyedek absztrakciói


Definiálja, hogy kell a
transzformált adatot
interpretálni,



pl. projekt
pl. dátum 5/9/99
A válaszidő becslésére
alkalmas, pl. rekordok
száma
A származtatott változók
számításának leírása
Meta-adatok II.

Típusai
 Technikai

az adattárház üzemeltetéséhez
 Üzleti

az üzleti elemzők és az
adattárház kapcsolatát segíti,
pl.Üzleti szakkifejezések
Forrásai
 Formális

dokumentált, ismertetett
 Informális

hagyományok,
belső ökölszabályok
Operation Data Store (ODS)





A vállalat egészét érintő
döntéshozáshoz
felhasználható
Naprakészen tartható integrált
adat
Téma orientált
Integrált
Naprakész (current valued)



többféleképpen értelmezhető (pl.
könyvelési év)
Illékony (ami ma naprakész
…)
Részletes
Adattárház tervezési folyamat
 Architektúra
megválasztása
 Implementációs mód megválasztása
 Kivitelezés (rolling out)
 SAS
Rapid Warehousing Methodology
Architektúra megválasztása I.
Globális adattárház architektúra
•Az egész vállalatot támogatja
•félreértés, hogy centralizált
(pláne nem fizikailag)
•A vállalat informatikusai
üzemeltetik
Architektúra megválasztása I.
Adatpiac architektúra
•Különböző osztályok
•Helyi üzemeltetés
•Kicsi erőforrás igény
•Az összehangolás
erőfeszítéseket igényel
•Hozzáférési
jogosultságok
Két tűz között
Igények
Amit szeretnénk
Felhasználó
alapú
Ami
kivitelezhető
és hasznos
Amink van
Adatok
Forrás
alapú
Top-Down Implementáció
 Információs

Fázisokból álló modellezés
Üzleti koncepció
 Üzleti


tervezés
elemzés
Igények felmérése
Tevékenység felmérése
 Logikus
adatmodellezés
 Generáló adatmodell
 Felhasználói adatmodell


Veszélyek
Egyedek és relációk
Fizikai adattervezés
Fizikai korlátok
(pl. tároló kapacitás)
•Túl általános célból fakadóan túl összetett feladat
•Túl sok egység összehangolása

Bottom-Up implementáció
 Először
adat piacokat
hoznak létre
 Lépésről lépésre bővítik
 Rögtön hasznosuló
eredmény
 Lehetséges hátrányok
 Adatredundancia
 Inkonzisztencia
 Nehéz az adatpiacok
integrálása
Résztvevők
SAS Rapid Warehousing Methodology
Tisztán
meghatározott felelőségi körök
 Rugalmas
 kis
feladatkörök
projekt, egy személy több szerepkör
Kulcsfeladatok és szereplők
 Vezetői szponzor
 Projekt menedzsment
 Adattárház tervezők







logical és physical
Adattárház adminisztrátorok
Adat adminisztrátorok
Építő csapat
IT szakértők
Minőség biztosításért felelősök
Felhasználók
Tervezés és kivitelezés (rolling out)
 Definiálni
az architektúrát, megtervezni a kapacitást, és
kiválasztani a tároló szervereket, az adatbázist és az OLAP
szervereket, valamint az eszközöket.
 Integrálni a szervereket, a tárolókat és a kliens eszközöket.
 Megtervezni
az adatmodell sémáit és nézeteket.
 Definiálni a fizikai adattárház szerveződést, az adat elhelyezést, a
részekre bontást és az elérési módszereket.
 A forrásokhoz kapcsolódni átjárók (gateway), ODBC meghajtók
vagy egyéb wrapper-ek segítségével.
 Az adatok kivonására, tisztítására, átalakítására, betöltésére és
frissítésére script-eket tervezni és implementálni.
 A végfelhasználói (end-user) alkalmazások megtervezése és
implementálása.
 Kivitelezni (roll out) az adattárházat és az alkalmazásokat.
Adattárház tervezésének nézetei

Négy nézet
 „Top-down”

Megengedi az adattárházhoz szükséges információk
kiválasztását
 Data

source (adatforrás) nézet
feltárja a tárolandó és kezelendő információkat
 Adattárház

nézet
tény- és dimenziótáblákban gondolkodik
 „Business

nézet
query” nézet
a végfelhasználó szemszögéből, azaz az alkalmazási oldalról
indul
Tervezési módszertanok

Top-down, bottom-up megközelítések vagy ezek
kombinációja
 Top-down:
 Bottom-up:
Általános terv alapú (átgondolt)
Kísérletekre és prototípusokra épít
(gyors)

A „software engineering” nézőpontból
 Waterfall
(Vízesés): Strukturált és szisztematikus
elemzés minden lépésben
 Spiral:
Gyors generálása az egyre összetettebb
egységeknek, visszatérés ...
Javasolt megközelítési mód
Multi-Tier Data
Warehouse
Distributed
Data Marts
Data
Mart
Data
Mart
Model refinement
Enterprise
Data
Warehouse
Model refinement
Define a high-level corporate data model
Iteratív adattárház
project
Tipikus tervezési folyamat

Üzleti folyamat kiválasztása, pl. megrendelés,
számlázás

Az üzleti folyamat elemi szintjeinek (grain)
feltárása

Dimenziók megválasztása, (a ténytábla minden
rekordjában szerepelnek)

Mértékek (a ténytábla adatai)
Megvalósítási modellek

Vállalati adatmodell

Adatgranuláltság modell

Logikai adatpartíciós modell
Vállalati adatmodell
Enterprise Data Model
(EDM)
Fázisokból álló modellezés

Információs tervezés

Üzleti koncepció


Üzleti elemzés


igények felmérése
Logikai adatmodellezés




pl. üzletegység, vásárlók,
Generáló logikus adatmodell
Logikus felhasználói
adatmodell
részletes, Egyedek és relációk
Fizikai adattervezés

Fizikai korlátok
(pl. tároló kapacitás)
Egyszerű vállalati adatmodell
Az EDM előnyei, sikerének
kulcsa

Jól követhető, az integrációt propagáló fejlesztés
Konzisztens adatdefiníciót támogatja

Veszélyek

 Túl
általános célból fakadóan túl összetett feladat
 Túl sok egység összehangolása
 Nehéz olyan embert találni, aki a felelős részterületén
kívül tevékenységének teljes üzletmenetre gyakorolt
hatását jól átlátja
Adatgranuláltság modell


Egyensúly az
adattárolás
költsége
(adatelérési idő is)
és a válaszadás
lehetősége között
Multigranulált
adatmodellezés

Kétszintű tárolás

Részletes
adatok és
összesített
adatok a felsőbb
szinten
Logikai adatparticiós modell

Témakörök (Subject area)
 Lásd
az adattárház definícióját
 5W1H szabály


when, where, who, what, why és how
A felosztás célja
 Adatok
rugalmas elérése, menedzselése
 Adattárház skálázhatósága
 Adattárház hordozhatósága

Ha megvannak az egységek,
 mik
a kapcsolatok?
Az adatbányászat helye
Increasing potential
to support
business decisions
Making
Decisions
Data Presentation
Visualization Techniques
Data Mining
Information Discovery
End User
Business
Analyst
Data
Analyst
Data Exploration
Statistical Analysis, Querying and Reporting
Data Warehouses / Data Marts
OLAP, MDA
Data Sources
Paper, Files, Information Providers, Database Systems, OLTP
DBA
Data Mining: A KDD Process
Data mining: the core
of knowledge
discovery process.
Pattern Evaluation
Data Mining
Task-relevant Data
Data
Warehouse
Data Cleaning
Data Integration
Databases
Selection
What Is Data Mining?

Data mining (knowledge discovery in databases):
 Extraction
of interesting (non-trivial,
implicit, previously unknown and
potentially useful) information or
patterns from data in large databases

Alternative names and their “inside stories”:



Data mining: a misnomer?
Knowledge discovery(mining) in databases (KDD),
knowledge extraction, data/pattern analysis, data
archeology, data dredging, information harvesting,
business intelligence, etc.
What is not data mining?


(Deductive) query processing.
Expert systems or small ML/statistical programs
What is (not) Data Mining?
What is not Data
Mining?


What is Data Mining?
– Look up phone
number in phone
directory
– Certain names are more
prevalent in certain US
locations (O’Brien, O’Rurke,
O’Reilly… in Boston area)
– Query a Web
search engine for
information about
“Amazon”
– Group together similar
documents returned by
search engine according to
their context (e.g. Amazon
rainforest, Amazon.com,)
Origins of Data Mining

Draws ideas from





machine learning/AI,
pattern recognition,
statistics,
and database systems
Traditional Techniques
may be unsuitable due to



Enormity of data
High dimensionality
of data
Heterogeneous,
distributed nature
of data
A Multi-Dimensional View of
Data Mining Classification

General functionality

Descriptive data mining





Predictive data mining
Databases to be mined
 Relational, transactional, object-oriented, object-relational, active,
spatial, time-series, text, multi-media, heterogeneous, legacy, WWW,
etc.
Knowledge to be mined
 Characterization, discrimination, association, classification, clustering,
trend, deviation and outlier analysis, etc.
 Multiple/integrated functions and mining at multiple levels
Techniques utilized
 Database-oriented, data warehouse (OLAP), machine learning,
statistics, visualization, neural network, etc.
Applications adapted

Retail, telecommunication, banking, fraud analysis, DNA mining, stock market
analysis, Web mining, Weblog analysis, etc.
Data Mining Tasks...
Data
10
Milk
Tid Refund Marital
Status
Taxable
Income Cheat
1
Yes
Single
125K
No
2
No
Married
100K
No
3
No
Single
70K
No
4
Yes
Married
120K
No
5
No
Divorced 95K
Yes
6
No
Married
No
7
Yes
Divorced 220K
No
8
No
Single
85K
Yes
9
No
Married
75K
No
10
No
Single
90K
Yes
11
No
Married
60K
No
12
Yes
Divorced 220K
No
13
No
Single
85K
Yes
14
No
Married
75K
No
15
No
Single
90K
Yes
60K
Association Rule Discovery


Given a set of records, find dependency rules which will
predict occurrence of an item based on occurrences of
other items in the record
TID
Items
1
Bread, Coke, Milk
2
3
4
5
Beer, Bread
Beer, Coke, Diaper, Milk
Beer, Bread, Diaper, Milk
Coke, Diaper, Milk
Rules Discovered:
{Milk} --> {Coke} (s=0.6, c=0.75)
{Diaper, Milk} --> {Beer}
(s=0.4, c=0.67)
Applications

Marketing and Sales Promotion
 Supermarket shelf management
 Inventory Management
Support, s 
# transacti ons that contain X and Y
Total transacti ons
Confidence , c 
# transacti ons that contain X and Y
# transacti ons that contain X
A vásárlói kosár elemzés
 Adott
m-féle termék
 Adottak a vásárlások (tranzakciók): a vásárlói kosarak tartalma, pl. n db
kosár

Motiváció: szabályszerűségek feltárása
 Szupermarket:
a vásárlók 10% - a vásárol egyszerre sajtot és bort
 Web log: az a látogató, aki felkeresi a CNN weboldalát, az 60%-os
valószínűséggel 1 hónapon belül felkeresi az ABC News weboldalát is

Kérdés:
Mely termékeket szokták („nagy” valószínűséggel) együtt vásárolni?
Pl.:
Milyen részegységeket szoktak gyakran egyszerre vásárolni egy PC
vásárlása során?
Alapfogalmak 1.





E = {e1, e2, …, em} elemek egy adatbázisban (pl. termékek)
E részhalmazai: elemhalmazok
T = {t1, t2, …tn}: tranzakciók (rekordok) halmaza
X elemhalmaz előfordul ti -ben, ha az X része ti-nek
X gyakorisága: azon T tranzakciók száma, melyekben X
előfordul, (támogatottság, support, supp) kiszámítása:
gyakoriság(X) = |{ti | X eleme ti, ahol ti eleme T}|

Százalékos formában: osztjuk |T|-vel, így:
P(X) valószínűség
Alapfogalmak 2.

X gyakori elemhalmaz, ha meghaladja az ún. minimális gyakoriságot
(gyakoriság küszöb, σ): tehát ha
gyakoriság(X) > σ

Minimális gyakoriság: objektív, adat vezérelt, vagy pedig szubjektív, a
felhasználó határozza meg

Példa 1: Mik lesznek az elemek? Milyen gyakori elemhalmazokat és
szabályokat fedezünk fel?
E = {tej, kenyér, sör, tojás, kóla, pelenka}
TID
Items
1
Bread, Milk
2
3
4
5
Beer, Diaper, Bread, Eggs
Beer, Coke, Diaper, Milk
Beer, Bread, Diaper, Milk
Coke, Bread, Diaper, Milk
A {sör, pelenka} elemhalmaz gyakorisága:
3 (60%)
Ha pl. σ = 50 %, akkor ez gyakori
elemhalmaz.
Alapfogalmak 3.
1
A gyakori elemhalmazok hátránya: nem mutatják meg az elemhalmaz
elemei között fennálló kapcsolatokat.
Ezért: asszociációs szabályokat generálhatunk a gyakori
Items
elemhalmazokból
Bread, Milk
2
3
4
5
Beer, Diaper, Bread, Eggs
Beer, Coke, Diaper, Milk
Beer, Bread, Diaper, Milk
Coke, Bread, Diaper, Milk


TID
A {sör, pelenka} gyakori elemhalmazból pl. a
következő szabályokat:
-Ha valaki vesz sört, akkor bizonyos valószínűséggel
pelenkát is vásárol: Sör -> Pelenka
-Ha valaki vesz pelenkát, akkor bizonyos
valószínűséggel sört is vásárol: Pelenka -> Sör
Az ilyen X -> Y implikációt hívjuk asszociációs szabálynak!

Előzmény - X és következmény rész - Y
Bizonyosság (konfidencia, conf) mutató:
bizonyosság(X->Y) = gyakoriság(X Y)/gyakoriság(X)
∩

Alapfogalmak 4.

Számítsuk ki a bizonyosságát az előbbi szabályoknak, felhasználva a példa
vásárlói kosarakat tartalmazó táblázatot!
TID
Items
1
Bread, Milk
2
3
4
5
Beer, Diaper, Bread, Eggs
Beer, Coke, Diaper, Milk
Beer, Bread, Diaper, Milk
Coke, Bread, Diaper, Milk
Conf(Sör -> Pelenka) = supp(Sör, Pelenka)/supp(Sör) = 3/3 (100 %)
Conf(Pelenka -> Sör) = supp(Sör, Pelenka)/supp(Pelenka) = ¾ (75 %)



Melyik az „erősebb szabály” ?
Bizonyos egy szabály, ha bizonyossága meghaladja a minimális
bizonyosságot (γ).
Érvényes (fontos) szabály: ha gyakori és bizonyos is
Hogyan keressünk szabályokat?

Adott n tranzakció és m különböző elem:
 A lehetséges szabályok száma:
O(m2m1 )


Számítás komplexitása:
O( Nm2m )
Szisztematikus keresés minden mintára, a „támogatottsági kényszer”
felhasználásával:

Ha supp {X,Y} < a, akkor supp {X} < a és supp {Y} < a
 Ha supp {X} < a vagy supp {Y} < a , akkor supp {X,Y} < a

Ötlet: Az n elemszámú gyakori termékhalmaz kereséséhez használjuk fel az
(n-1) elemszámúakat!
Asszociációs szabály generáló
algoritmusok

A feladat 2 fő részre bontható:
1.
2.

Gyakori termékhalmazok megkeresése
Szabályok generálása
Közkedvelt gyakori elemhalmaz kereső algoritmus: APRIORI




Adjuk meg a keresési feltételeket (supp,conf)
Keressük meg a gyakori elemhalmazokat, felhasználva a támogatottsági
kényszert (a korábbi ismereteket - innen az Apriori elnevezés)
Ezekből generáljunk szabályokat
Nézzük meg melyek a „fontos” szabályok, bizonyosság (min_confidence),
illetve más mértékek számítása is lehetséges

(pl. korreláció, PS - Piatetsky-Shapiro érdekességi mérték, stb.)
A jelölt halmazok (jelöltek)
felállítása
Apriori – elv:
Apriori algoritmus működése
Szabályok generálása
Gyakori termékhalmazok
Szabályok (|Y|=1)
X
L ={ 1, 2, 3, 5,
{1,3}, {2,3},
{2,5}, {3,5},
{2,3,5} }
Fontos Szabályok:
s(r) > min_supp és
c(r) > min_conf
1
3
2
3
2
5
3
5
2 3
2 5
3 2
Y
supp conf
50 100
3
1
3
2
5
2
5
3
50 66.67
50 66.67
…
…
…
…
5
3
5
…
…
…
AprioriTID algoritmus


Adatbázis kivonatolása: Apriori-elv használata, de az eredeti adatbázist
csak az első lépésben tekinti
Elhagyjuk a „felesleges”, nem gyakori elemeket, ill. tranzakciókat
Direkt hash-elés és tisztítás –
DHP algoritmus


Legnagyobb számban 2-elemű jelöltek fordulnak elő, viszont csak
néhány százalékuk gyakori (ez a szűk keresztmetszet a jelöltállításon
alapuló algoritmusoknál)
Hash alapú jelöltállítás -> csökken a 2-eleműek száma
Asszociációs szabályok kiválasztása – érdekességi
mutatók


Félrevezethető lehet egy szabály!!!
Pl. 500 ember kávé (80 %) és tea (20 %) fogyasztását elemezzük
(mindkettőt 15%).
tea -> kávé szabály bizonyossága 75 % , viszont 80 % csak kávét iszik,
tehát a tea fogyasztás a kávé fogyasztását csökkenti, így a
fenti szabály félrevezető!
Túl sok az érvényes (supp + conf) szabályunk, de melyek az igazán
fontosak? -> Érdekességi mutatók:
Asszociációs szabályok típusai 1.


1. Boole-féle, két értékű asszociációs szabályok (szerepel egy
elem/elemhalmaz a tranzakcióban vagy sem)
2. Mennyiségi szabályok (numerikus vagy kvantitatív)
Asszociációs szabályok típusai 2.

Éles határok problémája a kategorikus esetre:

Megoldás: fuzzy logika használata a partícionáláshoz -> 3.
fuzzy asszociációs szabályok
fiatal középkorú idős
A1,1 A1,2 … A1,q1
A2,1
A2,2 … A2,q2
An,1
An,2 … An,qn
1
1
1
1
1
1
1
1
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0
0
0.5
0
0 1
0
00.5
0.51
z1
0
0 1
0
00.5
0.51
életkorz2
0
0 1
…
0
00.5
0.51
0
0 1
zn
0.5
1
Asszociációs szabályok típusai 3.

4. Többszintű asszociációs szabályok (részletes és általános szabályok
feltárása is)
Data Mining Functionalities (cont.)


Classification and Prediction

Finding models (functions) that describe and distinguish classes
or concepts for future prediction

E.g., classify countries based on climate, or classify cars based
on gas mileage

Presentation: decision-tree, classification rule, neural network

Prediction: Predict some unknown or missing numerical values
Cluster analysis

Class label is unknown: Group data to form new classes, e.g.,
cluster houses to find distribution patterns

Clustering based on the principle: maximizing the intra-class
similarity and minimizing the interclass similarity
Predictive Modeling

Find a model for class attribute as a function of
the values of other attributes
Model for predicting tax evasion
Married
Yes
10
Tid Refund
Marital
Status
Taxable
Evade
Income
1
Yes
Single
125K
No
2
No
Married
100K
No
3
No
Single
70K
No
4
Yes
Married
120K
No
5
No
Divorced 95K
Yes
6
No
Married
No
7
Yes
Divorced 220K
No
8
No
Single
85K
Yes
9
No
Married
75K
No
10
No
Single
90K
Yes
60K
NO
Income100K
Yes
Yes
Yes
Learn
Classifier
No
NO
Income
 80K
NO
No
YES
Clustering

Given a set of data points, find groupings such that
 Data
points in one cluster are more similar to one
another
 Data points in separate clusters are less similar to one
another
Clustering: Applications

Market Segmentation

Gene expression clustering

Document Clustering
Category
Total
Articles
Correctly
Placed
555
364
Foreign
341
260
National
273
36
Metro
943
746
Sports
738
573
Entertainment
354
278
Financial
Training data:

A collection of records (objects) x. Each record contains a set of
features and the class C that it belongs to.
age
<=30
<=30
30…40
>40
>40
>40
31…40
<=30
<=30
>40
<=30
31…40
31…40
>40
income student credit_rating
high
no
fair
high
no
excellent
high
no
fair
medium
no
fair
low
yes
fair
low
yes
excellent
low
yes
excellent
medium
no
fair
low
yes
fair
medium
yes
fair
medium
yes
excellent
medium
no
excellent
high
yes
fair
medium
no
excellent
buys_computer
no
no
yes
yes
yes
no
yes
no
yes
yes
yes
yes
yes
no
{xi , Ci } i  1...N
Evaluation of Classification Systems
Training Set: examples with class
values for learning.
Predicted
False Positives
Test Set: examples with class values
for evaluating.
Evaluation: Hypotheses are used to
infer classification of examples in the
test set; inferred classification is
compared to known classification.
True Positives
False Negatives
Actual
Accuracy: percentage of examples in
the test set that are classified correctly.
Bayesian Classification: Why?




Probabilistic learning: Calculate explicit probabilities for hypothesis,
among the most practical approaches to certain types of learning
problems
Incremental: Each training example can incrementally
increase/decrease the probability that a hypothesis is correct. Prior
knowledge can be combined with observed data.
Probabilistic prediction: Predict multiple hypotheses, weighted by their
probabilities
Standard: Even when Bayesian methods are computationally
intractable, they can provide a standard of optimal decision making
against which other methods can be measured
Bayesian classification


The classification problem may be formalized using aposteriori probabilities:
P(C|X) = prob. that the sample tuple
X=<x1,…,xk> is of class C.

E.g. P(class=N | outlook=sunny,windy=true,…)

Idea: assign to sample X the class label C such that
P(C|X) is maximal
Estimating a-posteriori probabilities

Bayes theorem:
P(C|X) = P(X|C)·P(C) / P(X)

P(X) is constant for all classes

P(C) = relative freq of class C samples

C such that P(C|X) is maximum =
C such that P(X|C)·P(C) is maximum

Problem: computing P(X|C)
Naïve Bayesian Classification




Naïve assumption: attribute independence
P(x1,…,xk|C) = P(x1|C)·…·P(xk|C)
If i-th attribute is categorical:
P(xi|C) is estimated as the relative freq of
samples having value xi as i-th attribute in class
C
If i-th attribute is continuous:
P(xi|C) is estimated thru a Gaussian density
function
Computationally easy in both cases
Play-tennis example: estimating P(xi|C)
Outlook
sunny
sunny
overcast
rain
rain
rain
overcast
sunny
sunny
rain
sunny
overcast
overcast
rain
Temperature Humidity Windy Class
hot
high
false
N
hot
high
true
N
hot
high
false
P
mild
high
false
P
cool
normal false
P
cool
normal true
N
cool
normal true
P
mild
high
false
N
cool
normal false
P
mild
normal false
P
mild
normal true
P
mild
high
true
P
hot
normal false
P
mild
high
true
N
P(p) = 9/14
outlook
P(sunny|p) = 2/9
P(sunny|n) = 3/5
P(overcast|p) = 4/9
P(overcast|n) = 0
P(rain|p) = 3/9
P(rain|n) = 2/5
temperature
P(hot|p) = 2/9
P(hot|n) = 2/5
P(mild|p) = 4/9
P(mild|n) = 2/5
P(cool|p) = 3/9
P(cool|n) = 1/5
humidity
P(high|p) = 3/9
P(high|n) = 4/5
P(normal|p) = 6/9
P(normal|n) = 2/5
windy
P(n) = 5/14
P(true|p) = 3/9
P(true|n) = 3/5
P(false|p) = 6/9
P(false|n) = 2/5
Play-tennis example: classifying X

An unseen sample X = <rain, hot, high, false>

P(X|p)·P(p) =
P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) =
3/9·2/9·3/9·6/9·9/14 = 0.010582
P(X|n)·P(n) =
P(rain|n)·P(hot|n)·P(high|n)·P(false|n)·P(n) =
2/5·2/5·4/5·2/5·5/14 = 0.018286


Sample X is classified in class n (don’t play)
A Decision Tree for “buys_computer”
age?
<=30
student?
overcast
30..40
yes
age
<=30
<=30
30…40
>40
>40
>40
31…40
<=30
<=30
>40
<=30
31…40
31…40
>40
income student credit_rating
high
no
fair
high
no
excellent
high
no
fair
medium
no
fair
low
yes
fair
low
yes
excellent
low
yes
excellent
medium
no
fair
low
yes
fair
medium
yes
fair
medium
yes
excellent
medium
no
excellent
high
yes
fair
medium
no
excellent
>40
credit rating?
no
yes
excellent
fair
no
yes
no
yes
buys_computer
no
no
yes
yes
yes
no
yes
no
yes
yes
yes
yes
yes
no
Classification by Decision Tree Induction

Decision tree





Decision tree generation consists of two phases



A flow-chart-like tree structure
Internal node denotes a test on an attribute
Branch represents an outcome of the test
Leaf nodes represent class labels or class distribution
Tree construction
 At start, all the training examples are at the root
 Partition examples recursively based on selected attributes
Tree pruning
 Identify and remove branches that reflect noise or outliers
Use of decision tree: Classifying an unknown sample

Test the attribute values of the sample against the decision tree
Algorithm for Decision Tree Induction

Basic algorithm (a greedy algorithm)






Tree is constructed in a top-down recursive divide-and-conquer manner
At start, all the training examples are at the root
Attributes are categorical (if continuous-valued, they are discretized in
advance)
Examples are partitioned recursively based on selected attributes
Test attributes are selected on the basis of a heuristic or statistical
measure (e.g., information gain)
Conditions for stopping partitioning

All samples for a given node belong to the same class
 There are no remaining attributes for further partitioning – majority voting
is employed for classifying the leaf
 There are no samples left
Attribute Selection Measure

Information gain (ID3/C4.5)



All attributes are assumed to be categorical
Can be modified for continuous-valued attributes
Gini index (IBM IntelligentMiner)




All attributes are assumed continuous-valued
Assume there exist several possible split values for each attribute
May need other tools, such as clustering, to get the possible split
values
Can be modified for categorical attributes
Entropy I.




S is a sample of training examples
p+ is the proportion of positive P examples
p- is the proportion of negative N examples
Entropy measures the impurity of S
Entropy(S) = -p+ log2 p+ - p- log2 p-
Entropy II.
Entropy(S)= expected number of bits needed to encode
class (+ or -) of randomly drawn members of S (under
the optimal, shortest length-code)
Why?
 Information theory optimal length code assign
–log2 p bits to messages having probability p.
 So the expected number of bits to encode
(+ or -) of random member of S:
-p+ log2 p+ - p- log2 p
Information Gain in Decision Tree Induction

Assume that using attribute A a set S will be partitioned
into sets {S1, S2 , …, Sv}

If Si contains pi examples of P and ni examples of N, the
entropy, or the expected information needed to classify objects
in all subtrees Si is
pi  ni
I ( pi , ni )
i 1 p  n

E ( A)  

The encoding information that would be gained by
branching on A
Gain( A)  I ( p, n)  E ( A)
Example of Information Gain
[29+,35-] A1=?
True
[21+, 5-]
A2=? [29+,35-]
False
[8+, 30-]
True
[18+, 33-]
False
[11+, 2-]
Entropy([29+,35-]) = -29/64 log2 29/64 – 35/64 log2 35/64= 0.99
Entropy([21+,5-]) = 0.71
Entropy([8+,30-]) = 0.74
Gain(S,A1)=Entropy(S)
-26/64*Entropy([21+,5-])
-38/64*Entropy([8+,30-])
=0.27
Entropy([18+,33-]) = 0.94
Entropy([8+,30-]) = 0.62
Gain(S,A2)=Entropy(S)
-51/64*Entropy([18+,33-])
-13/64*Entropy([11+,2-])
=0.12
Attribute Selection by Information Gain Computation
age
<=30
<=30
30…40
>40
>40
>40
31…40
<=30
<=30
>40
<=30
31…40
31…40
>40

income student credit_rating
high
no fair
high
no excellent
high
no fair
medium
no fair
low
yes fair
low
yes excellent
low
yes excellent
medium
no fair
low
yes fair
medium yes fair
medium yes excellent
medium
no excellent
high
yes fair
medium
no excellent
buys_computer
no
no
yes
yes
yes
no
yes
no
yes
yes
yes
yes
yes
no
Class P: buys_computer =
“yes”

Class N: buys_computer = “no”

I(p, n) = I(9, 5) =0.940

Compute the entropy for age:
age
<=30
30…40
>40
pi
2
4
3
ni
3
0
2
I(pi, ni)
0.971
0
0.971
5
4
I ( 2,3) 
I ( 4,0)
14
14
5

I (3,2)  0.69
14
E ( age) 
Hence
Gain(age)  I ( p, n)  E (age)
Similarly
Gain(income)  0.029
Gain( student )  0.151
Gain(credit _ rating )  0.048
The result
age?
<=30
student?
overcast
30..40
yes
age
<=30
<=30
30…40
>40
>40
>40
31…40
<=30
<=30
>40
<=30
31…40
31…40
>40
income student credit_rating
high
no
fair
high
no
excellent
high
no
fair
medium
no
fair
low
yes
fair
low
yes
excellent
low
yes
excellent
medium
no
fair
low
yes
fair
medium
yes
fair
medium
yes
excellent
medium
no
excellent
high
yes
fair
medium
no
excellent
>40
credit rating?
no
yes
excellent
fair
no
yes
no
yes
buys_computer
no
no
yes
yes
yes
no
yes
no
yes
yes
yes
yes
yes
no
Gini Index (IBM IntelligentMiner)

If a data set T contains examples from n classes, gini index, gini(T) is
defined as
n 2
gini(T ) 1  p j
j 1
where pj is the relative frequency of class j in T.
 If a data set T is split into two subsets T1 and T2 with sizes N1 and N2
respectively, the gini index of the split data contains examples from n
classes, the gini index gini(T) is defined as

The attribute provides the smallest ginisplit(T) is chosen to split the node
(need to enumerate all possible splitting points for each attribute).
gini split (T ) 
N 1 gini( )  N 2 gini( )
T1
T2
N
N
Extracting Classification Rules from Trees





Represent the knowledge in the form of IF-THEN rules
One rule is created for each path from the root to a leaf
Each attribute-value pair along a path forms a conjunction
The leaf node holds the class prediction
Rules are easier for humans to understand
IF age = “<=30” AND student = “no”
THEN buys_computer = “no”
IF age = “<=30” AND student = “yes”
THEN buys_computer = “yes”
IF age = “31…40”
THEN buys_computer = “yes”
IF age = “>40” AND credit_rating = “excellent” THEN buys_computer = “yes”
IF age = “>40” AND credit_rating = “fair” THEN buys_computer = “no”
age?
<=30
student?
30..40
overcast
yes
>40
credit rating?
no
yes
excellent
fair
no
yes
no
yes
Approaches to Determine the Final Tree Size

Use all the data for training


Use minimum description length (MDL) principle:


but apply a statistical test (e.g., chi-square) to estimate whether
expanding or pruning a node may improve the entire distribution
halting growth of the tree when the encoding is minimized
Use cross validation
Instance-Based Methods

Instance-based learning:


Store training examples and delay the processing (“lazy
evaluation”) until a new instance must be classified
Typical approaches
 k-nearest neighbor approach
Instances represented as points in a Euclidean space.
Locally weighted regression
 Constructs local approximation


Nearest Neighbor
•
•
•
•
Given a distance metric
Assign class to be the same
as its nearest neighbor
All training data is used
during operation
Multi-class decision
framework
The k-Nearest Neighbor Algorithm





All instances correspond to points in the n-D space.
The nearest neighbor are defined in terms of Euclidean distance.
The target function could be discrete- or real- valued.
For discrete-valued, the k-NN returns the most common value
among the k training examples nearest to xq.
Vonoroi diagram: the decision surface induced by 1-NN for a
typical set of training examples.
.
_
_
_
+
_
_
.
+
+
xq
_
+
.
.
.
.
Discussion on the k-NN Algorithm

The k-NN algorithm for continuous-valued target functions


Calculate the mean values of the k nearest neighbors
Distance-weighted nearest neighbor algorithm

Weight the contribution of each of the k neighbors according to their
distance to the query point xq
 giving greater weight to closer neighbors
1
w
d ( xq , xi )2


Robust to noisy data by averaging k-nearest neighbors
Curse of dimensionality: distance between neighbors could be
dominated by irrelevant attributes.

To overcome it, axes stretch or elimination of the least relevant attributes.
The Problem of Clustering

Given a set of points, with a notion of distance
between points, group the points into some
number of clusters, so that members of a cluster
are in some sense as close to each other as
possible.
Example
x
x
x
x x
x x
x xx x
x x x
x x
x
x
xx x
x x
x x x
x
xx x
x
x x
x x x x
x x x
x
The Curse of Dimensionality


Many applications involve not 2, but 10 or
10,000 dimensions.
High-dimensional spaces look different: almost
all pairs of points are at about the same
distance.
 Example:
assume random points within a bounding
box, e.g., values between 0 and 1 in each dimension.
Example: Clustering Documents

Represent a document by a vector (x1, x2,…, xk),
where xi = 1 iff the i th word (in some order)
appears in the document.
 It
actually doesn’t matter if k is infinite; i.e., we don’t
limit the set of words.

Documents with similar sets of words may be
about the same topic.
Distance Measures


Each clustering problem is based on some
kind of “distance” between points.
Two major classes of distance measure:
1.
2.
Euclidean
Non-Euclidean
Euclidean Vs. Non-Euclidean

A Euclidean space has some number of realvalued dimensions and “dense” points.
 There
is a notion of “average” of two points.
 A Euclidean distance is based on the locations of
points in such a space.

A Non-Euclidean distance is based on
properties of points, but not their “location” in a
space.
Axioms of a Distance Measure

d is a distance measure if it is a function from
pairs of points to real numbers such that:
1.
2.
3.
4.
d(x,y) > 0.
d(x,y) = 0 iff x = y.
d(x,y) = d(y,x).
d(x,y) < d(x,z) + d(z,y) (triangle inequality ).
Some Euclidean Distances

L2 norm : d(x,y) = square root of the sum of the
squares of the differences between x and y in
each dimension.
 The

most common notion of “distance.”
L1 norm : sum of the differences in each
dimension.
 Manhattan
distance = distance if you had to travel
along coordinates only.
Examples of Euclidean Distances
y = (9,8)
L2-norm:
dist(x,y) =
(42+32)
=5
5
4
x = (5,5)
3
L1-norm:
dist(x,y) =
4+3 = 7
Another Euclidean Distance


L∞ norm : d(x,y) = the maximum of the
differences between x and y in any
dimension.
Note: the maximum is the limit as n goes
to ∞ of what you get by taking the n th power of
the differences, summing and taking the n th
root.
Non-Euclidean Distances



Jaccard distance for sets = 1 minus ratio of
sizes of intersection and union.
Cosine distance = angle between vectors from
the origin to the points in question.
Edit distance = number of inserts and deletes
to change one string into another.
And in the Non-Euclidean Case?

The only “locations” we can talk about are the
points themselves.
 I.e.,

there is no “average” of two points.
Approach 1: clustroid = point “closest” to other
points.
 Treat
clustroid as if it were centroid, when computing
intercluster distances.
“Closest” Point?

Possible meanings:
1.
2.
3.
4.
Smallest maximum distance to the other points.
Smallest average distance to other points.
Smallest sum of squares of distances to other
points.
Etc., etc.
Example
clustroid
1
2
6
3
4
5
intercluster
distance
clustroid
Other Approaches to Defining
“Nearness” of Clusters


Approach 2: intercluster distance = minimum
of the distances between any two points, one
from each cluster.
Approach 3: Pick a notion of “cohesion” of
clusters, e.g., maximum distance from the
clustroid.
 Merge
clusters whose union is most cohesive.
Return to Euclidean Case


Approaches 2 and 3 are also used sometimes in
Euclidean clustering.
Many other approaches as well, for both
Euclidean and non.
k –Means Algorithm(s)



Assumes Euclidean space.
Start by picking k, the number of clusters.
Initialize clusters by picking one point per cluster.
 For
instance, pick one point at random, then k -1
other points, each as far away as possible from the
previous points.
Populating Clusters
1.
2.
3.
For each point, place it in the cluster whose
current centroid it is nearest.
After all points are assigned, fix the centroids
of the k clusters.
Optional: reassign all points to their closest
centroid.

Sometimes moves points between clusters.
Example
Reassigned
points
2
4
x
6
7
5
x
3
1
8
Clusters after first round
Getting k Right
 Try
different k, looking at the change in the average
distance to centroid, as k increases.

Average falls rapidly until right k, then changes
little.
Average
distance to
centroid
Best value
of k
k
Example
Too few;
many long
distances
to centroid.
x
x
x
x x
x x
x xx x
x x x
x x
x
x
xx x
x x
x x x
x
xx x
x
x x
x x x x
x x x
x
Example
Just right;
distances
rather short.
x
x
x
x x
x x
x xx x
x x x
x x
x
x
xx x
x x
x x x
x
xx x
x
x x
x x x x
x x x
x
Example
Too many;
little improvement
in average
x
distance.
x x
x
x
x x
x xx x
x x x
x x
x
x
xx x
x x
x x x
x
xx x
x
x x
x x x x
x x x
x
Evaluating the Web
PageRank
Hubs and Authorities
PageRank


Intuition: solve the recursive equation: “a page is
important if important pages link to it.”
In high-falutin’ terms: importance = the principal
eigenvector of the stochastic matrix of the Web.
 A few
fixups needed.
Stochastic Matrix of the Web



Enumerate pages.
Page i corresponds to row and column i.
M [i,j ] = 1/n if page j links to n pages,
including page i ; 0 if j does not link to i.

M [i,j ] is the probability we’ll next be at page i if we
are now at page j.
Example
Suppose page j links to 3 pages, including i
j
i
1/3
Random Walks on the Web


Suppose v is a vector whose i th component is
the probability that we are at page i at a
certain time.
If we follow a link from i at random, the
probability distribution for the page we are
then at is given by the vector M v.
Random Walks --- (2)



Starting from any vector v, the limit M (M (…M
(M v ) …)) is the distribution of page visits during
a random walk.
Intuition: pages are important in proportion to
how often a random walker would visit them.
The math: limiting distribution = principal
eigenvector of M = PageRank.
Example: The Web in 1839
y a
y 1/2 1/2
a 1/2 0
m 0 1/2
Yahoo
Amazon
M’soft
m
0
1
0
Simulating a Random Walk



Start with the vector v = [1,1,…,1] representing
the idea that each Web page is given one unit of
importance.
Repeatedly apply the matrix M to v, allowing the
importance to flow like a random walk.
Limit exists, but about 50 iterations is sufficient
to estimate final distribution.
Example

Equations v = M v :
y = y /2 + a /2
a = y /2 + m
m = a /2
y
a =
m
1
1
1
1
3/2
1/2
5/4
1
3/4
9/8
11/8
1/2
...
6/5
6/5
3/5
Solving The Equations



Because there are no constant terms, these 3
equations in 3 unknowns do not have a unique
solution.
Add in the fact that y +a +m = 3 to solve.
In Web-sized examples, we cannot solve by
Gaussian elimination; we need to use relaxation
(= iterative solution).
Real-World Problems

Some pages are “dead ends” (have no links out).
 Such

a page causes importance to leak out.
Other (groups of) pages are spider traps (all outlinks are within the group).
 Eventually
spider traps absorb all importance.
Microsoft Becomes Dead End
y a
y 1/2 1/2
a 1/2 0
m 0 1/2
Yahoo
Amazon
M’soft
m
0
0
0
Example

Equations v = M v :
y = y /2 + a /2
a = y /2
m = a /2
y
a =
m
1
1
1
1
1/2
1/2
3/4
1/2
1/4
5/8
3/8
1/4
...
0
0
0
M’soft Becomes Spider Trap
y a
y 1/2 1/2
a 1/2 0
m 0 1/2
Yahoo
Amazon
M’soft
m
0
0
1
Example

Equations v = M v :
y = y /2 + a /2
a = y /2
m = a /2 + m
y
a =
m
1
1
1
1
1/2
3/2
3/4
1/2
7/4
5/8
3/8
2
...
0
0
3
Google Solution to Traps, Etc.



“Tax” each page a fixed percentage at each
interation.
Add the same constant to all pages.
Models a random walk with a fixed probability of
going to a random place next.
Example: Previous with 20% Tax

Equations v = 0.8(M v ) + 0.2:
y = 0.8(y /2 + a/2) + 0.2
a = 0.8(y /2) + 0.2
m = 0.8(a /2 + m) + 0.2
y
a =
m
1
1
1
1.00 0.84
0.60 0.60
1.40 1.56
0.776
0.536 . . .
1.688
7/11
5/11
21/11
General Case


In this example, because there are no deadends, the total importance remains at 3.
In examples with dead-ends, some importance
leaks out, but total remains finite.
Solving the Equations


Because there are constant terms, we can
expect to solve small examples by Gaussian
elimination.
Web-sized examples still need to be solved by
relaxation.
Speeding Convergence



Newton-like prediction of where components of
the principal eigenvector are heading.
Take advantage of locality in the Web.
Each technique can reduce the number of
iterations by 50%.
 Important
--- PageRank takes time!
Predicting Component Values

Three consecutive values for the importance of a
page suggests where the limit might be.
1.0
0.7
Guess for the next round
0.6
0.55
Exploiting Substructure


Pages from particular domains, hosts, or
paths, like stanford.edu or wwwdb.stanford.edu/~ullman tend to have
higher density of links.
Initialize PageRank using ranks within your
local cluster, then ranking the clusters
themselves.
Strategy





Compute local PageRanks (in parallel?).
Use local weights to establish intercluster weights
on edges.
Compute PageRank on graph of clusters.
Initial rank of a page is the product of its local
rank and the rank of its cluster.
“Clusters” are appropriately sized regions with
common domain or lower-level detail.
In Pictures
1.5
2.05
3.0 2.0
0.15
0.1
Local ranks
Intercluster weights
Ranks of clusters
Initial eigenvector
0.05
Hubs and Authorities

Mutually recursive definition:
 A hub
links to many authorities;
 An authority is linked to by many hubs.

Authorities turn out to be places where
information can be found.
 Example:

course home pages.
Hubs tell where the authorities are.
 Example:
CSD course-listing page.
Transition Matrix A


H&A uses a matrix A [i, j ] = 1 if page i links to
page j, 0 if not.
AT, the transpose of A, is similar to the
PageRank matrix M, but AT has 1’s where M
has fractions.
Example
Yahoo
Amazon
y a m
y 1 1 1
A= a 1 0 1
m 0 1 0
M’soft
Using Matrix A for H&A



Powers of A and AT diverge in size of elements,
so we need scale factors.
Let h and a be vectors measuring the “hubbiness”
and authority of each page.
Equations: h = λAa; a = μAT h.
 Hubbiness
= scaled sum of authorities of successor
pages (out-links).
 Authority = scaled sum of hubbiness of predecessor
pages (in-links).
Consequences of Basic
Equations

From h = λAa; a = μAT h we can derive:
= λμAAT h
 a = λμATA a
h

Compute h and a by iteration, assuming
initially each page has one unit of hubbiness
and one unit of authority.
 Pick
an appropriate value of λμ.
Example
111
A= 101
010
110
AT = 1 0 1
110
321
AAT= 2 2 0
101
212
ATA= 1 2 1
212
a(yahoo) =
a(amazon) =
a(m’soft) =
1
1
1
5
4
5
24
18
24
114
84
114
...
...
...
1+3
2
1+3
h(yahoo) =
h(amazon) =
h(m’soft) =
1
1
1
6
4
2
28
20
8
132
96
36
...
...
...
1.000
0.735
0.268
Solving the Equations

Solution of even small examples is tricky,
because the value of λμ is one of the unknowns.
equation like y = λμ(3y +2a +m) lets us solve for
λμ in terms of y, a, m ; equate each expression for
λμ.
 Each

As for PageRank, we need to solve big
examples by relaxation.
Details for h --- (1)
y = λμ(3y +2a +m)
a = λμ(2y +2a )
m = λμ(y +m)
 Solve for λμ:
λμ = y /(3y +2a +m) = a / (2y +2a ) = m / (y +m)
Details for h --- (2)
Assume y = 1.
λμ = 1/(3 +2a +m) = a / (2 +2a ) = m / (1+m)

Cross-multiply second and third:
a +am = 2m +2am or a = 2m /(1-m )
 Cross multiply first and third:
1+m = 3m + 2am +m 2 or a =(1-2m -m 2)/2m

Details for h --- (3)
Equate formulas for a :
a = 2m /(1-m ) = (1-2m -m 2)/2m
 Cross-multiply:
1 - 2m - m 2 - m + 2m 2 + m 3 = 4m 2
 Solve for m : m = .268
 Solve for a : a = 2m /(1-m ) = .735

Solving H&A in Practice


Iterate as for PageRank; don’t try to solve
equations.
But keep components within bounds.
 Example:
scale to keep the largest component of
the vector at 1.

Trick: start with h = [1,1,…,1]; multiply by AT
to get first a; scale, then multiply by A to get
next h,…
H&A Versus PageRank

If you talk to someone from IBM, they will tell
you “IBM invented PageRank.”
 What
they mean is that H&A was invented by Jon
Kleinberg when he was at IBM.


But these are not the same.
H&A has been used, e.g., to analyze
important research papers; it does not appear
to be a substitute for PageRank.