Adatbányászat Blog

Az Adatbányász Blogon a dmlab szakértőinek írásait olvashatod a big data és data science területéről.

dmlab.hu - Big data és data science tanácsadás
"Ha örülsz, hogy fejedre nőttek az adatok."

Keress minket bátran:
- Nagy-Rácz István +36704595669
- Gáspár Csaba +36208234154
- info@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

10éves (1) 2007 (1) 2010 (23) 2011 (27) 2012 (13) 2013 (23) 2014 (5) 2015 (6) 2016 (10) 2017 (3) adaptív (1) adat- és médiainformatika (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 (4) adatelemzés (1) adatelemzési platformok (1) adattárház (5) adattárház fórum (6) adattárolás (1) adattisztítás (1) adatvédelem (2) advise (2) aegon (1) aglitás (1) agy (2) ajánló (11) 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) apache (1) api (2) Arató Bence (3) bank (1) barabási (2) Barabási (2) beharangazó (1) beharangozó (18) bejelentés (2) belami (1) best practice (9) beszámoló (14) BI (3) Bi (1) bi (13) bi-trek (1) biconsulting (7) bigdata (21) Big Data (2) big data (5) biopen (1) biztosító (1) BI Akadémia (1) bi consulting (1) bi start (1) blog (5) bme (1) BME (14) bootcamp (1) brainstorming (1) bsp (1) budapest (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 (2) cognos (1) credit scoring (1) crisp-dm (1) crm (2) csalásdetektálás (1) DataExpert (1) dataexplorer (1) datapest (1) data mining (1) data science (5) diplomamunka (1) dmla1o (1) dmlab (12) döntési fák (1) drill (1) e-commerce (1) előadás (21) előrejelzés (1) élő közvetítés (1) Enbrite.ly (1) energetika (1) esemény (2) esettanulmány (3) etikus (1) etl (2) évforduló (2) fejlesztés (2) felmérés (5) felsőoktatás (1) felület (1) felvásárlás (3) 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 (4) google (8) google analytics (1) graphlab (1) gravity (3) greenplum (1) gyakorlat (1) hadoop (10) hallgatók (2) hálózatelemzés (3) hálózatkutatás (2) hálózatok (3) hazai (2) hiba (4) hírlevél (2) 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 (4) jelentkezés (1) jmp (2) kaggle (2) kampánymenedzsment (1) kapcsolati hálók (1) karrier (1) kdd (3) kdnuggets (2) képzés (4) 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 (70) könyv (6) környezet (1) közlekedés (1) közösség (2) közösségi hálózatok (4) közvetítés (6) kritika (1) küldetés (1) kürt akadémia (1) kutatás (2) lemorzsolódás (1) licensz (1) live (1) logisztika (1) magyar telekom (2) mahout (1) mapreduce (1) marketplace (1) média (2) meetup (11) mellékspecializáció (1) mém (3) memóriacentrikus (1) menedzsment (3) metaadat (1) metodika (1) microsoft (1) mobil (5) mobil bi (4) modeler (2) modell (3) morgan stanley (1) motion chart (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 (22) 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) pandas (2) paradoxon (1) pascal (1) pentaho (1) personal data mining (1) phd (2) philips (1) piac (3) pikk (1) pilot (1) PISA-felmérés (1) pmml (1) politika (2) powerpivot (1) prága (1) praktiker (1) prediktív analitika (2) prediktív analitka (1) prediktiv modellezés (5) prediktív modellezés (1) prezi (15) privacy (1) privacy preserving data mining (1) projekt (1) projektmenedzsment (4) publikáció (1) python (9) radoop (12) random forest (1) rapid-i (2) rapidanalytics (7) rapidminer (40) RapidMiner (2) 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 forum (3) sas fórum (1) siker (3) simptech (1) sixtep (2) smarthabits (1) spike sorting (1) sportanalitika (1) SPSS (3) spss (13) spss clementine (3) spss hungary (5) spss modeler (6) ssd (1) starschema (2) startup (9) 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 (2) 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ó (2) teradata (2) teszt (1) text mining (1) tmit (5) toborzás (1) tőzsdei előrejelzés (1) tracking (1) trendek (8) tudományos (1) tunedit (1) twitter (17) ü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 (20) vezetői képzés (1) videó (3) vizualizáció (5) web (4) web2 (2) webanalitika (3) webshop (1) weka (2) wikipedia (2) workshop (1) yahoo (2) Címkefelhő

TWitter a csapat tagjaitól

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

A bejegyzés trackback címe:

http://adatbanyaszat.blog.hu/api/trackback/id/tr506453493

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben.

teaház 2014.07.01. 10:04:24

Na, ez az!

Ez nagyon tetszett, ez hiányzott!!! Nagyon tanulságos volt, ha lehet, ilyeneket még! :) Lehet RM, de bármilyen más témakör is.

Köszi & üdv: Nóra

István Nagy 2014.07.01. 10:06:12

@teaház: Próbálunk rendszeresen írni ezentúl ilyen technológiaibb posztokat is. Hamarosan egy kérdőíven megkérdezzük, hogy mekkora igény van erre és egyéb technológiákra.