Versenyen használ az ember olyan technikákat, amit a való életben soha

Interjú Németh Péterrel, a Dataracing data science verseny 2. helyezettjével.

A Magyar Nemzeti Bank és a Budapesti Műszaki és Gazdaságtudományi Egyetem egy közösen szervezett data science versenyt hirdetett idén tavasszal, hogy a szakmai fejlődéshez és kapcsolódáshoz platformot teremtsen a magyar data science közösségnek. A Dataracing data science verseny során egy olyan modell létrehozása volt a cél, amely megbecsüli a hazai vállalatok exportbevételeinek alakulását az elmúlt évek mérleg adatai segítségével. A verseny szakmai hátterét a Dmlab szakértői adták. 

A versenyre 2022. április 11-től 10 héten keresztül folyamatosan nevezhettek hazai adatelemzéssel foglalkozó szakértők és lelkes érdeklődők. A verseny folyamán 185 versenyző, összesen több mint 6000 megoldáson keresztül mérte össze szakmai tudását2. A második legjobb megoldást Németh Péter készítette, akit a versenyen elért eredményének hátteréről kérdeztünk. 

Dmlab: Szia Péter, gratulálunk a helyezésedhez. Elsőként mit szeretnél megosztani magadról? 

Péter: Pár éve kezdtem önszorgalomból gépi tanulással foglalkozni, mert érdekelt a téma azóta ebben dolgozom és képzem magam. Korábban egy felhős multinál dolgoztam Solution Architect-ként, amiből 15 év éppen elég volt. 

Volt-e korábbi tapasztalatod vagy bármilyen a verseny témájához kapcsolódó iparági ismereted, amely segített, hogy sikeres legyél ezen a versenyen? 

Valamelyest jártas vagyok a pénzügyi beszámolók olvasásában. Magam is vállalkozóként dolgozok és befektetőként is érint a dolog. Szerencsére nagyon sok jó online kurzus van a témában. 

Nem állítom, hogy ez túl sokat segített a verseny során, de legalább valamelyest értettem az adatokat, amivel dolgozni kellett. Mondjuk eltartott egy darabig, mire leesett, hogy a “hoskot” változó nem hőskölteményt jelent, hanem hosszú lejáratú követelést 😀 

Csináltál-e feltáró adatelemzést az adatokon? Mi volt a legérdekesebb észrevétel/összefüggés, amit az adatokban találtál? 

Jövő évi adat előrejelzésére a nyilvánvaló első közelítő megoldás a legutolsó (idei) adat. Némi adattisztítással és csak a 2016-os exportbevétel elküldésével tisztes eredményt lehetett szerezni a leaderboardon. 

A verseny érdekessége volt, hogy a 2017-es célértékek fele rendelkezésre állt. Ez nyilván tág teret engedett annak, hogy megyére, vállalkozási formára, cégméretre stb. lebontva megnézzük az exportváltozást. Ezek a faktorok voltak a modellem bemeneti változói. Idősor elemzésnél felettébb ritka, de nagyon hasznos dolog, ha a jövőbeli adatok is rendelkezésre állnak 😊 

További érdekesség, hogy az adatsor nagy százalékában az export 0, vagy 0-hoz közel eső érték. Nyilván nagy hibát ott véthet az ember, ahol nagy értékekkel dolgozik, ezért igyekeztem a modellt inkább a nagy exportú cégekre húzni, mert a kis értékű cégeknél elért javulás elhanyagolható javulást hoz az összesített eredményen. 

A nyilvános teszt adatsoron elért MAE hiba is alacsonyabb volt, mint a tanulón elért MAE. Mivel a teljes teszt és a tanuló adatsor eloszlása hasonló, ezért várható volt, hogy a privát teszt adatsorra nagyobb exportú cégek jutottak. Ez fontos motiváció volt arra is, hogy ne húzzam a megoldásom a leaderboardra, mert az a privát adatsoron nem fog jól működni. 

Végeztél-e bármilyen adatelőkészítést az adatokon? Automatikusat vagy a domaint megismerve szakértői adatelőkészítést csináltál? 

Az adatokban akadt pár hiba. Negatív vagy hiányzó értékek. Ezeket javítottam a legvalószínűbb értékkel. 

Ugyanakkor az is hamar feltűnt, hogy az adatok többségének nem nagyon van prediktív értéke. A legjobb megoldás 10-nél kevesebb feature-t használ. A többi adat tisztítása és feldolgozása csak az időt vitte. 

Milyen modellezési technikákat használtál fel a verseny során? Mi alapján választottad ki a legjobbat? 

A lineáris regresszió jól működött. Alapvetően lineáris kapcsolat áll fenn az adatok és a célérték között, úgyhogy nem is kerestem sokat más megoldást. További előnye, hogy valamelyest véd a túltanulás ellen is. 

Milyen eszközöket használtál a verseny során? 

Jupyter Notebook, Python, scikit-learn. Másra nagyon nem volt szükség. 

Milyen hardverkörnyezetben dolgoztad ki a megoldásod?  

Alapvetően egy nagyon kis adathalmazról van szó. Egy 6 magos CPU bőven bírta. GPU nem kellett hozzá. 

Milyen tapasztalatokat viszel magaddal a versenyről? 

Sok mindennel próbálkoztam, a végső eredményt egy viszonylag egyszerű modell adta. Nekem is időbe telt, míg elfogadtam, hogy ennyit lehet ebből kihozni és a további bonyolítás csak a túltanulást segítené. 

Van-e valamilyen tanácsod azoknak, akik most vágnak bele első data science versenyükbe? 

Kezdjenek olyan helyen, ahol a versenyzőknek rendelkezésre áll valamilyen fórum az ötletelésre. Kaggle versenyeken rengeteget tanultam, csak a fórumbejegyzések elolvasásával és a megosztott kódok átvételével, módosítgatásával. Versenyen használ az ember olyan technikákat, amit a való életben soha. Ezt is csak így lehet megtanulni. 

Ha lehetne egy álom versenyed, akkor milyen problémán dolgoznál a legszívesebben? 

Jelenleg egy gyógyászati / diagnosztikai célú ML projekten dolgozom. Motivál, hogy a munkám sokat segíthet másokon és nem csak a profitszámokon látszik meg. Szívesen vennék részt hasonló versenyen is. 
 

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

Enquire now

Give us a call or fill in the form below and we will contact you. We endeavor to answer all inquiries within 24 hours on business days.