Adattárházak és kiaknázásuk

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

GRIN: Gráf alapú RDF index
Multidimenzionális Adatbázisok Alapjai
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Számalk-MIS Tanácsadó Kft. Tel:
ADATBÁZISOK.
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Kliens-szerver architektúra
A normalizálás az adatbázis-tervezés egyik módszere
Adatbázis-kezelés.
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
Többfelhasználós és internetes térkép kezelés, megjelenítés.
Fekvőbeteg adatbázis szervezés GyógyinfokPirisa Levente.
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Műveletek logaritmussal
Hatékony gyorsítótár használata legrövidebb utak kereséséhez Bodnár István, Fodor Krisztián, Gyimesi Gábor Jeppe Rishede Thomsen, Man Lung Yiu, Christian.
16. Tétel. Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az adatokhoz való hozzáférést,
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton.
Adatbányászat. Miért kell menedzselni a tudást és az adatokat? Az adatok mennyisége folyamatosan nő Az elektronikus dokumentáltság növeli az átláthatatlan.
Dr. Szalka Éva, Ph.D.1 Statisztika II. VII.. Dr. Szalka Éva, Ph.D.2 Mintavétel Mintavétel célja: következtetést levonni a –sokaságra vonatkozóan Mintavétel.
1950-es évek 1960-as évek 1970-es évek 1980-as évek 1990-es évek
Adatbázis-kezelés ACCESS program:
Előadó: Prof. Dr. Besenyei Lajos
Üzleti intelligencia Kecskemét 2007 ősz. BI Business Intelligence Üzleti Intelligencia Bevételnövelő és költségcsökkentő lehetőségek feltárása, döntéstámogatás.
Az adatfeldolgozás forrásai
Megvalósíthatóság és költségelemzés Készítette: Horváth László Kádár Zsolt.
Microsoft BI technológiák az eszközmenedzsment szolgálatában
Az Alakfelismerés és gépi tanulás ELEMEI
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
Matematikai alapok és valószínűségszámítás
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Térkép. Mi az adat? Minden információ, amit tárolni kell. Minden információ, amit tárolni kell.  szám  szöveg  dátum  hang  kép, stb.
Adatbázisrendszerek jövője
1 Informatikai Szakképzési Portál Adatbázis kezelés Alapfogalmak.
Szemantikus keresők.
Önálló labor munka Csillag Kristóf 2005/2006. őszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
Önálló labor munka Csillag Kristóf 2004/2005. tavaszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Alapsokaság (populáció)
Két kvantitatív változó kapcsolatának vizsgálata
11. tétel Adatbázis táblái közti kapcsolatok optimalizálása
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
Adatbázis-kezelés.
Adatbázis-kezelés Probléma: az excel kezelhetetlen túl sok adat esetén
A Microsoft Üzleti Intelligencia megoldása és platformja
MI 2003/ Mi lenne a b legjobb választása? Statisztikai eljárásoknál az un. Fisher féle lineáris diszkriminancia függvény adja a legjobb szétválasztási.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Adatbázis alapfogalmak
LOGISZTIKA Előadó: Dr. Fazekas Lajos Debreceni Egyetem Műszaki Kar.
Adatbányászati módszerek a weblogfájlok elemzésében
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
előadások, konzultációk
Adattár alapú Vezetői Információs Rendszer (AVIR) Fejérvári Bence március 26.
MI 2003/8 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Kutatási beszámoló 2002/2003 I. félév Iváncsy Renáta.
Automatikus fizikai tervezési javaslatok XML adatbázisokhoz Balogh Bernadett Kresz Marcell Cseh Tamás.
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
PhD beszámoló 2003/2004 I. félév Készítette: Iváncsy Renáta Konzulens: Dr. Vajk István.
Adatbázisszintű adatmodellek
Bevezetés Adatbázisok használata. Mi is az adatbázis? Az adatbázisok ma már az élet számos területén alapvető fontossággal bírnak (Google, Amazon, Flickr,
Adatbázis alapismeretek
Relációs adatmodell, normálformák
Üzleti intelligencia megoldások, avagy vezetői döntéstámogatás (XXI.)
A mesterséges neuronhálók alapjai
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Adattárházak és kiaknázásuk

A probléma: Adatoktól az információig Hasznos információ Döntés Modell Tudás reprezentázió Adatbányászat Adatok kinyerése, transzformálása Tisztított, feldolgozott adatok Adattárház Nyers adatok Termelés, Szolgáltatás => Adatbázis

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átvitel-orientá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ú

Adattárház struktúrája

Tipikus architektúra Intefész, GUI Értékelés Adatbányászati alg. Tudásbázis Adattárház, adatbázis szerver Adattisztítás és integrálás Szűré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. “Az adattárház témaorientált, integrált, idővariáns és nem illékony kollekciója olyan adatoknak, amelyek a vezetőség döntéshozatali folyamatát támogatják.”—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 és 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

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 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. OLAP (on-line analytical processing) Az adattárházak alapfeladata 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 Termék Angoss KnowledgeSeeker Business objects BuisnessMiner Datamind Datacruncher IBM Intelligent Miner Integral Solutions Clementine Magnify Pattern Mindmaker Mindmaker Pilot software DSS SAS Enterprise Miner Thinking Machines 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 Idegen kulcs Sarzs tábla Mező (jellemző) Kezelő tábla Egyed (rekord)

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ó ...

Alacsony granuláltság Információ granuláltság Dimenziók hierarchiája Alacsony granuláltság - sok részlet Nagy granuláltság - kevés részlet termék típus üzleti év gyár Menedzsment Üzemvezető termék nap üzem Operátor alkatrész perc berendezés

Dimenziók hierarchiája all all Europe ... North_America region Germany ... Spain Canada ... Mexico country Vancouver ... city Frankfurt ... Toronto L. Chan ... M. Wind office

További példa dimenziók hierarchiájára

Dimenzionális adatmodellezés Koncepciók III. Mértékek (Measures) Egy 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 item branch time Eladások tény tábla time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_type item Eladások tény tábla time_key item_key branch_key branch_key branch_name branch_type branch location_key street city province_or_street country location location_key units_sold dollars_sold avg_sales Measures

Példa hópihesémára item supplier branch time Eladások ténytábla time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_key item supplier_key supplier_type supplier Eladások ténytábla time_key item_key branch_key location_key street city_key location branch_key branch_name branch_type branch location_key units_sold city_key city province_or_street country dollars_sold avg_sales Measures

Példa galaxissémára item time Szállítások ténytábla Eladások ténytábla time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_type item Szállítások ténytábla Eladások ténytábla time_key item_key time_key shipper_key item_key from_location branch_key branch_key branch_name branch_type branch location_key to_location location_key street city province_or_street country location dollars_cost units_sold units_shipped dollars_sold avg_sales shipper_key shipper_name location_key shipper_type shipper Measures

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 Régió Iparág Régió Év Kategória Ország Hónap Termék Város Hét Hivatal Nap Termék Idő

Többdimenziós adatkocka II. Aggregáció a menedzser nézete idő idő termék termék berendezés

Példa adatkockára All, All, All Idő Termék Ország Teljes éves TV eladás az U.S.A.-ban Idő Termék Ország All, All, All sum TV Videó PC 1.n.év 2 .n.év 3 .n.év 4 .n.év U.S.A Kanada Mexikó

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 Ország Termék Dátum 1-D cuboidok Termék,dátum Termék,ország 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: Projekció és szelekció Pivot (rotate): 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 Operational DBs other sources Monitor & Integrator OLAP Server Metadata Extract Transform Load Refresh Analysis Query Reports Data mining Serve Data Warehouse 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 Kliens oldali (front-end) szoftver mely lehetővé teszi a felhasználóknak, hogy elérjék és elemezzék az adatokat.

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 pl. projekt Definiálja, hogy kell a transzformált adatot interpretálni, 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 Forrásai Technikai Üzleti Formális Informális 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

Ami kivitelezhető és hasznos Két tűz között Igények Amit szeretnénk Felhasználó alapú Ami kivitelezhető és hasznos Forrás alapú Amink van Adatok

Top-Down Implementáció Információs tervezés Üzleti koncepció Üzleti elemzés Igények felmérése Tevékenység felmérése Logikus adatmodellezés Generáló adatmodell Felhasználói adatmodell Egyedek és relációk Fizikai adattervezés Fizikai korlátok (pl. tároló kapacitás) Fázisokból álló modellezés Veszélyek 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 feladatkörök kis 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” nézet 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 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: Általános terv alapú (átgondolt) Bottom-up: 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 Enterprise Data Warehouse Data Mart Data Mart Model refinement 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) Információs tervezés Üzleti koncepció pl. üzletegység, vásárlók, Üzleti elemzés igények felmérése Logikai adatmodellezés 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) Fázisokból álló modellezé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 End User Making Decisions Data Presentation Business Analyst Visualization Techniques Data Mining Data Analyst Information Discovery Data Exploration Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts OLAP, MDA DBA Data Sources Paper, Files, Information Providers, Database Systems, OLTP

Adatbányászat: KDD folyamat Tudás Mintakiértékelés Adatbányászat: a tudásfeltáró folyamat magja. Adatbányászat Feladathoz lényeges adatok Adattárház Válogatás Adattisztítás Adatintegráció Adatbázisok

Mi az adatbányászat? Adatbányászat (tudásfeltárás adatbázisokban): Érdekes (nemtriviális, implicit, eddig ismeretlen és potenciálisan hasznos) információ kinyerése nagy adatbázisokból. Más elnevezések és „belső történetük”: Adatbányászat: pontatlan? Tudásfeltárás (-bányászat) adatbázisokban (KDD), tudáskinyerés, adat-/mintaanalízis, adatarcheológia, adatkotrás, információbetakarítás, üzleti intelligencia stb. Mi nem adatbányászat? (Deduktív) lekérdezésfeldolgozás. Szakértő rendszerek és kis ML/statisztikai programok.

Mi (nem) adatbányászat? Keressünk meg egy telefonszámot a telefonkönyvben Keressünk rá egy webes kereséssel az „amazon” szóra Mi adatbányászat? Bizonyos nevek gyakoriak egy adott társadalmi csoportban (pl. Bogdán, Kolompár...) Csoportosítsuk a webkereső által visszaadott dokumentumokat hasonlóság szerint (pl. amazonok, Amazon.com) Kultúra-/nyelvspecifikus példák frissítve.

Az adatbányászat eredetei Ötleteket merít ezekből: gépi tanulás, MI mintafelismerés statisztika adatbázisrendszerek A hagyományos technikák nem mindig megfelelőek, mert Nagy mennyiségű az adat Sok dimenziós Heterogén, elosztott jellegű

Az adatbányászat osztályozásának többdimenziós nézete Általános funkciók Leíró adatbányászat Előrejelző adatbányászat A bányászásra váró adatbázisok Relációs, tranzakciós, objektumorientált, objektumrelációs, aktív, térbeli, idősoros, szöveges, multimédia, heterogén, hagyaték, WWW stb. A bányászandó tudás Jellemzés, megkülönböztetés, társítás, osztályozás, csomósítás, irányvonal-, szórás- és szélsőséganalízis stb. Több/integrált funkciók és bányászat több szinten Felhasznált technikák Adatbázis-orientált, adattárház (OLAP), gépi tanulás, statisztika, vizualizáció, neuronháló stb. Alkalmazási lehetőségek Kereskedelem, távközlés, bankrendszer, csalásfelderítés, DNS-bányászat, tőzsdeelemzés, Web-bányászat, Weblog elemzés stb.

Adatbányászati feladatok... Csomósítás Előrejelző modellezés Anomália- felismerés Társítási szabályok Tej

Társítási szabályok feltárása Adott rekordhalmaz alapján keressünk függőségi szabályokat, amelyek megjósolják egy elem előfordulását a rekord többi elemének előfordulása alapján Alkalmazások Értékesítés és árengedmények Áruházi polcok kezelése Készletkezelés Feltárt szabályok: {tej} --> {kóla} (s=0.6, c=0.75) {pelenka, tej} --> {sör} (s=0.4, c=0.67)

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} A {sör, pelenka} elemhalmaz gyakorisága: 3 (60%) Ha pl. σ = 50 %, akkor ez gyakori elemhalmaz.

Alapfogalmak 3. 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 elemhalmazokból 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) 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! ∩

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! 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: Számítás komplexitása: 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ó: 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 Y supp conf L ={ 1, 2, 3, 5, {1,3}, {2,3}, {2,5}, {3,5}, {2,3,5} } 1 3 3 1 2 3 3 2 2 5 5 2 3 5 5 3 2 3 5 2 5 3 3 2 5 50 100 50 66.67 … Fontos Szabályok: s(r) > min_supp és c(r) > min_conf

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 életkor

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)

Adatbányászati funkciók (folyt.) Osztályozás és előrejelzés Keressünk modelleket (függvényeket), amelyek megkülönböztetnek osztályokat vagy fogalmakat előrejelzés céljából. pl. országok osztályozása éghajlat alapján, autók osztályozása fogyasztás alapján Bemutatás: döntési fa, osztályozó szabály, neuronháló Előrejelzés: jósoljunk meg ismeretlen vagy hiányzó számértékeket Csomósodás elemzése Az osztálycímke ismeretlen: csportosítsuk az adatokat új osztályokba, csomókba, és keressünk eloszlásmintákat A csomósítás alapelve: maximalizáljuk az osztályon belüli hasonlóságot és minimalizáljuk az osztályok közötti hasonlóságot

Előrejelző modellezés Keressünk egy modellt az osztály attribútumához a többi attribútum függvényében Modell az adócsalás előrejelzésére kategorikus kategorikus folytonos osztály házas nem igen NEM bevétel100K igen nem bevétel  80K NEM igen nem Tanuló osztályozás NEM IGEN

Csomósítás Adott adatponthalmaz alapján keressünk olyan csoportosítást, amelyben Egy csomón belüli adatpontok legyenek hasonlók egymáshoz Különböző csomók adatpontjai legyenek minél kevésbé hasonlók egymáshoz

Csomósítás: Alkalmazások Piac szegmentálása Génkifejezések csomósítása Dokumentumok csomósítása

Tanulóadatok: Egy rekordkollekció: x. Minden rekord tartalmazza a jellemzőket és a C osztályt, amelyhez tartozik. We have a set of training vectors and each vector consists of pair: object described by N features and class label.

Osztályozó rendszerek kiértékelése Hamis pozitívok Igazi pozitívok Hamis negatívok Valódi Jósolt Tanulóhalmaz: példák osztályértékekkel a tanuláshoz. Teszthalmaz: példák osztályértékekkel kiértékeléshez. Kirtékelés: Hipotézisekkel levezetjük a teszthalmaz példáinak osztályozását, majd ezt összehasonlítjuk az ismert osztályozással. Pontosság: a teszthalmaz helyesen besorolt elemeinek százalékos aránya.

Bayes-osztályozás: Miért? Valószínűségi tanulás: Kiszámítja a hipotézis explicit valószínűségét, ez az egyik leggyakorlatiasabb megközelítése bizonyos tanuló problémáknak. Növekményes: Minden tanulópélda fokozatosan növelheti/csökkentheti annak a valószínűségét, hogy a hipotézis helyes. Az előismeretek kombinálhatók a megfigyelt adatokkal. Valószínűségi előrejelzés: Megjósol több hipotézist, a valószínűségükkel súlyozva. Szabvány: Még ha a Bayes-féle módszerek nem kiszámíthatóak is, egy szabványos optimális döntéshozatalt biztosítanak, amelyhez képest mérhetők az egyéb módszerek.

Bayes-osztályozás Az osztályozási probléma formalizálható feltételes valószínűséggel: P(C|X) = vsz., hogy a minta X=<x1,…,xk> osztálya C. pl. P(osztály=N | égbolt=napos, szél=igaz,…) Ötlet: rendeljük az X mintához azt a C osztálycímkét, amelyre P(C|X) maximális.

Feltételes valószínűség becslése Bayes-tétel: P(C|X) = P(X|C)·P(C) / P(X) P(X) minden osztályra konstans P(C) = a C osztályú minták relatív gyak.-a C, amelyre P(C|X) maximális = C, amelyre P(X|C)·P(C) maximális Probléma: P(X|C) kiszámítása

Naív Bayes-osztályozás Naív feltételezés: attribútumok függetlensége P(x1,…,xk|C) = P(x1|C)·…·P(xk|C) Ha az i. attribútum kategorikus: P(xi|C) becslése az xi attribútumérték gyakorisága a C osztályban Ha az i. attribútum folytonos: P(xi|C) Gauss-féle sűrűségfüggvénnyel becsülhető Mindkét eset könnyen számítható

Tenisz példa: P(xi|C) becslése kilátás P(napos | j) = 2/9 P(napos | n) = 3/5 P(felhős | j) = 4/9 P(felhős | n) = 0 P(esős | j) = 3/9 P(esős | n) = 2/5 hőmérséklet P(meleg | j) = 2/9 P(meleg | n) = 2/5 P(enyhe | j) = 4/9 P(enyhe | n) = 2/5 P(hűvös | j) = 3/9 P(hűvös | n) = 1/5 páratartalom P(magas | j) = 3/9 P(magas | n) = 4/5 P(normál | j) = 6/9 P(normál | n) = 2/5 szeles P(igaz | j) = 3/9 P(igaz | n) = 3/5 P(hamis | j) = 6/9 P(hamis | n) = 2/5 P(j) = 9/14 P(n) = 5/14

Tenisz példa: X osztályozása Egy ismeretlen példa: X = <esős, meleg, magas, hamis> P(X | j)·P(p) = P(esős | p)·P(meleg | p)·P(magas | p)·P(hamis | p)·P(p) = 3/9·2/9·3/9·6/9·9/14 = 0.010582 P(X | n)·P(n) = P(esős | n)·P(meleg | n)·P(magas | n)·P(hamis | n)·P(n) = 2/5·2/5·4/5·2/5·5/14 = 0.018286 Az X példát az n osztályba soroljuk (ne játsszunk)

Döntési fa számítógép vásárlására kor? <=30 30..40 >40 tanuló? igen hitelminősítés? nem igen kiváló becsületes nem igen nem igen

Osztályozás döntési fa levezetésével A döntési fa állapotdiagram-szerű faszerkezet a belső csúcsok egy attibútum értékének vizsgálatát jelentik minden ág a vizsgálat egy lehetséges eredményét jelenti a levélcsúcsok jelentik az osztálycímkéket vagy -eloszlást A döntési fa felépítése kétfázisú folyamat Fa felépítése Kezdetben minden tanulópélda a gyökérben van Partíciónáljuk a példákat rekurzívan kiválasztott attribútumok szerint Fametszés Ismerjük fel és töröljük a zaj vagy szélsőség által behozott ágakat A döntési fa felhasználása: ismeretlen minta osztályozása Az attribútumok értékeit vizsgáljuk a fa alapján

Algoritmus döntési fa levezetésére Alap algoritmus (mohó) A fát fentről lefelé haladó rekurzív oszd meg és uralkodj módon építjük fel Kezdetben minden tanulópélda a gyökérben van Minden attribútum kategorikus (a folytonos értékűeket diszkretizáljuk) A példákat rekurzívan partícionáljuk kiválasztott attribútumok szerint A vizsgálandó attribútumoket heurisztikus vagy statisztikai mérték alapján választjuk (pl. információnyereség) A partícionálás leállásának feltételei Egy csúcs minden mintája ugyanabba az osztályba tartozik Nincs több attribútum, amely szerint partícionálhatnánk - többségi szavazás dönt a levél besorolásáról Elfogynak a minták

Attribútumkiválasztási mértékek Információnyereség (ID3/C4.5) Minden attribútumot kategorikusnak feltételezünk Módosítható folytonos attribútumra Gini index (IBM IntelligentMiner) Minden attribútumot folytonosnak feltételezünk Feltételezzük, hogy minden attribútumhoz több lehetséges vágó érték létezik Szükség lehet más eszközökre, pl. csomósításra a legjobb vágó értékek meghatározásához Módosítható kategorikus attribútumokra

Entrópia I. S egy tanulómintákat tartalmazó halmaz p+ a pozitív P példák száma p- a negatív N példák száma Az entrópia S szennyezettségének mértékét mutatja Entrópia(S) = -p+ log2 p+ - p- log2 p-

Entrópia II. Entrópia(S)= S elemeit leíró osztály (+ vagy -) leírásához szükséges bitek számának várható értéke (optimális, legrövidebb hosszú kóddal) Miért? Az információelmélet szerint az optimális hosszúságú kódban a p valószínűségű üzenethez rendelt kód hossza –log2 p bit. Tehát egy véletlenszerű S-beli elem (+ vagy -) osztályának megfelelő kód várható hossza -p+ log2 p+ - p- log2 p-

Információnyereség döntési fa levezetésénél Tegyük fel, hogy az A attribútum alapján az S halmazt partícionáljuk az {S1, S2 , …, Sv} részhalmazokra. Ha Si tartalmaz pi példát P-ből és ni példát N-ből, akkor az entrópia, azaz az összes Si részfában levő objektumok osztályozásához szükséges információ várható értéke A kódolással nyert információ, ha A-ban elágazunk:

Példa információnyereségre Igaz Hamis [21+, 5-] [8+, 30-] [29+,35-] A2=? Igaz Hamis [18+, 33-] [11+, 2-] [29+,35-] Entrópia([29+,35-]) = -29/64 log2 29/64 – 35/64 log2 35/64= 0.99 Entrópia([18+,33-]) = 0.94 Entrópia([8+,30-]) = 0.62 Nyereség(S,A2)=Entrópia(S) -51/64*Entrópia([18+,33-]) -13/64*Entrópia([11+,2-]) =0.12 Entrópia([21+,5-]) = 0.71 Entrópia([8+,30-]) = 0.74 Nyereség(S,A1)=Entrópia(S) -26/64*Entrópia([21+,5-]) -38/64*Entrópia([8+,30-]) =0.27

Attribute Selection by Information Gain Computation Innen Hasonlóan P osztály: vesz számítógépet = „igen” N osztály: vesz számítógépet = „nem” I(p, n) = I(9, 5) =0.940 Számítsuk ki a kor entrópiáját: Egyenletszerkesztő rules.

Az eredmény kor? tanuló? hitelminősítés? nem igen becsületes kiváló <=30 >40 30..40

Gini Index (IBM IntelligentMiner) Ha egy T adathalmaz n osztályból tartalmaz példákat, akkor a gini index, gini(T) definíciója ahol pj a j osztály gyakorisága T-ben. Ha egy T adathalmaz két részhalmazra bomlik, T1-re és T2-re, melyek mérete N1 ill. N2, akkor az n osztályú adatot tartalmazó halmazra vonatkozó gini(T) definíciója Azon attribútum alapján vágjuk a csúcsot, amelyre a ginisplit(T) értéke a legkisebb (minden lehetséges felosztási pontot fel kell sorolni minden egyes attribútumra).

Osztályozási szabályok kiolvasása fákból A tudást IF-THEN szabályok formájában ábrázoljuk Egy szabály egy gyökértől levélig tartó útnak felel meg Az út menti attribútum-érték párok konjunkciót alkotnak A levélcsúcs tartalmazza az osztály jóslását A szabály ember számára könnyebben értelmezhető IF kor = “<=30” AND tanuló = „nem” THEN vesz_számítógépet = „nem” IF kor = “<=30” AND tanuló = „igen” THEN vesz_számítógépet = „igen” IF kor = “31…40” THEN vesz_számítógépet = „igen” IF kor = “>40” AND hitelminősítés = „kiváló” THEN vesz_számítógépet = „nem” IF kor = “>40” AND hitelminősítés = „becsületes” THEN vesz_számítógépet = „igen” kor? tanuló? hitelminősítés? nem igen becsületes kiváló <=30 >40 30..40

Megközelítések a végleges faméret meghatározására Az összes adatot használjuk tanításra de használjunk egy statisztikai próbát (pl. khí-négyzet), hogy megbecsüljük, egy csúcs kiterjesztése vagy metszése javít-e az eloszláson A minimális leíráshossz (MDL) alapelvét használjuk: leállítjuk a fa növekedsét, ha a kódolás minimális Kereszt-ellenőrzést használunk

Példányalapú módszerek Példányalapú tanulás: Tároljuk a tanulópéldákat és halasszuk el a kiértékelést („lusta kiértékelés”), amíg egy új példányt nem kell osztályozni Tipikus megközelítések k-legközelebbi szomszéd megközelítés A példányokat pontokkal reprezentáljuk egy euklidészi térben Lokálisan súlyozott regresszió Lokális közelítést épít fel

Legközelebbi szomszéd Adott egy távolságmetrika Mindenkinek legyen ugyanaz az osztálya, mint a legközelebbi szomszédjának A művelet során az összes tanulóadatot felhasználjuk Többosztályú döntési keretrendszer

A k-legközelebbi szomszéd algoritmus (k-NN) Minden példány egy n dimenziós tér egypontjának felel meg. A legközelebbi szomszédot az euklidészi távolsággal definiáljuk. A célfüggvény lehet diszkrét vagy valós értékű.. Diszkrét érték esetén k-NN visszaadja az xq-hoz legközelebbi k tanulópélda közül a leggyakoribbat. Voronoi-diagram: döntési felület, amelyet az 1-NN indukál egy tipikus tanulópélda-halmazhoz. . _ _ . _ _ + . . + . _ xq + . _ +

k-NN algoritmus diszkussziója k-NN algoritmus folytonos értékű célfüggvényre Számítsuk ki a k legközelebbi szomszéd átlagértékét Távolsággal súlyozott legközelebbi szomszéd algoritmus A k szomszédot súlyozzuk a vizsgált xq ponttól vett távolság alapján a közelebbi szomszédok súlya nagyobb Ellenáll a zajos adatoknak, mivel k legközelebbi szomszédot átlagol A dimenzionalitás átka: a szomszédok távolságát lényegtelen attribútumok befolyásolhatják. Megkerülése: nyújtsuk meg a tengelyeket vagy küszöböljük ki a leglényegtelenebb attribútumokat.

A csomósítás problémája Adott egy ponthalmaz egy távolságmetrikával. Soroljuk be a pontokat csomókba úgy, hogy valamilyen szempontból a csomó tagjai olyan közel legyenek egymáshoz, amennyire csak lehet.

Példa x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x

A dimenzionalitás átka Sok alkalmazás nem 2, hanem 10 vagy 10 000 dimenzióval foglalkozik. A nagy dimenziójú terek máshogy néznek ki: szinte minden pontpár ugyanolyan távolságra van. Példa: vegyünk fel véletlenszerű pontokat egy határoló téglatestben, pl. 0 vagy 1 értékkel minden dimenzióban.

Példa: Dokumentumok csomósítása Reprezentáljuk a dokumentumokat (x1, x2,…, xk) vektorokkal, ahol xi = 1 pontosan akkor, ha az i. szó (valamilyen rendezés szerint) benne van a dokumentumban. Tulajdonképpen mindegy, hogy k végtelen-e, azaz nem korlátozzuk a szavak halmazát. A hasonló szóhalmazokat tartalmazó dokumentumok valószínűleg ugyanarról a témáról szólnak.

Távolságmértékek Minden csomósítási probléma valamilyen pontok közti „távolságon” alapul. Kétféle távolságmérték-típus: Euklidészi Nemeuklidészi

Euklidészi vs. nemeuklidészi Egy euklidészi tér valós értékű dimenziókat és „sűrű” pontokat tartalmaz. Létezik két pont „átlagának” fogalma. Az euklidészi távolság a pontok térbeli helyén alapul. Egy nemeuklidészi tér a pontok tulajdonságain alapul, viszont nem a térbeli „helyükön”.

Távolságmérték axiómái d egy távolságmérték, ha egy pontpárokon értelmezett valós függvény, és igazak rá: d(x,y) > 0. d(x,y) = 0 pontosan akkor, ha x = y. d(x,y) = d(y,x). d(x,y) < d(x,z) + d(z,y) (háromszög-egyenlőtlenség).

Néhány euklidészi távolság L2 norma : d(x,y) = az egyes koordinátaértékek közti különbségek négyzetei összegének négyzetgyöke. A leggyakoribb „távolság”-fogalom. L1 norma : az egyes koordinátaértékek különbségeinek össuege. Manhattan-távolság = a távolság akkor, ha csak a tengelyekkel párhuzamosan haladhatunk.

Példák euklidészi távolságra y = (9,8) L2-norma: dist(x,y) = (42+32) = 5 5 3 L1-norma: dist(x,y) = 4+3 = 7 4 x = (5,5)

Másik euklidészi távolság L∞ norma : d(x,y) = a koordináták közti különbségek maximuma. A maximum a határérték, amelyhez tart a koordináták különbségei n-edik hatványai összegének n-edik gyöke, ha n tart ∞-hez.

Nemeuklidészi távolságok Jaccard-távolság halmazokon = 1 mínusz a metszet és unió méretének hányadosa. Koszinusz-távolság = az origóból a pontokba mutató vektorok által bezárt szög. Szerkesztő-távolság = egy karakterláncból egy másik előállításához szükséges beszúrások és törlések száma.

És a nemeuklidészi esetben? A „helyek”, amelyekről beszélhetünk, csak maguk a pontok lehetnek. Tehát nincs „átlaga” két pontnak. 1. megközelítés: csomópont (clustroid) = a másik pontokhoz „legközelebbi” pont. A csomópontra tekinthetünk úgy, mint a súlypontra, csomók közti távolsággal számolva. A „clustroid” valószínűleg a „cluster” és a „centroid” összerántása, innen jött a csomó+súlypont -> csomópont elnevezés.

„Legközelebbi” pont? Lehetséges jelentések A többi ponttól mért távolságok maximuma a legkisebb. A többi ponttól mért távolságok átlaga a legkisebb. A többi ponttól mért távolságok négyzetösszege a legkisebb. Stb., stb.

Példa csomópont 1 2 6 4 3 csomópont 5 csomóközti távolság

Más megözelítések a csomók „közelségének” definíciójára 2. megközelítés: csomóközti távolság = a két csomóból az összes módon egy-egy pontot véve, azok távolságainak minimuma. 3. megközelítés: Válasszunk „kohézió” fogalmat, pl. maximális távolság a csomóponttól. Összevonjuk a csomókat, ha az uniójuknak a legnagyobb a kohéziója.

Visszatérés az euklidészi esethez A 2. és 3. megközelítést néha használják euklidészi csomósításra is. Van sok más megközelítés is, ha euklidészi a tér és ha nem.

k –átlag algoritmus(ok) Feltesszük, hogy euklidészi a tér. Válasszuk meg k-t, a csomók számát. A csomók kezdőértéke legyen egy-egy pont minden csomóban. Például válasszunk egy véletlenszerű pontot, aztán k­1 másik pontot úgy, hogy minél távolabb legyenek az előző pontoktól.

Csomók feltöltése Minden pontot rakjunk abba a csomóba, amelynek a jelenlegi súlypontjához a legközelebb van. Amint minden pontot elrendeztünk, rögzítsük a k csomó sújpontját. Tetszés szerint: újra rendeljük hozzá a pontokat a legközelebbi súlyponthoz. Néha ez áthelyez pontokat a csomók között.

Példa Áthelyezett pontok Csomók az első rész után 2 4 x 6 7 5 x 3 1 8

A helyes k megtalálása Próbálkozzunk különböző k-kkal, közben figyeljük a súlypontoktól mért távolságok átlagát, ahogy k nő. Az átlag gyorsan esik a jó k-ig, utána keveset változik. k Súlyponttól mért távolságok átlaga Legjobb k érték

Példa x Túl kevés, x xx x sok a nagy súlyponttól mért x x x x x x x távolság. x x x x x x x x x x x x x x x x x x x x x x x x x x x

Példa x x xx x Pont jó, x x a távolságok x x x elég kicsik x x x x x

Példa x Túl sok, x xx x csak kicsit javul x x az átlagos x x x távolság. x x x x x x x x x x x x x x x x x x x x x x x x x x x

PageRank Központok és tekintélyek A Web kiértékelése PageRank Központok és tekintélyek

PageRank Megérzés: oldjuk meg az alábbi rekurzív egyenletet: „egy lap fontos, ha fontos lapok hivatkoznak rá”. Dagályos szavakkal: fontosság = a fő sajátvektor a Web sztochasztikus mátrixában. Egy kis javításra szorul.

A Web sztochasztikus mátrixa Soroljuk fel a lapokat. Az i. lap az i. sornak és oszlopnak felel meg. M [i,j ] = 1/n, ha a j. lap n lapra hivatkozik és ezek között van az i. lap; 0, ha j. nem hivatkozik i.-re. M [i,j ] annak a valószínűsége, hogy az i. lapra jutunk, ha épp a j. lapon vagyunk.

Példa Tegyük fel, hogy a j. lap 3 másik lapra hivatkozik, köztük az i.-re. j i 1/3

Véletlen séta a Weben Tegyük fel, hogy v egy vektor, amelynek i. komponense annak a valószínűsége, hogy valamikor az i. lapon vagyunk. Ha követünk egy véletlenszerű hivatkozást az i.-ről, akkor a következő lap valószínűségi eloszlását az M v vektor adja meg.

Véletlen séta --- (2) Tetszőleges v vektorból kiindulva az M (M (…M (M v ) …)) határértéke a laplátogatások eloszlása a véletlen séta során. Megérzés: a lapok fontossága attól függ, milyen gyakran látogatná meg őket a véletlen sétáló. A matek: határeloszlás = M fő sajátvektora = PageRank.

Példa: a Web 1839-ben y a m Yahoo y 1/2 1/2 0 a 1/2 0 1 m 0 1/2 0 Amazon M’soft

Véletlen séta szimulációja Kezdjük a v = [1,1,…,1] vektorral, amely azt jelképezi, hogy minden weboldal egy egységnyi fontosságot kap. Ismételten szorozzuk meg a vektort balról M-mel, így a fontosság szétáramlik az oldalak között a véletlen sétának megfelelően. A határérték létezik, de 50 iteráció már elég a végső eloszlás becsléséhez.

Példa egyenletrendszer: v = M v : y = y /2 + a /2 a = y /2 + m m = a /2 y a = m 1 1 3/2 1/2 5/4 1 3/4 9/8 11/8 1/2 6/5 3/5 . . .

Az egyenletek megoldása Mivel nincs konstans, ennek a 3 ismeretlenes, 3 egyenletből álló rendszernek nincs egyértelmű megoldása. Vegyük hozzá az y +a +m = 3 feltételt a megoldáshoz. A Web-méretű példákban nem használhatjuk a Gauss-eliminációt, hanem relaxáló (= iterációs) módszert kell használnunk.

Valóságos problémák Néhány oldal „zsákutca” (nem hivatkozik semmire sem). Egy ilyen oldalon keresztül elfolyik a fontosság. Bizonyos lapok (vagy csoportok) pókcsapdák (minden kimenő hivatkozás a csoporton belülre mutat). A pókcsapdák egy idő után elszívják a fontosságot.

A Microsoft zsákutcává válik y a m Yahoo y 1/2 1/2 0 a 1/2 0 0 m 0 1/2 0 Amazon M’soft

Példa Egyenletrendszer: v = M v : y = y /2 + a /2 a = y /2 m = a /2 y 1 1 1/2 3/4 1/2 1/4 5/8 3/8 1/4 . . .

A Microsoft pókcsapdává válik y a m Yahoo y 1/2 1/2 0 a 1/2 0 0 m 0 1/2 1 Amazon M’soft

Példa Egyenletrendszer: v = M v : y = y /2 + a /2 a = y /2 m = a /2 + m y a = m 1 1 1/2 3/2 3/4 1/2 7/4 5/8 3/8 2 3 . . .

Google megoldása a csapdákra „Adóztassuk meg” az összes oldalt egy bizonyos százalékkal minden iteráció után. Adjuk hozzá ugyanazt a konstanst minden oldalhoz. Azt modellezi, hogy a véletlen séta során fix valószínűséggel egy véletlenszerű helyre megyünk.

Példa: Az előző 20%-os adóval Egyenletrendszer: 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.00 0.60 1.40 0.84 0.60 1.56 0.776 0.536 1.688 7/11 5/11 21/11 . . .

Általános eset Ebben a példában, mivel nincs zsákutca, a fontosságok összege 3 marad. Zsákutcás példában egy kis fontosság elszivárog, de az összeg véges marad.

Az egyenletek megoldása Mivel vannak konstansok, szeretnénk megoldani a kis példákat Gauss-eliminációval. Azonban a Web-méretű példákat még mindig relaxációval kell megoldani.

A konvergencia felgyorsítása Newton-szerű jóslás arra, hogy merre tartanak a fő sajátvektor elemei. Használjuk ki a Web lokalitását. Mindkét technika 50%-kal csökkentheti az iterációk számát Fontos --- a PageRank időbe telik!

Komponensértékek becslése Három egymást követő értékből megsejthetjük, hol van a határérték. 1.0 0.7 0.55 Becslés a következő menetre: 0.6

A részszerkezet kihasználása Bizonyos tartományok, hostok vagy útvonalak, pl. stanford.edu vagy www.db.stanford.edu/~ullman, nagyobb sűrűségben tartalmaznak hivatkozásokat. Adjuk kezdőértékül a PageRank-nek a csomókon belüli helyi rangokat, majd a csomók saját rangját.

Stratégia Számítsuk ki a helyi PageRankeket (párhuzamosan?). Használjuk fel a helyi súlyokat a csomóközti súlyok meghatározására. Számítsuk ki a PageRanket a csomók gráfján. Egy lap kezdeti rangja a helyi rangjának és a csomója rangjának szorzata. A „csomók” megfelelő méretű régiók közös tartománnyal vagy alsóbb szintű tulajdonsággal.

Képekben Csomók rangjai 1.5 2.05 0.05 Csomóközti súlyok 2.0 0.1 Helyi rangok Kezdeti sajátvektor 3.0 0.15

Központok és tekintélyek Kölcsönösen rekurzív definíció: Egy központ (hub) sok tekintélyre hivatkozik; Egy tekintélyre (authority) sok központ hivatkozik. A tekintélyek azok a helyek, ahol az információ megtalálható. Példa: cégek honlapjai. A csomópontok megmondják, merre vannak a tekintélyek. Példa: adott területtel foglalkozó cégek jegyzéke. Mi az, hogy CSD? Másrészt az ETR nagyon nem felel meg ennek a célnak, szóval: példa frissítve

Átmeneti mátrix: A A H&A mátrixában A [i, j ] = 1, ha az i. lap hivatkozik a j.-re, 0, ha nem. AT, azaz A transzponáltja, hasonlít a PageRank M mátrixra, csak AT-ben 1-esek vannak, M-ben pedig törtek.

Példa y a m Yahoo y 1 1 1 a 1 0 1 m 0 1 0 A = Amazon M’soft

Az A mátrix használata H&A-ban Az A és AT hatványai divergensek az elemek méretében, ezért skálázó tényezőkre van szükségünk. Legyen h és a olyan vektorok, amelyek az egyes lapok „központságát” és tekintélyét mérik. Egyenletek: h = λAa; a = μAT h. Központság = a rákövetkező (kimenő hivatkozás) lapok tekintélyeinek skálázott összege. Tekintély = a megelőző (bejövő hivatkozás) lapok közponságainak skálázott összege.

Az alapegyenletek következménye A h = λAa; a = μAT h egyenletekből levezethető: h = λμAAT h a = λμATA a Számítsuk ki h-t és a-t iterációval, feltéve, hogy kezdetben minden lapnak egy egységniy központsága és egy egységnyi tekintélye van. Válasszunk megfelelő λμ értéket.

Példa 1 1 1 A = 1 0 1 0 1 0 1 1 0 AT = 1 0 1 3 2 1 AAT= 2 2 0 1 0 1 2 1 2 ATA= 1 2 1 . . . a(yahoo) a(amazon) a(m’soft) = 1 5 4 24 18 114 84 1+3 2 h(yahoo) = 1 h(amazon) = 1 h(m’soft) = 1 6 4 2 132 96 36 . . . 28 20 8 1.000 0.735 0.268

Az egyenletek megoldása Még a kis példák megoldása is trükkös, mert a λμ az ismeretlenek között van. Minden egyenlet, mint y = λμ(3y +2a +m), megoldható λμ-re y, a, m függvényében; tegyük egyenlővé a λμ-re vonatkozó kifejezéseket. Mint ahogy a PageRanknél, a nagy példákat relaxációval kell megoldanunk.

Részletek h-ra --- (1) y = λμ(3y +2a +m) a = λμ(2y +2a ) m = λμ(y +m) Megoldás λμ-re: λμ = y /(3y +2a +m) = a / (2y +2a ) = m / (y +m)

Részletek h-ra --- (2) Tegyük fel, hogy y = 1. λμ = 1/(3 +2a +m) = a / (2 +2a ) = m / (1+m) Szorozzuk keresztbe a 2. és 3. részt: a +am = 2m +2am vagy a = 2m /(1-m ) Szorozzuk keresztbe az 1. és 3. részt: 1+m = 3m + 2am +m 2 vagy a =(1-2m -m 2)/2m

Részletek h-ra --- (3) Tegyük egyenlővé a kifejezéseit: a = 2m /(1-m ) = (1-2m -m 2)/2m Szorozzunk keresztbe: 1 - 2m - m 2 - m + 2m 2 + m 3 = 4m 2 Oldjuk meg m-re: m = .268 Oldjuk meg a-ra: a = 2m /(1-m ) = .735

H&A megoldása gyakorlatban Iteráljunk, mint a PageRanknél, ne próbáljunk egyenletet megoldani. De tartsuk a komponenseket korlátok között. Példa: skálázzunk, hogy a vektor legnagyobb komponense 1 legyen. Trükk: kezdjük h = [1,1,…,1]-gyel, szorozzunk AT -vel, hogy megkapjuk az első a-t, skálázzunk, szorozzunk A-val, hogy megkapjuk a következő h-t,…

H&A és PageRank Az IBM-esek azt hajtogatják, hogy „az IBM találta fel a PageRanket”. Arra gondolnak, hogy a H&A-t Jon Kleinberg találta fel, amikor az IBM-nél volt. Viszont a kettő nem ugyanaz. A H&A-t már használták pl. fontos kutatási cikkek elemzésére, de nem tűnik a PageRank helyettesítőjének.