könyv – r-projekt.hu R: az ingyenes adatelemző szoftver és statisztikai programozási környezet Fri, 26 Mar 2021 00:15:32 +0000 hu hourly 1 https://wordpress.org/?v=4.8.18 Könyvismertető: Data Mining with Rattle and R /2011/10/05/konyvismerteto-data-mining-with-rattle-and-r/ /2011/10/05/konyvismerteto-data-mining-with-rattle-and-r/#comments Wed, 05 Oct 2011 15:19:00 +0000 /?p=203 Continue reading ]]> Egyre többen érdeklődnek a az adattudományi (data science) és gépi tanulási módszerek iránt. Az adatbányászat napjainkban nem annyira felkapott téma, ahogy sokan igyekeznek elkerülni a statisztika és számítógépes statisztika (computatuional statistics) kifejezéseket, de megnyugtatunk mindenkit, a sok buzzword tkp. ugyanazt a dolgot fedi. A megnövekedett érdeklődés és a tény hogy életünket egyre jobban átszövik az említett területek eredményei együtt járnak az igénnyel egy egyszerű, gyakorlatorientált bevezetőre. Williams könyve remekül használható akár a programozásban kevésbé jártas, a statisztika alapjait ismerő érdeklődőknek.

Ahogy a matematikához, úgy az adatbányászathoz sem vezet királyi út, viszont egy jó pedagógiai érzékkel rendelkező ember a megfelelő eszközökkel felvértezve csodákra képes. Amit egy könyvvel meg lehet tenni, azt Williams megtette, de nyilván kell egy lelkes, türelmes és eltökélt olvasó is, aki valamennyire jártas a számítógép használatban és a statisztikában. Jó hír hogy aki fél a programozástól, vagy egyszerűen csak nem szeret programozni, az megúszhatja a kódolást hála a Rattle grafikus felhasználói felületnek.
A kötet három részre van felosztva, Explorations, Building Models, Delivering Performance. A negyedik rész tkp. a függelék hasznos információkkal szolgál a használt eszközök telepítéséről és a példa adathalmazokról.
Az első részben, miképp neve is mutatja, megismerkedhetünk azzal hogy mi is az adatbányászat, majd az eszközökkel is találkozhatunk. Ezek után a legalapvetőbb dolgokkal ismerkedhetünk meg, pl. miképp olvashatjuk be eszközeinkkel a különböző adatfájlokat, milyen egyszerű módszerekkel “fedezhetjük fel” az adatokat akár grafikusan is és az adatok kitisztításával is foglalkozik egy-egy fejezet.
A második részben jön az igazi móka, a modell építés. A leíró és prediktív analízis, klaszterelemzés, asszociációs analízis részek kifejezetten jók, a döntés fa (decision trees) és random erdő (random forests) valamint a boosting (nem tudom magyarul hogy mondjuk) fejezetek is jók és szemléletesek, de talán egy kicsit nehezebbek és érződik hogy nehéz beszuszakolni egy ilyen témát a “lehetőleg mindenki értse” kategóriába. És itt érkezünk el a support vector machines részhez, itt bizony kicsit kilóg a lóláb, habár a lényeget mindenki “leveheti” belőle, ettől cirka 12 oldaltól senki se lesz a téma szakértője.
A harmadik rész szólna a komoly, gyakorlati munkáról. Az elő fejezet kifejezetten jó! Nagyon érthetően és olvasmányosan ismerkedhetünk meg az adatbányászati módszerek hatékonyságának (performancia) mérésével. A “deployment” fejezet inkább csak egy útmutató. Keresem a megfelelő magyarítását a kifejezésnek, de szerintem a hadrendbe állítás a legjobb, a lényeg hogy “felfedező munkánkat” valahogy a világ és/vagy az ügyfelek felé konzisztens, újra lefuttattatható formában kell közölni, ehhez itt kapunk egy kis segítséget ami kezdetnek meg is teszi, de én bevallom nem ezért a fejezetért szerettem meg ezt a könyvet.

Via: Könyvismertető: Data Mining with Rattle and R

]]>
/2011/10/05/konyvismerteto-data-mining-with-rattle-and-r/feed/ 621
Könyvismertető: Data Analysis with Open Source Tools /2011/06/07/konyvismerteto-data-analysis-with-open-source-tools/ /2011/06/07/konyvismerteto-data-analysis-with-open-source-tools/#comments Tue, 07 Jun 2011 07:29:00 +0000 /?p=205 Continue reading ]]> 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.

Via: Könyvismertető: Data Analysis with Open Source Tools

]]>
/2011/06/07/konyvismerteto-data-analysis-with-open-source-tools/feed/ 779
Könyvismertető: Statistical Analysis with R /2011/03/02/konyvismerteto-statistical-analysis-with-r/ /2011/03/02/konyvismerteto-statistical-analysis-with-r/#comments Wed, 02 Mar 2011 18:17:00 +0000 /?p=208 Continue reading ]]> Nehéz jó kezdő könyvet találni azoknak akik egyszerre szeretnének megismerkedni mind az R nyelvvel, mind a statisztikával. Sokan (köztük én is) nem tartják jó ötletnek egyszerre beleugrani a két dologba (sőt, háromba, ha programozni se tud az illető), azonban a most bemutatásra kerülő kötet nagyon közel van az ideálishoz: azok akik már programoztak valaha (tudják mi az hogy változó, miért van egy függvénynek argumentuma, mik azok a kontroll struktúrák stb) és tisztában vannak a matematikai alapjaival (kb. nyolc általános és minimális érdeklődés) haszonnal forgathatják a könyvet.

  • John M. Quick: Statistical Analysis with R
  • Packt Publishing, 2010
  • 300 oldal

Mint említettük azért bizonyos alapokkal rendelkeznie kell annak akik a könyvet szeretné feldolgozni. Azonban senkit ne tántorítson ez el! Tényleg csak minimális előismeretekre kell itt gondolnunk. Azonban ennek fényében ne is számítsunk sokra! Nyilván való hogy ha fel is dolgozza valaki tisztességesen a kötetben bemutatott anyagot, attól még nem válik statisztikussá vagy adatelemzővé. Mit kapunk akkor?

Szemléletet, alapokat és útravalót. Érdekes módon akad olyan bevezető R könyv ami nagyon szárazon tárgyalja hogy miképp olvashatunk be adatokat és hogy hogyan is értelmezzük azt, majd konkrét példát csak a századik oldal után látunk… Itt nem ez a helyzet! Adott egy probléma (két konkurens kínai királyság harca) és nekünk kell kidolgozni stratégiát a megoldásra (legyőzni az egyik királyságot!). Üde kivétel hogy végre egy R könyv ott kezdődik hogy van egy adatfájl, olvassuk be és nézzük meg hogy mit tartalmaz és mit tud vele kezdeni az R nyelv. Mit jelent az átlag, a standard eltérés és a többi jól hangzó dolog? Itt bizony nem kapunk definíciókat ezekre nézve, viszont láthatjuk hogy mire valók és hogy az R segítségével miképp varázsolhatjuk elő az adatokból ezeket az értékeket.

Így láthatjuk hogy az adatokkal bizony dolgozni kell hogy felfedjék a számunkra értékes információkat. Kapunk egy informális magyarázatot hogy mi mire való, de szó sem esik arról hogy miért alkalmazunk egy adott technikát, mit is jelent ez valójában, hogyan kapjuk meg az eredményeket, ez mennyire hatékony számítási mód.

Kapunk egy olyan könyvet ami Mindent összevetve a könyv korrekt. Én azoknak ajánlom a legjobban akiknek gyorsan kell megismerkedniük az alapokkal vagy nincs szükségük mélyebb elemzések elvégzésére (pl. terepmunka során helyben elemzik előzetesen az adataikat). De a legjobban azok profitálhatnak akiknek van idejük a kötet után fokozatosan tovább építkezniük.

Via: Könyvismertető: Statistical Analysis with R

]]>
/2011/03/02/konyvismerteto-statistical-analysis-with-r/feed/ 663
Könyvismertető – The Foundations of Statistics: A Simulation-based Approach /2011/02/08/konyvismerteto-the-foundations-of-statistics-a-simulation-based-approach/ /2011/02/08/konyvismerteto-the-foundations-of-statistics-a-simulation-based-approach/#comments Tue, 08 Feb 2011 16:07:00 +0000 /?p=210 Continue reading ]]> Sokakat tántorít el a tény hogy manapság a (számítógépes) nyelvészet bizony nagyon matematizált. Ezen a tényen nem tudunk változtatni, már Eukleidész is megmondta I. Ptolemaiosznak hogy a matematikához nem vezet királyi út. Azonban nem kell félni, az alapos ismeretek a mi területünkön inkább gyakorlatiak (persze el lehet menni egészen “durva” területekre is) és gyakran köthetők alkalmazott problémákhoz. A most ismertetett kötet ebben segít, az alkalmazásra teszi a hangsúlyt és ebben segítségül hívja az R statisztikai programozási nyelvet.

Pár sor a szerzőkről

Talán nem annyira ismertek a kötetek szerzői mint a több R könyvé, ezért nem árt pár szót szólni róluk. Michael Broe evolúció kutató, jelenleg az Ohio State University-n kutat, ami ha furán is hangzik, talán érthetőbb ha elmondjuk még róla hogy Edniburgh-ben szerezte doktori fokozatát, egy erősen interdiszciplináris közegben, itt került kapcsolatba a nyelvevolúciót kutató munkaközösséggel, talán innét is eredetezhető a kladisztikai iránti érdeklődése is. Shravan Vasishth a Potsdami Egyetemen vezeti a nyelvészeti tanszéket és egy nemzetközi viszonylatban is jelentős (ám pici) laboratóriumot ami főleg a pszicholingvisztika terén dolgozik, de a neurolingvisztika felé is nyitottak. Ha nem is olyan ismertek mint pl Baayen vagy Gries, nagyon figyelemre méltó, élvonalbeli kutatók a szerzők. Vasishth eredetileg filológusnak készült és fokozatosan tért át az elméleti nyelvészetre. Ez egyrészt inspiráló lehet másoknak, másrészt nagyban segíti a könyvet hogy a szerző maga is végig ment azon a folyamaton amit sokan átélünk: szeretnénk a matematikát használni egy minket érdeklő probléma jobb megértéséhez azonban nem tudjuk hogyan fogjunk hozzá.

Előzetes technikai megjegyzések
A könyv nagy erénye hogy egyszerűen tálalja az anyagot. Hátránya hogy a kezdők számára talán nem egyértelmű miképp telepíthetik a használt eszközöket és milyen más hasznos programokkal segíthetik munkájukat. Ezért nem árt tisztában lenni azzal hogy mi az R statisztikai programozási nyelv, az emacs szerkesztő és mik használatának alapjai illetve hogy telepíthetjük hozzá az ESS csomagot. Nem árt vetni egy pillantást a LaTeX dokumentum nyelvvel sem, ez a későbbiekben minden nyelvésznek jól jön amúgy. Ha az olvasó nem tudja mit fednek ezek a szavak, keressen rá hogy számítógépére miképp telepítheti ezeket, tegyen egy próbát és csak akkor ruházzon be a kötet megvásárlásába ha ezek nem okoznak gondot.

A kötet honlapján található kód jó, habár néhol eltér a print változat a letölthető kódtól, azonban egyszerű józan ésszel érthető a különbség.

Végre akkor a könyvről
Az első fejezetben elirányítanak minket a szerzők a fent felsorolt eszközök honlapjára hogy saját gépünkön is telepíthessük azokat és egy kis ízelítőt kapunk mire képes az R. Ezután a véletlenszerűség és a valószínűség fogalmával ismerkedhetünk meg. Ezek után a mélyvízibe kerülünk, ami nekem nagyon bejön mivel van alapja rögvest bemutatni hogy mit jelent egy minta megbízhatósága is miképp tesztelhetjük hipotéziseinket, azonban inteném a kezdő olvasót hogy lassan, értve olvassa a könyvet, a feszes tempó nem kedvez az alapos emésztésnek. Két fejezet a hipotézisek teszteléséről egy rövid könyvben sok, a teljes megértéshez kevés, de indulásnak éppen elég ha kellő időt szánunk tanulmányozásukra. Ami ezek után következik azonban már nem egyenletes színvonalú. Az ANOVA tárgyalása alapos és jó, ennek ismerete ma már alap. A bivariáns statisztika és lineáris modellek bemutatásáról szóló hatodik fejezet sajnos alatta marad a többinek, egy kis áttekintés ad a témáról, azonban nem árt más forrásokat is használni ha meg akarjuk érteni a témát. A kevert lineáris modellekről szóló utolsó fejezet pedig nem lehet több egy bevezetésnél, ahogy címe is ígéri. Annak tökéletesen meg is felel, de akár ki is maradhatott volna a kötetből.

Összegezve
A kötet azoknak ajánlható akik elhivatottak, tudnak időt szánni az anyag elsajátítására és nem csak átfutni akarják a lapokat. Mindenképpen szükséges erős felhasználói informatikai ismeretekkel rendelkezni hogy követni tudjuk (oprendszerünkre tudjunk telepíteni szoftvereket, önállóan információt tudjunk keresni használatukról stb.). Ha ezek megvannak, akkor viszont egy átfogó képet kaphat a nyelv iránt érdeklődő olvasó a statisztikai módszerről mely segíthet elindulni a statisztika felfedezésében és egy kis gyakorlati eszköztárat is kapunk amit mindennapi munkánk során is hasznosíthatunk (legyen az kutatás, terepmunka, vagy egyéb adatelemzés).

Via: Könyvismertető – The Foundations of Statistics: A Simulation-based Approach

]]>
/2011/02/08/konyvismerteto-the-foundations-of-statistics-a-simulation-based-approach/feed/ 841
Az adatok tudománya és a nyelvtudomány – olvasnivaló /2010/09/04/az-adatok-tudomanya-es-a-nyelvtudomany-olvasnivalo/ /2010/09/04/az-adatok-tudomanya-es-a-nyelvtudomany-olvasnivalo/#comments Sat, 04 Sep 2010 16:56:00 +0000 /?p=214 Continue reading ]]> Sokan kérdezték az előző poszt kapcsán hogy hogyan is indulhatnak el “data science” ügyben. Itt egy kis összefoglaló következik, mit érdemes olvasni, merre érdemes keresgetni, és egy kicsit ajánlani fogom korábbi posztjaimat is. Tehát most sorra vesszük hogy egy nyelvész mit tehet hogy 1) betekintést nyerhessen az adatok tudományába 2) eszköztárába illeszthesse a nyelvi adatok elemzésére alkalmas módszereket.

Az alapok
A matekundort el kell felejteni! Az adatok tudományának részét képezi az alkalmazott statisztika, ezért biztos matematikai alapokkal kell rendelkeznie annak aki a területre merészkedik. Mivel a nyelvészek általában diszkrét matematikával ismerkednek, egy abszolút kezdőnek érdemes először alaposan átvenni az alapokat, amiben remélem segítenek korábbi posztjaim.

Ha már van egy kis alapunk, akkor jöhet a statisztika. Erről is írtam már párszor, érdemes átnézni ezek is:

Nem árt ha megtanulsz programozni:

Egy kis vizualizációt is magadra kell szedned, például a Processing segítségével, amiről itt olvashatsz:

Érdemes megismerkedned a ManyEyes használatával is:

És nem árt a statisztikát összekötni a kódolással és a vizualizációval, szóval az R megkerülhetetlen.

Ha a nyelvészettel is meg kell ismerkedned, akkor érdemes itt kezdened, de valószínű hogy te ezt már tudod. Az adatok tudománya adatok nélkül egész hülyén nézne ki, érdemes elsajátítani hogyan gyűjthetünk adatokat, miképp kezeljük azokat és mit csinálhatunk velük:

MapReduce
A legelterjedtebb MapReduce implementáció a Hadoop

Ehhez kapcsolódik, szöveggel foglalkozó nyelvészek számára kötelezően:

Habár nagyon jó dolog a Hadoop, szerintem kezdőknek nehéz. Habár ez csak a saját véleményem, szerintem sokkal egyszerűbb CouchDB-vel kezdeni (vagy éppen MongoDB-ve is lehet kezdeni). Ha megismerkednél vele, a legjobb pont itt van:

Vizualizáció
Sajnos nincs sok információ arról miként is prezentálhatjuk a nyelvészeti analízis során szerzett adatokat. Itt csak ajánlok egy könyvet, a Beautiful Visualization kötet sok érdekes tanulmányt tartalmaz (a legrelevánsabba wordle bemutatása számunkra). A Processing mellett érdemes még megismerkedni a Protovis JavaScript framework-kel is.

Sajnos nem tudok ajánlani egy konkrét forrást, magam is lassan szedegettem össze apránként az infót. A következő posztban megpróbálom bemutatni mire jutottam, addig is jó olvasgatást!

Via: Az adatok tudománya és a nyelvtudomány – olvasnivaló

]]>
/2010/09/04/az-adatok-tudomanya-es-a-nyelvtudomany-olvasnivalo/feed/ 570