2011. június 7.

Könyvismertető: Data Analysis with Open Source Tools

Az adatelemzés lassan de biztosan a (számítógépes) nyelvészeti munka részévé válik, azonban sajnos még nincs külön kialakult szakirodalma a területnek. Janert könyve azonban nagyon hasznos technikákkal és ami még fontosabb szemléletmóddal gazdagítja az olvasót és egy kis kreativitással ami területünkre is alkalmazhatóak a bemutatott módszerek. Azonban alapos előismeretek szükségesek ahhoz hogy haszonnal tudjuk forgatni a kötetet.








A könyv hátsó borítóján a figyelmeztetést - "Previous programming experience is recommended" - nagyon komolyan kell venni! Nem kell megijedni, nem kell hackernek lenni ahhoz hogy megérthesse az ember a könyveben közölt kódrészleteket, sok dolgot menet közben is meg lehet tanulni, azonban biztos alapokra szüksége van - pl. ha valaki szorgalmasan végig dolgozta az nltk könyvet, programozás terén felkészülten vághat bele a kötetbe.

Azonban a szükséges előismeretek listája ennél hosszabb. Két külön függelék foglalkozik ezzel, nem mehetünk el tehát szó nélkül a téma mellett. Kezdjük a legegyszerűbbel, a technikai alapokkal. Az Appendix C, Working with Data részben Janert végigveszi hogy milyen tulajdonságokkal rendelkezik a jó adatelemző. Ezek egy része csak a tapasztalattal jön meg (pl. a kommunikációs készség ténylegesen csak munka közben fejleszthető a tapasztalatok alapján), más részük pedig sok-sok gyakorlást igényel. Szigorú értelemben nem szükséges a könyvhöz, de nem véletlenül említi a szerző a Unix/Linux rendszerek ismeretét. Ha nem csak elolvasni/megtanulni akarod a könyvben tárgyaltakat, akkor saját kis projekteket kell kitalálnod, magadnak kell adatokat be szerezned, kitisztítanod és feldolgoznod. Ehhez a legjobb környezet a Linux, ezért ha a bash eszközeit nem ismered minimális szinten, jobb ha végigdolgozol egy Linux tutorialt (a net tele van velük!). Fordíts különös figyelmet a reguláris kifejezésekre (regex)! Ebben a részben is kiemeli Janret hogy egy szkript nyelv ismerete elengedhetetlen, legyen ez a Python praktikus okok miatt.

Az első függelékben Programming Environments for Scientific Computation and Data Analysis a különböző nyílt és zárt forráskódú eszközöket veszi sorra a szerző és megindokolja hogy miért döntött a Python és R nyelvek mellett. Habár a kötetben hangsúlyosabb a Python nyelv és annak ismerete elengedhetetlen hogy fel tudd dolgozni, az R nyelvel is jó megismerkedni mielőtt belevágsz a kalandba!

Az Appendix B Results from Calculus foglalkozik a matematikai háttérrel. Ezt akkor is nézd át ha amúgy jó vagy matekból!!! Ha függvény vagy a limit fogalma idegenül hangzik, a trigonometria alapjai sem sejlenek, integrálni és deriválni nem tudsz vagy már nem emlékszel arra hogyan kell, akkor nem vagy felkészült a könyvre! Nem kell matematikusnak lenni ezek megértéséhez, viszont hogy mi-mi csoda feltétlenül értened kell. Habár nem esik szó róla, a statisztika ismerete is szükséges, mivel az alapokról nem esik sok szó a kötetben, így arra is szánj egy kis időt hogy átnézd a legfontosabb alapfogalmakat!

Ha ezekkel megvagy, akkor élmény lesz a kötet, garantálom! Ha be akarom lőni a szintjét, akkor a bevezető könyvek felett, de a szigorúan elméleti művek alatt van valahol, amolyan erős haladónak mondanám, de nagyon emészthető, gyakorlatias szempontokat szemelőtt tartó, átgondoltan építkező a mű.

A tizenkilenc fejezet kb arányosan négy részre van bontva, minden részt egy összegző fejezet zár. Az első és az utolsó fejezetek kivételével mindegyik egy workshop résszel zárul, ami segít konszolidálni a tanultakat és működés közben látni az egyes módszereket. Az első részben a grafikus felfedezéssel ismerkedhetünk meg, a második a modellezésbe vezet be, a harmadik az adatbányászattal foglalkozik végül a negyedik részben esettanulmányokkal találkozhatunk. Nekem ez az utolsó rész különösen tetszett, hiszen betekintést enged abba hogy mire is jó ez az egész adatelemzés és segít abban hogy a külön tárgyalt részek között meglássuk az összefüggéseket.

Nagyon fontos hogy aktívan olvasd a könyvet. Ez nem egy regény! Meg kell állni, sokszor kell a bőséges "Further readings" részhez fordulni hogy egy-egy dolgot jobban megértsünk máshonnét. Egyben ez a kötet legnagyobb gyengéje! Feltételezi hogy az olvasónak van egy jó kis könyvtára! Ha valaki nem diák, vagy kutató és nincs hozzáférése egy jó (idegennyelvű) szakgyűjteményhez, hamar elveszettnek érezheti magát ha csak a kötetre támaszkodik! Ha nincs lehetőséged könyvtárazni, akkor nem éri meg a könyv megvásárlásába fektetni a nehezen megkeresett pénzed! Ha nehézséget okoz neked hogy egy-egy fejezet végén tovább gondold a tanultakat és egy saját projektet is megcsinálj, akkor szintén nem a te könyved ez. Szeretném hangsúlyozni hogy technikai könyveket nem passzívan olvasunk, nem csak megoldjuk a feladatokat, hanem tovább kell gondolnunk - erre jók a saját projektek. Csak akkor mondhatod el hogy IGAZÁN ÉRTED amit olvastál, ha el tudsz vonatkoztatni a példáktól és alkalmazni tudod ismereteidet egy olyan probléma megoldására amit még nem oldott meg előtted senki és nem tudod megnézni sehol a megoldást.

Nincsenek megjegyzések: