Az idei kaposvári hackathonon egy már korábbi precognoxos fejlesztésből származó receptkeresőt kellett hasznosítanunk a feladat megoldásához. Az egynapos projekt célja az volt, hogy prezentáljunk valamiféle eredményt a nap végére és persze, hogy ez az eredmény lehetőleg minél kerekebb legyen. Tehát, ha csak egy részfeladatra jut idő, akkor azt fejezzük be teljesen és mutassuk be látványos formában, ha azonban jut idő több dologra is, az persze nem hiba.
Mivel a csapattagok közül voltak, akik korábban nem is találkoztak, mellékesen a projektmunka közben lehetőség nyílt arra is, hogy ezek az emberek egy kicsit összecsiszolódjanak és megismerkedjenek.
A mi projektünkben a már legyűjtött rengeteg receptből ki kellett vonnunk egyrészt az alapanyagokat és a mértékegységeket, hogy meg tudjuk mondani, miből mennyit tartalmaz egy-egy étel és utána ezekből a kinyert adatokból kellett kiszámolnunk az egyes ételek tápanyag-tartalmát. Ez nem volt annyira könnyű feladat, egyrészt, volt, hogy más is belekerült a szűrt adatba, nem csak alapanyagok, illetve, ami ennél trükkösebb kihívás volt, az a mértékegységek standardizálása. Képzeljük csak el, hogy az “egy púpozott kanál vaníliás cukor ” hány gramm. Mekkora az a kanál? Mokkás, teás, esetleg evőkanál-e? Esetleg merőkanál? Mi alapján határozzuk meg, hogy az “ízlés szerint” alatt mit kell érteni? Csak nem mondhatjuk mi is azt, hogy hát csak úgy ízlés szerint írtuk be a mennyiségeket a tápértékek kiszámoláshoz... Legalább is ez a megoldás nem lenne túl elegáns, ami azt illeti.
Túl ezen, az sem mindegy, hogy “egy fej hagymáról” vagy “egy fej káposztáról” beszélünk, nem lehet behelyettesíteni a “fej” helyére, hogy “fél kiló”, hiszen attól függ, hogy a szóban forgó fej éppen mire vonatkozik.
Túllendülve ezen a mulatságos problémán, akadtak még bonyodalmak a másik feladatrésznél is, ahol a különböző ételeket próbáltuk alapanyagok alapján clusterekbe sorolni.
Itt alapvető probléma volt az adatok megfelelő formára hozása, hiszen az SPSS elég érzékeny a beviteli források formátumára. Miután ezt sikerült áthidalni, rátérhettünk a tényleges vizualizációs feladatra. Az úgynevezett k-means clusterező módszerrel készítettük a különböző ételtípusokat. Ennek a módszernek az a lényege, hogy az adatokból centralitás értékeket számol a program és megpróbálja minimalizálni a csoportban a centroidtól való távolságot, illetve maximalizálni a különböző clusterek közötti távolságot.
Az egyes adatpontok az összetevők voltak és e clusterek alapján már “kézzel” határoztuk meg, hogy az adott összetevőket tartalmazó cluster milyen ételtípust foglal magába. Itt azonban fontos megjegyezni, hogy az egyes összetevőkből többfajta étel is készíthető. Tojásból például éppen úgy lehet sajtos hagymás omlettet sütni, ahogyan csokis piskótát is. Vagy vegyük a lisztet; sütemény, tésztafélék, palacsinta, kenyér egyaránt tartalmazza. Más szóval, egyértelmű clusterek készítése ilyen adatokból jellegüknél fogva nem lehetséges, hiszen az egyes clusterek tagjainak egy jelentős hányada átfedésben van.
Végül mégis sikerült értelmes csoportokat kihoznunk a clustereinkből, mint “kenyérfélék”, “gyümölcsös sütemények” és hasonlók.
Ugyan az utolsó pillanatban, de sikerült még összeállítanunk egy rövid prezentációt is a munkafolyamatról, így a nap végén tartott előadást viszonylag látványos formában sikerült a többiek elé tárni...és remélhetőleg ezt a “többiek” is így értékelik.
Végezetül egy megjegyzés a hackathonra vonatkozóan: nagyon jó érzés, hogy van egy jól meghatározott feladat, amit nap elején elkezd egy maréknyi munkatárs és a nap végére értékelhető produktum születik belőle, illetve hogy mindezt jó hangulatban sikerül elérni.
Köszönjük!