KAČO, A. Predikce chování nakupujících [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.
Pan Kačo se věnoval řešení svého projektu s velkým zaujetím, sháněl si vhodné datové sady a studoval různá řešení. Postupem času se ukázalo, že použití pokročilých metod je příliš obtížné a tak se zaměřil na využití základních metod. Po celou dobu se projektu věnoval s velkým nasazením, tvrdě a odpovědně pracoval, i když se musel neustále potýkat s řadou obtíží.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Zadání vzniklo ve spolupráci s řešitelem. Obtížnost zadání se odvíjí od složitosti vybraných postupů. Původně zvažované pokročilé postupy bylo nutné nakonec nahradit základnějšími metodami. Ačkoliv výsledky samotné predikce nejsou oslňující, s výslednou realizací, aktivitou, nasazením i získáním zkušeností autora jsem spokojen. | ||
Práce s literaturou | Autor byl aktivní a samostatný při vyhledávání a výběru studijních zdrojů, které v případě potřeby konzultoval s vědoucím. | ||
Aktivita během řešení, konzultace, komunikace | Pan Kačo chodil na konzultace připraven a dle dohodnutých termínů. Konzultace nebyly příliš časté, autor měl jasnou představu, jak při řešení postupovat. Aktivně hledal vhodné datové sady i používané postupy. Během konzultací prezentoval důvěryhodně postup svého řešení. Postupem času se ale začalo ukazovat, že problematika je složitější a že autor není tak dobře znalostně připraven řešit úlohu jím vybraným způsobem, jak se z konzultací původně zdálo. Vedoucímu trvalo příliš dlouho, než si toto uvědomil. Změna postupu řešení, které bude využívat základní metody a techniky, přišla dost pozdě a autor pak měl méně prostoru se dobře obeznámit alespoň s těmito postupy. | ||
Aktivita při dokončování | Práce byla dokončena včas. Technická zpráva byla opakovaně konzultována a autor postupně zapracovával doporučení vedoucího. Definitivní obsah jsem již ale neviděl. | ||
Publikační činnost, ocenění |
Věřím, že pan Kačo se své bakalářské práci věnoval. V každé její části (analýza, návrh, realizace, experimenty) jsou náznaky dobrého zamyšlení a smysluplné práce. Celkové zpracování zadání a technické zprávy je však slabé, vzbuzuje velké množství nejasností a silnou nedůvěru, že autor často nevěděl, co přesně dělá a nedokázal tak odhalit a odladit různé problémy při realizaci.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | Náročnost zadání závisí na zvoleném přístupu k řešení. Základní predikci lze řešit pomocí jednoduchých statistik extrahovaných z dat, ale je možné se vydat cestou komplexních postupů dolování dat a strojového učení. Pan Kačo se pokusil využít techniky jako slovníky nebo shlukování, ovšem funkční část jeho řešení se řadí do kategorie těch jednodušších. | ||
Rozsah splnění požadavků zadání | Navržené metody nejsou schopny hledat uživatelské skupiny nebo opakované vzory chování (bod 2), snaží se o predikci dalšího nakupovaného zboží. Toto považuji za rozumné omezení úlohy v rámci bakálřské práce. Zvolená datová sada není vhodná pro vývoj a testování (bod 3). Je nutné chápat, jak data vznikla, jaký mají charakter či specifika a pro řešení jakých úloh jsou vhodná. Autor však o datasetu netuší vůbec nic a pouze se domnívá, že by mohl být generovaný uměle. | ||
Rozsah technické zprávy | Rozsah technické zprávy se blíží obvyklému rozmezí. Technická zpráva obsahuje asi 7 stran "základních znalostí" o technikách strojového učení. Mnoho metod z tohoto průletu autor komentuje s respektem a z povzdálí. Nejde do hloubky a nevysvětluje jak konkrétně se daná metoda používá v úloze predikce chování nakupujících (viz bag-of-words v Kap. 2.6). Popis datové sady je nedostatečný. O jaké šlo zboží? O jaké šlo uživatele? Student se měl alespoň pokusit dataset sám analyzovat, ukázat distribuci kategorií a produktů v datasetu, apod. | ||
Prezentační úroveň technické zprávy | 55 | Prezentační úroveň zprávy je pouze dostatečná. Postrádám jasně formulovanou úlohu, kterou autor řeší. Použití může být různé, charakter vstupních dat také, což ovlivňuje požadavky a výběr metod. Online shop je něco zcela jiného než kamenný obchod. Doporučování zboží v reálném čase je něco jiného než plánování skladových zásob. Návrh občas působí naivně, jako množství nepřesně popsaných myšlenek, ke kterým často sám autor zmiňuje protipříklad, kdy fungovat nebudou. Některé postupy jsem při vší snaze pochopil jen mlhavě. Popis totiž není důsledný. Někdy jsou sice popsány kroky algoritmu - co se děje, ale nikoliv proč se to děje a čeho se snaží kroky docílit. Nepřesností a nejasností je v textu mnoho. Jak navrhované shlukování nákupních košíků pomůže najít kategorie v datech? Co znamená: "Model by mal byť škálovateľný pre väčší objem dát?" Pochopení nepřispívá ani to, že vše je popisováno slovně. V Kap. 3.2 je sice zavedena mat. notace, ale dále v textu už není použita. Místo nejasných slov by pomohl jasný vzorec, diagram, apod. Kap. Realizace je na tom obdobně. Autor píše: "Majme dvoch užívateľov u a uj , kde j je poradie užívateľa v histórii užívateľov." Ovšem co je to ona historie uživatelů? Diagram na Obr. 4.1 má představovat postup výpočtu, který z něj opravdu nepochopím. Co se počítá jako první a co jako druhé? Co znamenají různě barevné šipky? | |
Formální úprava technické zprávy | 60 | Jazykovou stránku jsem schopen posoudit omezeně, technická zpráva je ve slovenštině. Zdá se být dobrá. Hutný text je však trápení číst, hodilo by se jej strukturovat (odrážky, apod.) a také obrázků je minimum. Ne všechny symboly ve vzorcích jsou popsány. Text obsahuje velké množství někdy až úsměvných překlepů jako "ktor=y", kontrola pravopisu by pomohla. Matoucí překlad "správania sa nakupujúcich" jako "the behavior of those leaving" (viz angl. abstrakt) je pak drobnost. V odevzdané elektronické PDF verzi není vloženo zadání práce. | |
Práce s literaturou | 60 | Literatura je k tématu. Chybí větší množství novějších článků. Autor hodně čerpá z knihy [5], kterou často cituje v teoretické kapitole. Styl kapitoly působí, že z knihy a několik dalších zdrojů posbíral pár vysvětlení, ale hlubší poznání a orientaci v problematice nezískal. Pochopení se mi zdá povrchní, viz tvrzení: "Vďaka svojej jednoduchosti a presnosti je k-NN prijateľný algoritmom pre menšie dátové súbory..." Na základě čeho tak usuzujete? Akceleračních struktur pro k-NN problém je mnoho a umí pracovat i s poměrně velikými daty. "Metóda je citlivá na rozdielny rozsah hodnôt vstupujúcich premenných (vhodným riešením môže byť štandardizácia) a double zero problém." Jakou normalizaci myslíte? Str. 12 - "Autokódovače sú dopredné, nerekurentné neurónové siete, ktoré sa učia učením bez dozoru." A jak se tedy trénují? Ocenil bych ucelenější porovnání metod, jejich úspěšnosti, výhod a nevýhod, z čehož by vyplynula nejvhodnější metoda. Některé citace nejsou úplné, např. [10] je bakalářská práce. | |
Realizační výstup | 60 | První varianta řešení je přímočará a fungovat by měla. Bude však dost staticky nabízet stále to stejné zboží. Pokud jsem ji správně pochopil, tak podle kategorií najde podobně zaměřeného uživatele a nabídne mi zboží z kategorie, které nejčastěji nakupuje. Další dvě pokročilejší varianty autor sám během realizace označil jako nepoužitelné (nefunkčnost nebo časová náročnost). Základní myšlenka metod není špatná, pravděpodobně však nastaly problémy s realizací plynoucí z nedostatečného pochopení. Dle mého názoru autor vůbec nepochopil použití fce DBSCAN z knihovny Sklearn. Tvrdí, že použil Kosinovu metriku, ale dlouze diskutuje nastavení parametru p, který se však týká použití metriky Minkowski! Stěžejní část vyhodnocení je smysluplná - metrika i porovnání s prostou nabídkou obecně nejnakupovanějších kategorií/produktů. Dle výsledků je prostá nabídka nejčastěji nakupovaných produktů však přesnější. Predikce produktu není funkční. Překvapivě mnohem lépe funguje predikce kategorie zboží (30%). Bylo by však dobré uvést jak často jsou kategorie v datech zastoupené. Tab. 4.2 - není jasné, zda jde o experimenty s nastavením parametru p, který je zmiňován u metody DBSCAN nebo autor myslí něco jiného. V prvém případě test nemá smysl (shlukování mu nefunguje) a ve druhém případě nerozumím o jaký parametr jde, protože není nikde popsán a stejně pojmenován. Programové v řešení v Pythonu není nijak rozsáhlé, ovšem muselo být větší. Zdá se, že student odevzdal zdrojové kódy pouze první funkční metody. Zdrojový kód je komentovaný a částečně strukturovaný, jsou využity i třídy. | |
Využitelnost výsledků | Práce nové poznatky nepřináší a vzhledem k mnoha nejasnostem ani základní varianta řešení nebude v praxi použitelná. |
eVSKP id 148344