Adatbányászat Blog

A Dmlab szakmai blogja - dmlab.hu

Hírlevél

Iratkozz fel hírlevelünkre, hogy mindig naprakészen tudjunk tájékoztatni.
Feliratkozás
Leiratkozás

Címkék

2007 (1) 2010 (23) 2011 (27) 2012 (13) 2013 (23) 2014 (1) adaptív (1) adatárusítás (1) adatbányászat (10) adatbányászati algoritmusok (1) adatbányászati alkalmazások (2) adatbányászati meetup (1) adatbányászati oktatás (1) adatbányászati technológiák (3) adattárház (5) adattárház fórum (6) adattisztítás (1) adatvédelem (2) advise (2) aegon (1) agy (2) ajánló (7) ajánlórendszerek (1) aktivitás felismerés (1) algoritmus (1) alkalmazás (3) állásajánlat (1) amazon ec2 (1) ambiens (1) ami (1) analitika (1) analytics (1) andego (3) api (2) Arató Bence (2) bank (1) barabási (2) beharangozó (18) bejelentés (2) belami (1) best practice (3) beszámoló (14) Bi (1) BI (3) bi (13) bi-trek (1) biconsulting (7) bigdata (11) big data (2) Big Data (1) biopen (1) biztosító (1) BI Akadémia (1) bi consulting (1) bi start (1) blog (5) BME (8) bootcamp (1) brainstorming (1) bsp (1) business analytics (1) business analytics szakirány (1) churn (2) ci (1) címkefelhő (2) CIO (1) clementine (1) Clementine Consulting (1) cloud computing (1) cognos (1) credit scoring (1) crm (2) csalásdetektálás (1) DataExpert (1) dataexplorer (1) data mining (1) data science (4) diplomamunka (1) dmlab (10) döntési fák (1) drill (1) e-commerce (1) előadás (18) élő közvetítés (1) energetika (1) esemény (2) esettanulmány (3) etikus (1) etl (2) évforduló (1) fejlesztés (2) felmérés (4) felsőoktatás (1) felület (1) felvásárlás (2) film (1) fizetés (1) forecasting (1) forgalomelőrejelzés (2) foursquare (1) fraud detection (1) freebase (1) gartner (2) gazdasagi informatikus (2) gépi tanulás (3) google (5) google analytics (1) graphlab (1) gravity (3) greenplum (1) hadoop (10) hallgatók (2) hálózatelemzés (2) hálózatkutatás (1) hálózatok (2) hazai (1) hiba (3) hírlevél (1) hive (1) honlap (1) HR (1) HVG (1) i5 (1) ibm (6) ibm modeler (1) ibm spss (3) icdm (1) idc (2) idősor (1) idősorok (1) ieee (1) iir (1) infobright (1) információbróker (1) innováció (5) innovatívBI (1) innovativ bi (4) inspiráció (1) intelligencia (2) Internet Hungary (1) iqsymposium (19) iqsys (16) iroda (3) jmp (2) kaggle (1) kampánymenedzsment (1) kapcsolati hálók (1) karrier (1) kdd (3) kdnuggets (1) képzés (2) kérdés (1) kérdőív (1) kerekasztal (1) keresés (1) kereső (1) keresztvalidáció (4) klaszterezés (2) knime (1) kockázati tőke (1) kollaboratív munka (1) kompetencia (1) konferencia (65) könyv (5) környezet (1) közlekedés (1) közösség (2) közösségi hálózatok (4) közvetítés (5) kritika (1) küldetés (1) kutatás (2) lemorzsolódás (1) licensz (1) magyar telekom (1) mahout (1) mapreduce (1) marketplace (1) média (2) meetup (9) mém (2) memóriacentrikus (1) menedzsment (1) metaadat (1) microsoft (1) mobil (5) mobil bi (4) modeler (2) modell (3) morgan stanley (1) munkaerő (1) mysql (1) mytraffic (4) nemzetközi (5) nemzetközi összehasonlítás (1) netflix prize (1) networking (1) next big thing (1) nips (1) nosql (1) nyílt forráskód (4) nyomkövetés (1) offline áruházak (1) okostelefon (1) oktatás (13) olvasók (1) online áruházak (1) online kutatás (1) open source (19) open source bi (3) operatorfa (1) osbi (12) összehasonlítás (1) ötletek (2) paradoxon (1) pascal (1) pentaho (1) personal data mining (1) phd (2) philips (1) piac (3) pikk (1) pilot (1) pmml (1) politika (2) powerpivot (1) prága (1) praktiker (1) prediktív analitika (2) prediktív analitka (1) prediktív modellezés (1) prediktiv modellezés (5) prezi (14) privacy (1) privacy preserving data mining (1) projekt (1) projektmenedzsment (3) publikáció (1) python (4) radoop (12) random forest (1) rapid-i (2) rapidanalytics (7) rapidminer (36) rcomm (7) refine (1) Rexer Analytics (1) rsctc (1) R nyelv (7) saas (1) sap (1) SAS (20) sas enterprise miner (2) sas enterpris guide (1) sas entprise miner (1) sas fórum (1) sas forum (3) siker (2) simptech (1) sixtep (2) smarthabits (1) spike sorting (1) SPSS (3) spss (13) spss clementine (3) spss hungary (5) spss modeler (6) ssd (1) starschema (2) startup (7) statisztika (1) survey (1) svm (1) szabad szoftver (1) szakmai (1) szavazó eljárások (2) szélenergia (1) szélerőmű (1) szervezetfejlesztés (1) szociális hálók (1) szoftver (5) szöveg (1) szövegbányászat (2) sztaki (1) tableau (1) talend (2) támogatás (1) tanulmány (1) tanulság (1) távolság (1) technológia (1) tedx (1) telekommunikáció (1) teradata (2) teszt (1) text mining (1) tmit (2) toborzás (1) tőzsdei előrejelzés (1) tracking (1) trendek (8) tudományos (1) tunedit (1) twitter (16) ügyfél (1) üzleti intelligencia (3) üzleti modell (3) üzleti reggeli (3) validáció (4) válogatás (1) válság (1) változás (1) vélemény (1) véleméy (1) verseny (16) videó (3) vizualizáció (4) web (4) web2 (2) webanalitika (3) webshop (1) weka (2) wikipedia (2) workshop (1) yahoo (2) Címkefelhő

TWitter a csapat tagjaitól

2014.07.23. 10:00 Ragány Csaba

RapidMiner tippek - A Crawl Web operátor

Címkék: best practice rapidminer

Az előző RapidMiner tippek blogbejegyzésre érkezett pozitív visszajelzéseknek megfelelően - melyeket ezúton is köszönünk - a mostani írás is a RapidMiner mélyebb ismertetéséről, egészen pontosan a Crawl Web operátor trükkös működéséről illetve használatáról szól. A web-barangolás nem egy tipikus nagyvállalati feladatkör, hiszen meglehetősen ritka az olyan adatelemzési feladat egy multi cégen belül, ahol az első lépések között az internetről kell begyűjtenünk bizonyos weboldalak linkjeit és tartalmait további elemzés céljából. Ennek megfelelően a RapidMiner-ben ez a task csak egy kiegészítő révén valósítható meg (Web Mining Extension), melyet ezidáig majd 50.000-szer töltöttek már le. Kérdés, hogy mennyire hatékony a RapidMiner Crawl Web operátora illetve, hogy mi mennyire ismerjük azt?

 

Nézzük tehát a web-barangolást, a feladat legyen az alábbi: szeretnénk legyűjteni - a weboldal tulajdonosa által jóváhagyva - egy weboldalhoz tartozó illetve a weboldalról elérhető összes weboldal linkjét és tartalmát valamilyen elemzés céljából. Erre tehát a RapidMiner-ben a Crawl Web operátor szolgál, amelyben megadható a kiinduló URL és “minden” egyéb szükséges paraméter (az idézőjelek használata azonnal magyarázatot kap). A kimeneti adattábla ‘Link’ attribútuma tartalmazza a legyűjtött URL-eket, a ‘Page’ attribútuma pedig azok HTML tartalmát (az attribútum nevek megadására nincs lehetőség, átnevezésük csak egy Rename operátorral lehetséges). Ezután jellemzően valamilyen szövegfeldolgozási lépés következik, ahol a HTML tartalomból megállapítunk mindenféle érdekes dolgot. Tegyük fel, hogy ezen lépés kimenete egyértelműen hozzárendel egy azonosítót az adott oldalhoz tartozó URL-hez: pl. bizonyos linkeken ‘x’ típusú dolgok találhatók, míg más linkeken ‘y’ típusú dolgok stb. (ezek lehetnek termékek, szolgáltatások, illetve bármilyen tartalmak). Ha nem vagyunk elég alaposak, mehetünk is a megrendelőhöz a szépnek tűnő eredménnyel, ahol könnyen igencsak kellemetlen helyzetben találhatjuk magunkat, ugyanis a Crawl Web operátorban nincs lehetőség a cookie-k engedélyeztetésére. Így ha az elemzendő webportál valamely oldala csak úgy tekinthető meg, ha engedélyezve van a böngészőnkben a cookie-k használata, akkor a Crawl Web operátorral, mint egyfajta “böngészővel” nem tudjuk begyűjteni az adott URL-hez tartozó valódi HTML tartalmat, csak a cookie engedélyezés hiányában átirányított weblapot, ami jellemzően arról tájékoztat, hogy miért és hogyan lehet engedélyezni a cookie-kat illetve, hogy ezek használata milyen előnyökkel és következményekkel jár. A cookie-kat használó weboldalak URL-jeihez tehát a legyűjtött átirányított oldal tartalma alapján téves azonosítót fogunk rendelni, ami több, mint ciki.

A probléma viszont orvosolható, mégpedig a Get Pages operátorral, ahol már létezik az “accept cookies” paraméter, melyben az “all” értéket választva a webszerver úgy látja, hogy a kliens oldalon engedélyezve van a cookie-k használata, így begyűjthető a helyes HTML tartalom. A Get Pages operátor használatával viszont van egy “kisebb” probléma, méghozzá, hogy funkcionalitását tekintve ez nem egy web-barangoló operátor, így nem képes felderíteni egy kiinduló URL-ről elérhető összes többi URL-t a meghatározott követési szabályoknak (‘crawling rules’) és egyéb paramétereknek (pl. maximum oldalszám, maximum mélység stb.) megfelelően. Tehát első lépésben le kell gyűjtenünk a Crawl Web operátorral a linkeket, majd ezt a ‘Link’ attribútumot kell átadnunk a Get Pages operátor ‘link attribute’ paraméterének. A probléma a kétszeres futási idő mellett inkább a többszörös memóriahasználat, ami a RapidMiner Achilles-sarka, ugyanis egy nagyobb webportál esetén akár több 10.000 oldalt is elemeznünk kellene, amihez pedig könnyen kevés lehet 10-20 GB memória is, és a teljes feladatmegoldásban még csak a bemeneti adatok gyűjtésénél járunk.

A Get Pages operátor bemenete tehát egy linkeket tartalmazó attribútum (pl. ‘Link’), kimenete pedig több egyéb mellett (pl. a legyűjtés dátuma) egy ‘URL’ és a ‘page attribute’ paraméterben megadott nevű attribútum (pl. ‘Page_2’), mely már nem a bemeneti ‘Link’ attribútum linkjeihez tartozó HTML kódokat tartalmazza, hanem a kimeneti ‘URL’ attribútumban lévő linkek HTML kódjait. Ha tehát nem engedélyezzük a cookie-k használatát a Get Pages operátorban, akkor a ‘Link’ és az ‘URL’ attribútumok nem lesznek azonosak, hiszen az ‘URL’ attribútumban az átirányított oldalak linkjei fognak szerepelni. A Crawl Web operátor HTML kódokat tartalmazó ‘Page’ attribútuma és a Get Pages operátor ‘Page_2’ attribútuma viszont azonos lesz, hiszen mindkettő az átirányított weboldalakat tartalmazza. A cookie-k engedélyezése esetén pedig épp fordított a helyzet: a ‘Link’ és az ‘URL’ attribútumok lesznek az azonosak (helyesek), a ‘Page’ és ‘Page_2’ attribútumok pedig különbözőek (utóbbi a helyes weboldalakkal).

A Crawl Web operátor másik (illetve harmadik) nagy hibája, hogy a weboldalak karakterkódolása sem állítható be, ami viszont alapvető fontosságú a HTML tartalmak helyes szövegelemzése céljából. Ha a webportálról legyűjtött minden weboldal UTF-8 kódolású, akkor szerencsénk van, vagy akkor is, ha a weblapok nem tartalmaznak ékezetes karaktereket. Ha viszont igen, és nem UTF-8 kódolásban, hanem pl. az ISO-8859-2 szabvány szerint (a használt karakterkódolás kinyerhető a normálisabb weboldalak esetén megadott metaadatokból), akkor a Crawl Web operátor ‘Page’ attribútuma megint csak használhatatlan lesz. Rossz hír, hogy ezt a problémát már a Get Pages operátor sem orvosolja. De mint lassan megszokható, ez a hiányosság is kivédhető a RapidMiner-ben, méghozzá a Get Page operátorral, aminek utolsó, ‘override encoding’ paraméterét engedélyezve megadható az aktívvá váló ‘encoding’ paraméterben a weboldalak karakterkódolása. Azonban a Get Page operátor használatának is “ára” van (nem is kicsi), ami jelen esetben egy Loop Examples operátor lesz, ugyanis a Get Page operátor nem rendelkezik bemenettel, így a Crawl Web operátor ‘Link’ attribútumának értékei csak egy makró segítségével adhatók át az ‘url’ paraméternek. Hogy pl. 10.000 weboldal esetén mennyi ideig tart ezzel a módszerrel legyűjteni a linkekhez a weboldalakat, és hogy ehhez milyen teljesítményű gép szükséges, azt próbálja ki mindenki magának, ha napokra nélkülözni tudja számítógépét.

Igazán érdekes feladat lenne, ha több különböző karakterkódolású weblapot is legyűjtenénk, ugyanis ekkor nekünk kellene kibányászni a használt karakterkódolást a HTML kódokból, amit sajnos makróval nem lehet átadni az ‘encoding’ paraméternek, úgyhogy muszáj lenne egy Subprocess operátort és több Get Page-et használni.

Még ebben az esetben sem biztos, hogy sikeres lesz az adatgyűjtés, ugyanis ha nem tulajdonosi engedéllyel gyűjtünk tartalmat egy webportálról, akkor könnyen kitiltás lehet a web-barangolás következménye. Webszerver oldalon a web-crawling azonosítása automatizáltan történhet, melyet nehezíteni lehet pl. a lekérdezések között eltelt idő véletlen változtatásával. A Crawl Web operátorban sajnos erre nincs lehetőség, mivel a ‘delay’ paraméterben csak fix értékek adhatók meg, de a Get Pages operátorban már beállítható a ‘random’ érték (a Get Page operátor értelem szerűen nem rendelkezik ilyen paraméterrel). Ha pedig a Get Page operátort kell használnunk, akkor a Loop Examples operátorban alkalmazhatjuk a Delay operátort, szintén a ‘random’ értékkel. A web-barangolás azonosításának további nehezítése lehet még a random user agent használata, melyre szintén csak a Get Pages és a Get Page operátorokban van lehetőség.

Zárásképpen elmondható, hogy bár a web-crawling csak egy RapidMiner kiegészítő révén válik elérhetővé, mégis - vagy éppen ezért - tele van olyan hiányosságokkal, melyek egyébként implementálva lettek egy-egy másik operátorban, csak épp pont abban nem, melyben kellett volna a hatékony működés érdekében. A Web Mining kiegészítő jelenlegi, 5.3.1-es verziója éppen egy éve került publikálásra. Kíváncsian várjuk, hogy mikor jön ki egy újabb verzió, melyben remélhetőleg már javítva lesznek az itt részletezett hiányosságok is. Arra pedig egy következő bejegyzésben próbálok majd magyarázatot adni, miért használom a Loop Examples operátort a Loop Values helyett, holott az utóbbi több okból is sokkal kézenfekvőbb és logikusabb lenne a fent említett példában.

A kép forrása.

3 komment

2014.07.18. 17:01 Gáspár Csaba

Aranyhal egy kívánsággal

Címkék: média oktatás üzleti modell bigdata

Egy nagyon kedves újságírónak meséltem a napokban arról, milyen nehézségei vannak a hazai üzleti életben az adatelemzés terjedésének. Felidéztem, hogy néhány éve viccesen azt mondtuk, hogy ha egy kívánságunk lehetne ezen a piacon, akkor az lenne, hogy a megrendelői oldal felső vezetői számára tarthassunk egy tréninget az adatközpontú gondolkodásról.

goldfish.JPGArra próbáltam utalni ezzel akkoriban, hogy technológiailag, kompetencia szempontjából jóval komplexebb és jobb rendszereket tudunk létrehozni, mint amit be tudna fogadni a legtöbb hazai megrendelő. Most tekintsünk el attól a ténytől, hogy a változást nem magunkon akartuk kezdeni, de ezt elhárítom azzal, hogy az aranyhaltól olyan dolgokat szoktak kérni, amit amúgy önmagunktól nem feltétlenül tudunk véghezvinni.

Az újságíróval való beszélgetés akkor kapott plusz csavart, mikor - jó kérdezőhöz méltóan - azt firtatta, hogy miről beszélnék ezeknek a felsővezetőknek. Bevallom férfiasan a kérdés letaglózott, és nagyon nehezen tudtam érdemi dolgokat kinyögni. Ha kifognám az aranyhalat és ott ülne velem szemben ez a sok ember, mit lenne érdemes elmondani nekik?

Azóta sokat törtem a fejemet erről, és most a menü körülbelül így néz ki:

  • Adatokban rejlő érték kiaknázásának korát éljük - mesélnék sok-sok példát, esettanulmányt, ahol valami fontos szerepet kapott az, hogy az adatokat felhasználták.
  • Mesélnék arról, hogy az adatvezérelt gondolkodás mit jelent, hogy mekkora ereje van első lépésben az egyszerű riportoknak is, később milyen komoly hatása lehet egy prediktív analitikai megoldásnak.
  • Azt hangoztatnám, hogy az üzleti intelligencia folyamatai mentén a cégkultúrának is változnia kell, és ezt első lépésben a legjobban a vezetőn érdemes elkezdeni. Kikérdezném őket, ők mit kérnének a saját cégükkel kapcsolatban egy olyan aranyhaltól, aki csak adatelemzési, adatfelhasználási kívánságokat teljesít.
  • Végül elmondanám, hogy milyen lehetőségei vannak arra, hogy ezen az úton lépjen. Mit érdemes csapaton belül megoldani, hogyan juthat olyan szakemberhez, aki a témában jártas, hol lehet oktatásban részesíteni a kollégákat, melyik tanácsadó csapatokkal érdemes együttműködni. Elmondanám, hogy szerintem a piacon mi most a marketing-lufi és mi a tényleges értéket teremtő irány.

Nem vagyok meggyőződve, hogy ez a helyes csomag, de azt hiszem lelkesen, csillogó szemmel tudnám képviselni, hogy az adatok szintjére is érdemes alámerülni, ha fejlődni akarunk. Azt hiszem egyre több hiteles szakemberre, sikertörténetre, hazai pozitív és negatív példára van szükség ahhoz, hogy ez az ügy a felsővezetőkig eljusson, hogy hatást keltsen. A big data jelenségnek köszönhetően sosem látott módon berobbant ez a téma a köztudatba, fontos lenne, hogy ebből a szempontból is ki tudjuk aknázni ezt a lehetőséget.

Szólj hozzá!

2014.07.03. 11:15 István Nagy

Kérdőív - Szoftverhasználati tippek


Időről időre felmerül az igény, hogy miért nem írunk több olyan bejegyzést, ahol egy adott eszközzel kapcsolatos gyakorlati tanácsokat írunk le, egy-egy érdekesebb probléma megoldásának menetét, vagy egy-egy, a szoftver logikai felépítéséből adódó buktatóra adott megoldásunkat. Szeretnénk felmérni, hogy a blog olvasótáborának mekkora igénye van ilyen bejegyzésekre, és azon belül is milyen szoftverekkel kapcsolatos tippeket olvasnátok a leginkább.

Ezért mindenkit arra kérek, hogy az alábbi nagyon rövid kérdőívet töltse ki:

KÉRDŐÍV

A kép forrása.

Szólj hozzá!

2014.06.30. 10:00 István Nagy

RapidMiner tippek - Valós attribútum nominálissá alakítása

Címkék: best practice rapidminer

A következő bejegyzés Ragány Csaba kollégánk írása, aki csapatunk egyik, ha nem a legtapasztaltabb RapidMiner felhasználója.

Az elmúlt hetekben több fontos esemény is történt a RapidMiner háza táján, melyek közül az egyik - nem meglepő módon -, hogy a KDNuggets felmérésében idén is a RapidMiner bizonyult a legnépszerűbb adatelemző szoftvernek, megőrizve, sőt növelve ezzel vezető helyét a piacon. Ennek ellenére úgy gondolom, hogy a RapidMiner megítélése többek számára is igencsak kettős. Egyrészt a jól eltalált felhasználói felületének köszönhetően az alkalmazás használatának elsajátítása meglehetősen addiktív, a szerteágazó kiegészítőkkel pedig az adatelemzési feladatok palettájának jelentős része lefedhető. Így nemcsak a kezdő vagy “alkalmi” adatbányászok, de a “főállásúak” gyakori eszközévé is vált a szoftver. A másik oldalról viszont könnyen találhatjuk magunkat olyan feladattal szemben, melynek megoldása RapidMiner-rel egyáltalán nem hatékony, vagy egyenesen lehetetlen vállalkozásnak tűnik. Előbbiek mögött első helyen a gyatra memóriakezelést szokták említeni, melyről a tavaly novemberi RapidMiner fizetős verzió megjelenésének apropóján mi is írtunk. Utóbbiak alatt pedig a szoftvert jellemző apró hiányosságokra és bugokra gondolhatunk, melyek megszűntetésére úgy tűnik, a cég kevesebb figyelmet fordít. Ehelyett a fókusz - az őszi váltással összhangban - inkább a nagyvállalatok kiszolgálására irányul, amit többek között a Radoop felvásárlása is alátámaszt.

Felmerülhet tehát a kérdés: dobjuk-e el a RapidMiner-t és használjunk helyette R-t, Python-t vagy valami mást? A választ nyilván mindenki maga adja meg saját magának (úgy gondolom ebben a kérdésben sem csak fekete és fehér létezik), mindenesetre amit korábban szerettünk a szoftverben, az mind ma is megvan benne. A zavaró hiányosságok kapcsán pedig, melyek néha a legegyszerűbb feladatokat is megoldhatatlannak láttatják, álljon itt az alábbi leírás.

Legyen a feladatunk egy valós számokat tartalmazó attribútum valamiféle elemzése, mely során szeretnénk megállapítani pl. a tizedesjegyek számát, vagy az attribútum minden sorának különbözőségét az első elemhez képest, vagy csak egyszerűen a szám tört részét kellene eltárolnunk egy másik attribútumban. Ezen feladatok megvalósításához nominális attribútumként kell kezelnünk a valós számokat, vagyis szükségünk van egy típuskonverzióra (tegyük fel, hogy numerikus műveleteket is végre kell hajtanunk, így az adatbeolvasáskori típusdeklaráció nem segít rajtunk). Ilyetén típuskonverzió pedig háromféleképpen történhet RapidMiner-ben:

  1. egyrészt a megfelelő operátor használatával, ami esetünkben a ‘Numerical to Polynominal’,
  2. másrészt használhatjuk a ‘Generate Attributes’ operátor ‘str()’ függvényét, de
  3. akár egy ‘Extract Macro’ operátort is segítségül hívhatunk a valós attribútumra (pl. az első elemre a többivel való összehasonlításhoz), hogy a szükséges string műveleteket végrehajthassuk.

Ezek valamelyikének alkalmazása után például a tizedesjegyek száma a pont vagy vessző (decimális jelölő) karakter utáni karaktersorozat hosszával adódik. Bármelyik módszert is választjuk, hamar észrevehető, hogy a maximális karakterhossz véletlen valós számok esetén is - alapértelmezetten - 3. Ennek pedig az az oka, hogy mindhárom módszer a RapidMiner belső, valós attribútumot nominálissá alakító mechanizmusát használja, ami viszont csonkol, méghozzá a ‘rapidminer.general.fractiondigits.numbers’ paraméterben beállított mértékben (a beállítás elérhető a RapidMiner Tools menüpont Preferences almenüjének General füle alatt). Az érték növelése pedig csak addig segít, amíg a saját RapidMiner alkalmazásunkban futtatjuk a létrehozott folyamatot, ugyanis nemigen van módszer ezen beállítás RapidMiner folyamatból való átállítására (persze létrehozhatunk egy külső script-et, mely fájlrendszer szinten a futtatás előtt átírja a ‘/RapidMiner5/resources/com/rapidminer/resources/rapidminerrc’ állomány megfelelő sorát, de adott esetben ez is körülményes lehet).

Van tehát egy egészen egyszerű feladatunk, melyet három kézenfekvő módszerrel sem lehet jól megoldani RapidMiner-ben. Nehezen fogadható el, hogy a kis túlzással tetszőleges karakterhosszal bíró nominális attribútumokban miért nem fér el pl. egy 10-20 digites valós szám, miért van szükség a tizedesjegyek csonkolására illetve miért nem adható meg a ‘Numerical to Polynominal’ operátorban vagy az ‘str()’ függvény paramétereként a tizedesjegyek maximális száma, a makró, mint speciális RapidMiner változó téves értékadásáról pedig már ne is beszéljünk. Néhány ilyen hiányosság vagy bug megtapasztalása után könnyen fordul az ember pl. a Python-hoz, ahol egy kódsorral megvalósítható - a helyesen működő - típusátalakítás.

Hiányosságai azonban nemcsak egy szoftvernek lehetnek. A RapidMiner-ben való alaposabb elmélyülés után felfedezhetjük a ‘Format Numbers’ operátort, mely elsősorban nem a szóban forgó probléma, vagyis a helyes (azaz teljes) valós-nominális típuskonverzió megvalósítására lett létrehozva, hanem a különböző tudományos, százalékos vagy pénznemben megadott számok megfelelő kezelésére. De az operátorban a ‘format type: pattern’ és a ‘pattern: #.####################’ paramétereket illetve értékeket megadva elérhető, hogy egy tetszőleges helyiértékű és maximum 20 tizedesjegyet (a pont tizedesjel utáni # karakterek száma) tartalmazó valós attribútumot nominálissá alakítsunk. Arra érdemes még odafigyelnünk, hogy bár ez az operátor nem csonkol, ha elegendően hosszú mintát adunk meg, azonban kerekít, ami felfogható egyfajta csonkolásnak a digitek számát illetően. Például a ‘789.00146’ valós szám és a ‘#.##’ minta esetén ‘789’ lesz a nominális eredmény, a ‘#.####’ minta esetén pedig ‘789.0015’. Ha tehát nem ismerjük a valós attribútumunk intervallumát, vagy ez idővel változhat, érdemes minél hosszabb illeszkedést használni: ugyanis például a fenti, 20 tizedesjegyes minta esetén a létrejövő nominális attribútumunk éppen a kívánt ‘789.00146’ karakterláncot tartalmazza majd, melyre alkalmazva a ‘length(replaceAll(<nominálissá alakított attribútum neve>, “^\\d+\\.”, “”))’ függvényt, megkapjuk az 5 értéket.

A kép forrása.

2 komment

2014.06.17. 15:32 Prekopcsák Zoltán

A RapidMiner felvásárolta a Radoopot

Címkék: siker felvásárlás 2014 rapidminer dmlab radoop rapid-i

Nagy örömmel osztom meg veletek a hírt, hogy a RapidMiner felvásárolta a big data elemzésekkel foglalkozó startup cégünket, a Radoopot. A felvásárlás egy hatalmas szakmai siker a számunkra, hiszen 3-4 év munkáját validálta ezzel a RapidMiner, és biztosítja, hogy a létrehozott termék még nagyobb piacokat hódítson meg.

radoop_es_rapidminer.jpgA Radoop a Dmlab spin-off vállalkozásaként indult 2011-ben azzal a céllal, hogy a big data elemzéseket ugyanolyan egyszerűvé tegye, mint amit a grafikus adatelemző szoftverektől megszokhattunk. Akkoriban még nem volt ennyire egyértelmű, hogy a Big Data trend és maga a Hadoop technológia ennyire jelentős szerepet ér el 2014-re, és gyakorlatilag a nagy adat elemzések de-facto szabványává válik. A RapidMiner grafikus felületével integrált elosztott adatelemzési megoldásunk az elmúlt években sokat fejlődött, jelentős nemzetközi sajtóvisszhangot is kapott, valamint olyan cégeket sikerült ügyfelünknek megnyernünk, mint a Schneider Electric, a Prezi, a Ustream, a Fractal Analytics, illetve még jónéhány nemzetközi vállalat akik inkább a névtelenséget választották.

A felvásárlás kapcsán az egyik fontos szempontunk volt, hogy a Radoop csapata továbbra is a budapesti irodában maradjon, és megalapítsa a RapidMiner big data divízióját. A következő években ez a cég egy dinamikusan bővülő big data kutató és fejlesztő központtá válik, amely egyre több magyar fejlesztőnek és elemzőnek ad majd olyan munkát, amivel egy globális piacvezető analitikai cég termékfejlesztésében tölthet be kulcsszerepet. Szép szakmai siker van mögöttünk, és egy izgalmas szakmai kihívás áll előttünk.

Ugyanakkor ez a felvásárlás nemzetközi szinten is jelentősnek mondható, hiszen az egyik legelső big data felvásárlás a piacon, melyet valószínűleg több tucat hasonló összeolvadás követ majd. A RapidMiner és a Radoop összeolvadása egy korai lépés, amely mindenképp előnybe helyez minket a versenytársakkal szemben, és közösen az egyik legfejlettebb analitikai platformot tudjuk nyújtani az ügyfeleinknek.

Ezúton is szeretném megköszönni a Radoop csapatának a kitartó munkát, a Dmlabnak az inkubációt és rengeteg segítséget, valamint a magyar BI és adatbányászati szakmai közeg biztatását. Remélem, hogy a Radoop sikere jó példát mutat majd a többi magyar startupnak, hogy Magyarországról is lehet globálisan sikeres cégeket létrehozni.

A felvásárlásról további részletek az alábbi linkeken olvashatóak:

(Kép forrása) 

2 komment

2014.06.13. 16:48 Gáspár Csaba

Az adat, mint társadalmi erőforrás

Címkék: data science

Az adatok értékével kapcsolatban sok frappáns megfogalmazást olvastam már: az adat az új olaj, ma már nem “az idő pénz”, hanem “az adat pénz”. De csak mostanában gondolkodtam el mélyebben az adatról, mint egy ország, egy társadalom erőforrásáról.

Kétségtelen, hogy napjaink digitális technológiájával átszőtt világában egyre több adat kerül rögzítésre. Az adatokat a legritkább esetben rögzítik adatelemzés céljából, általában a szolgáltatások operatív biztosítása, vagy azok számlázása, elszámolása kapcsán rögzítik őket (vagy azokat). Ugyanakkor minden rögzített adattag lényegében érték, gyakran kincs, ha adatelemzési, adatbányászati szempontból nézünk rá. Ez az érték tehát elsődlegesen magától keletkezik és kiaknázható.

bigdata_megujuloeroforras.pngUgyanakkor a kiaknázás kapcsán felmerül a kérdés, hogy ezen adatok újrahasznosítása ténylegesen érdeke-e a társadalomnak. Az egyén oldaláról gyakran a privacy védelme, féltése ad korlátot ennek, üzleti oldalról pedig gyakran a valós üzleti mechanizmusok felfedésének az akadályozása gátolja ezt a kiaknázási folyamatot. Ez utóbbira erős példa, hogy az adatok tételes feltárásából a egyes korrupcióval érintett vagy hibás üzleti döntéseire is fény derülhet. 

Az adatok gyűjtésével és feldolgozásával kapcsolatban végül is háromfajta kérdésre kell választ adnia egy-egy szervezetnek, társadalmi csoportnak:

(1) El tudjuk-e fogadni az adatokban látható, valós tényeken alapuló igazságot, vagy ragaszkodunk a tényeket kisebb részben tartalmazó, de számunkra gyakran rövid távon előnyösebb, általunk generált magyarázatokhoz?

(2) Az adatokban rejlő tények elfogadása után képesek vagyunk-e változtatni, hogy az adatok ismételt elemzésével láthatóvá váljanak erőfeszítéseink hatásai

(3) Képesek vagyunk-e megálljt parancsolni akkor, mikor az adatokban rejlő összefüggések etikus felhasználásának határához érünk. 

Mindhárom kérdés jellemzője, hogy nem technológiai korlátokról szól. Az üzleti életnek, a társadalomnak kell megadnia az egyes kérdésekre a választ, az első ponttól eljutni a harmadik pontig. Hogy egy szervezet számára melyik téma okoz nagy nehézséget, jól leírja, hol tart az adatelemzés területén. A nagy, nemzetközi webáruházaknál inkább a harmadik kérdésre adott válasz körül vannak gyakran problémák, míg tipikusan a közigazgatási, állami rendszerekben az első pont környékén akadnak gondok.

Talán a fenti gondolatmenet után nem meglepő, hogy az adatokhoz való viszonyt inkább társadalmi, mint technológiai kérdésnek gondolom, az adatot társadalmi erőforrásnak tekintem. Ez azt is jelenti, hogy nem annyira technológiai kérdés mennyire fogjuk felhasználni kihasználni az adatok mélyén rejlő értékeket, sokkal inkább ez a kérdés az emberek témához való viszonyán múlik. Ezért érezzük mi is a Dmlabban kiemelkedően fontosnak az oktatást, a hazai szakmai közélet fejlesztését, az adatok értékének képviseletét a társadalom felé. Ez több, mint üzleti érdekünk, ez az identitásunkat meghatározó missziónk kiemelkedő része.

Szólj hozzá!

2014.06.02. 14:14 Barta Gergő

Ingyenesen letölthető a SAS Studio

Címkék: oktatás szoftver open source BME SAS

A SAS nagynevű, régi motoros a BI és adatelemzés területén. Bár az elmúlt évek válsága könnyen a költségkímélőbb eszközök felé fordította a figyelmet, a hazai multiknál, pénzintézeteknél továbbra is megkerülhetetlen szereplőnek látszik. A piaci igényekhez igazodva mi is aktívan oktatjuk a Műszaki Egyetemen, két választható tárgy keretei között foglalkozunk a grafikus elemző eszközökkel (Guide és Miner) illetve a Base SAS programozásával is.

Számunkra különösen jó hír, hogy a trendeket felismerve a SAS jelentős energiákat fektetett az elmúlt években a klasszikus programozói felületének fejlesztésébe is. Bár tegyük is hozzá egyből, hogy volt honnan előrelépni: a múlt századi kezelőfelület, a programozást megkönnyítő kényelmi funkciók kvázi teljes hiánya ugyanis sokakat eltántorított eddig.

A SAS egy elegáns húzással a feltuningolt eszközt beköltöztette a böngészőbe, sőt, a múlt héten SAS Studio néven mindenki számára ingyenesen elérhetővé tette. Egy teljes értékű csomagot kapunk, ahol a kiszolgáló logika a háttérben dolgozó virtuális gépen fut, érdemes kipróbálni. A szoftver mellé oktatási anyagokat is kapunk és a csalóka név ellenére személyes használat esetén nem szükséges hozzá egyetemi jogosultság, ugyanis a SAS terminológiájában dicséretes módon az akadémiai világba a felnőttképzés, önképzés is belefér. Ezzel a lépéssel a cég egyszerre igyekszik szélesíteni a jövőbeli felhasználói rétegét és kifogni a szelet az olyan kezdeményezések vitorlájából, melyekről már korábban írtunk.

A SAS szoftverei sohasem a baráti árazásukról voltak híresek, éppen ezért szimpatikus gesztus, ahogy az akadémiai igényeket szem előtt tartva évek óta kedvezményesen biztosítják az eszközeiket oktatási célra. Mostantól azonban mindenki számára nyitott a lehetőség. Autodidakta elemzők, régi és új hallgatók hajrá!

 

Szólj hozzá!

2014.05.30. 14:23 Gáspár Csaba

Új oldal a hazai R közösség összefogására

Címkék: oktatás ajánló python BME SAS R nyelv

A hazai blogszféra egyfajta lenyomata annak, hogy mennyi lelkes és szenvedélyes szakember van a magyar szakmai életben. Most egy új oldal indult R-projekt.hu néven, ami a Hírek fül alatt nemcsak blogtartalmat, hanem segédanyagokat, eseményeket szeretne aggregálni az adott témában. Az oldalra az R nyelvet érintő, a blogunkra írt cikkek is átkerülnek majd.

logo-tryr-home-68e548262b848831c5da792b29c66b18.pngIde vág, hogy idén szeptemberben másodszorra kerül majd meghirdetésre a BME-n az Alkalmazott adatelemzés című tárgyunk, ahol R nyelv, SAS és Python ismereteket lehet szerezni. Tavaly nagyon sikeres volt az a kezdeményezésünk, hogy ne csak a hallgatók jöjjenek be ezekre a tárgyakra, hanem - összhangban az egyetemek szabad előadáslátogatási gyakorlatával - külsősök is tanulhassanak nálunk. Mindhárom meghirdetett témára (big data technológiák, adatbányászati szoftverek, adatelemzésre használható nyelvek) egyenként 2-3 lelkes külsős kolléga járt be rendszeresen. Várhatóan idén is felajánljuk ezt a lehetőséget, a részletek augusztus végére lesznek majd láthatók - írunk róla majd itt is az Adatbányászat Blogon.

2 komment

2014.05.25. 21:24 Gáspár Csaba

Adatbányászati eszközök népszerűsége

Már-már hagyományos módon a KDNuggets idén is felmérést indít, melyik adatbányászati, analitikai eszközt használják olvasói. Az eredményeken hagyományosan jól szokott szerepelni a RapidMiner és az R is, aminek magyarázatára sok-sok jó narratíva létezik - attól függően ki magyarázza az adatokat. Ebbe a parttalan vitába nem is mennék bele.

Sokkal érdekesebb most számomra az, hogy a felmérésben mennyire kevesen szavaztak a Pythonra. Az elmúlt néhány évben a Python jelentős előretörést könyvelhetett el a data science területén dolgozók között, a Kaggle versenyeket is általában ezen a platformon megírt megoldások nyerik meg. Ennek ellenére a ma leadott szavazatom után meglátott részeredményekből az tűnt ki, hogy nagyon kevesen jelölték meg ezt az eszközt. 

post-inflectionPoint.jpgHa korábban nem akartam számháborúzni, akkor itt sem lenne tisztességes. Csupán azt a gondolatomat szeretném felvillantani, hogy az elmúlt időszakban egy jelentős változás történt abban a tekintetben, hogy ki dolgozik az adatok analitikai feldolgozásán. A hagyományos adatbányász szakmán kívülről érkező új data scientist-ek világa egyrészt sokkal programozósabb vagy más esetekben sokkal üzletibb, vizualizáció-központúbb. Az teljes szakmai közösség úgy nőtt meg, hogy a középpontjában nem teljesen ugyanazok a szakembercsoportok állnak, mint korábban.

Ezt az új világot pont nekünk szükséges jobban megérteni, akik már dolgoztak a régebbiben is, hiszen mi emiatt sokkal kevésbé vesszük észre, ha koncepcióváltás történik. Márpedig minden jel arra utal, hogy éppen egy ilyen inflexiós ponton léptünk át nemrég.

Bátorítok mindenkit, hogy a KDNuggets.com-on szavazzon arra, milyen eszközt használ. A szavazást itt lehet megtenni egy mailcím segítségével:

Analytics, Data Mining, Data Science Software Used? 

Ha szavazol, utána láthatod a felmérés aktuális állapotát is.

Szólj hozzá!

2014.05.25. 16:13 Gáspár Csaba

Big data adatvizualizáció az EP választás kapcsán

Címkék: politika startup szakmai vizualizáció bigdata hálózatelemzés

Korábban írtunk róla, hogy a közgondolkodásban a big data jelentése nem egy technológiai vonal leírására használatos, sokkal inkább a trendi adatfelhasználás, adatkiaknázás irányába mutat. Ezért helyes megközelítésnek tartom, hogy a vs.hu oldalon megjelent EU Parlamenti szavazásokat feldolgozó vizualizációs megoldást big data adatvizualizációnak tartják. A csak böngészőből látható ábrákon megláthatjuk, hogy az egyes képviselőcsoportok mikor és hogyan támogattak egy-egy ügyet az Európai Parlamentben (vs.hu: Az együttszavazó bolygók harca - Kik a legnagyobb ellenfelek az EP-ben? Big data vizualizáció az Európai Parlament összes szavazásáról az elmúlt ciklusból). 

A vs.hu formai megközelítésben legelől jár a hazai hírportálok között, nekem különösen tetszenek a kiemelt cikkei, melyek egyaránt koncentrálnak a tartalomra és azt különleges design elemekkel is megtámogatják. A most hivatkozott cikk vizualizációs háttere különösen sokat hozzáad ahhoz, hogy a tartalmat érdekesnek tartsuk, sőt egyfajta új megértést, új rálátást is ad. 

epabra.pngAz üzleti intelligencia számára kiemelten fontos, hogy a tényadatok feldolgozásával, újszerű megjelenítésével az eredeti adatokon túlmutató információt adjon a felhasználónak. A vizualizáció is nagyon sokat hozzáad az adatokhoz, megérthetővé teszi, milyen erőviszonyok, milyen harcok folynak az EU-ban, plasztikussá teszi, összefüggésekbe helyezi a történteket. Engem a megoldás lenyűgözött, és mint választópolgárt, sokkal mélyebb rálátáshoz juttatott - remélem később is nyomon lehet majd így követni az európai eseményeket a vs.hu oldalon.

Mint szakembert az a kérdés, is foglakoztat, hogyan csinálnék meg én egy hasonló megjelenítést. A mostanában forgatott általános hálózatanalitikai és -megjelenítő eszközökön túl egy startup cég, az cx-ray.com megoldása jutott eszembe, akik cégen belüli kommunikációs kapcsolatokat térképeznek fel automatikusan a dolgozók által hagyott digitális lenyomatok alapján. Náluk is azt láttam, hogy azon túl hogy összeszedték ezeket a kapcsolati adatokat, úgy tudták megjeleníteni azokat, hogy az önmagában hozzáadott értéket, mélyebb megértést adott.

A konklúzióm az, hogy a vizualizáció egyre kevésbé a hab a BI tortáján, hanem egyre gyakrabban a produktum szerves része. A jó vizualizáció készítésének módja azonban még kevéssé tanulható. Ti milyen eszköz használatát javasolnátok? 

(Kép forrása: vs.hu)

Szólj hozzá!

2014.05.19. 19:04 Gáspár Csaba

Big data képzést készül indítani a CEU

Címkék: oktatás képzés bigdata

Az elmúlt hetekben járta be a sajtót a hír, hogy a Közép-európai Egyetem (CEU) big data képzés akkreditálásával bővíti oktatási kínálatát. Az IBM-mel közös együttműködésben Master of Science in Business Analytics néven indítanak 2015-től képzést, ahova elsősorban közgazdászokat, de természettudósokat, mérnököket és statisztikusokat is várnak. Az említett híreken kívül még semmi érdemlegeset nem lehet tudni a képzésről, ha valaki rábukkanna a tárgyak neveire, tematikájukra, az ossza meg velünk, igazán kíváncsiak vagyunk. 

HiResGraph300.jpgA hwsw.hu oldalon is közölt hír mögötti kommentek külön tanulságosak voltak. Egyrészt méltán vetették fel a kérdést, hogy egy ilyen irányú képzés mennyiben informatikai jellegű képzés, és ha az, abban mennyire erős a CEU. Egy dolgot azonban bizton állíthatunk: nagyon jó a marketing gépezete.

Sok komment szólt arról, hogy mennyire be van savanyodva a hazai akadémiai oktatási kínálat (ez valóban igaz), és hogy máshol nem is lehet ilyet tanulni, pedig nálunk a BME-n egyre több lehetőség van erre. Ugyan nem lett országos hír annak idején belőle, de nálunk is fut angolul egy Business Analytics szakirány a gazdaságinformatikai képzésen, de ennél is üdvösebb, hogy várhatóan a napokban fogja az egyetem befogadni az új műszaki informatikus képzési rendszert, amiben egy egész MSc mellékszakirányt fel tudunk majd építeni az adatok elemzésének kérdéskörére. Ha átmegy az akkreditáción, egyből írni fogunk itt is erről.

Találtam egy jó összeállítást arról, hogy a tengerentúlon milyen big data és analitikai képzések vannak, érdemes megnézni mit kínálnak az amerikai egyetemek. 

Data Science Central - Data Science programs and training currently available

 

Szólj hozzá!

2014.02.12. 11:00 István Nagy

Hívási szokások előrejelzése a mobil felhasználók körében

Címkék: mobil verseny telekommunikáció

Folyamatosan keressük csapaton belül azokat a platformokat, ahol más adatelemzőkkel összefogva, vagy velük szemben mérhetjük meg analitikai kompetenciáinkat. Fontos ez nekünk, hiszen a napi rutin mellett, ezekben a versenyekből táplálkozunk, ezek mentén tudunk tovább és tovább fejlődni.

Az adatbányászati versenyek etalon platformja a Kaggle lett az elmúlt években, de számos egyéb kezdeményezést is ismerünk, amely hasonló célokat tűzött ki maga elé, mint a Kaggle. Ezek közül az egyik a CrowdAnalytix, amely a versenyzés mellett azt tűzte fel zászlajára, hogy publikus adatokból nyer ki üzletileg is hasznos információkat az adatelemző közösség segítségével, kimondottan crowdsourcing módon.

Az alábbiakban egy olyan versenyeredményünkről számolunk be, amelyek ezen a platformon lettek kiírva.

Szólj hozzá!

2014.02.10. 11:00 István Nagy

Személyre szabott keresési találatok

Címkék: kereső verseny

A felhasználók múltbéli böngészései és viselkedése alapján sok webes szereplő szeretné személyre szabottá tenni oldalát, hogy az ügyfelei minél inkább úgy érezzék, hogy a gondolataikat is ki tudja találni az adott rendszer. Az orosz keresőóriás, a Yandex is azon igyekszik, hogy a bejelentkezett felhasználói korábbi keresési viselkedése alapján sorrendezze a keresési találatokat. 

Az "orosz Google" egy adatbányászati verseny keretein belül kérte a data scientist-ek közösségét, hogy egy anonim felhasználói adatbázis alapján javítsák a személyre szabott sorrendezési algoritmusukat. A versenyen kollégánk, Simon Gábor sikeresen szerepelt és elhozta a 8. helyezést.

2 komment

2014.02.08. 11:00 István Nagy

Adatbányászat a megújuló energetikában

Címkék: verseny python szélenergia energetika szélerőmű idősor

Sokszor felmerül a kérdés, főleg az egyetemi hallgatóságban, hogy egy jó adatbányász mennyire rendelkezik az üzleti kontextustól független tudással, vagy a lényeg az adott felhasználási területre jellemző domainspecifikus tudásban rejlik. Egy adatbányász általában erre azt a választ adja, hogy van a kompetenciáknak egy rétege (modellezési algoritmusok ismerete, visszamérési trükkök stb.), ami független a felhasználás területétől, de a végén mindig abban van, hogy az üzleti terület megértésével tudunk-e plusztudást adni a modelljeinknek.

A fenti gondolatmenetre egy jó példa az az adatbányászati verseny, amelyben szélerőművek teljesítményét kellett előrejelezni. A versenyen elért remek eredményről korábban már adtunk hírt, következzék most egy rövid szakmai összefoglaló.

Szólj hozzá!

2014.02.06. 11:00 István Nagy

Lemorzsolódás elemzése biztosítási környezetben

Címkék: verseny python biztosító churn

Csapatunkban nagy hagyománya van és mára támogatott dologgá vált, hogy tagjaink különböző adatbányászati versenyekben vesznek részt. A legjobb helyezésekről és az ezekhez kapcsolódó versenyekről a blogon is igyekeztünk beszámolni, a legfontosabb szakmai tapasztalatokat összefoglalva. A jövőben minden ilyen beszámolót egy interjú keretében mutatunk be, így a legfontosabb tapasztalatokat minden esetben meg tudjuk veletek osztani. Ha valakinek eszébe jut olyan kérdés, amit szívesen megkérdezne még, azt nyugodtan írja meg kommentben.

Elsőként egy meghívásos Kaggle versenyen elért nagyszerű helyezésről szeretnénk írni. A Kaggle platformot már nem kell senkinek bemutatni a blogunkat rendszeresen olvasók közül. A meghívásos versenyek sajátosságai, hogy ezeken nem indulhat bárki a rendszer regisztrált felhasználói közül, csak azok, akik már bizonyos minőségi kritériumnak megfelelnek (helyezések, top%-os helyek száma stb.). Nagy Gábor kollégánknak sikerült elhozni egy másik versenyzővel együtt a harmadik helyet.

Ezt a versenyt a Deloitte írta ki és a megoldandó üzleti cél az ügyfelek lojalitásának megértése volt, egy biztosítótársaság ügyfeleinél kellett előrejelezni a lemorzsolódást a következő 12 hónapban a lemorzsolódás időpontjával együtt.

5 komment