3. domača naloga: PCA in kategorije članov na rtvslo.si
Ko me zanima, kaj se dogaja, me pogosto zanese na rtvslo.si. Tam objavljajo novice iz zelo različnih področij, ki so lepo razvrščene v kategorije. Ali znamo kategorije kako rekonstruirati?
Prof. Zupan nam je pripravil podatke o več kot 10000 člankih s portala. V priloženi .yaml datoteki je vsak članek predstavljen z naslovom in ključnimi besedami (slednje je določil ChatGPT). V nalogi boste s PCA projicirali podatke v 3D prostor in jih tam poskušali razložiti. Izvedite naslednje:
- Ključne besede transformirajte s TF-IDF.
- Transformirane podatke sestavite v matriko, ki je primerna za PCA. Pri tem uporabite le ključne besede, ki se pojavijo v vsaj 20 dokumentih.
- Izvedite PCA z vašo implementacijo druge naloge. Seveda jo lahko še popravite, ampak tudi popravljena verzija mora zadoščati zahtevam ter testom, ki smo jih postavili tam.
- Prikažite projekcijo člankov v interaktivni 3D vizualizaciji, kjer lahko zorni kot premikamo (uporabite
vispy
). Vizualizacija naj vsebuje tudi graf nateznih koeficientov (loadings plot; sami se odločite, kako ustrezno izbrati značilke zanj).
Nalogo oddate kot pythonski program, ki odpre datoteko rtvslo.yaml
v istem direktoriju, izvede zgoraj opisane korake in odpre vizualizacijo. To lahko skupaj traja največ 1 minuto (na mojem 4 leta starem prenosniku, in da, tu je veliko rezerve). Program mora vsebovati tudi PCA in prestati teste 2. naloge tudi, če .yaml ni na voljo.
Oddajte tudi predstavitvi namenjeno projekcijo, ki jo izvozite kot PDF. Obsega naj točno 4 prosojnice (in naj bo brez naslovnice):
- Podatki. Prikažite podatke, na katerih ste izvedli PCA. Prikažite tudi nekaj ilustrativnih vrednosti tabele, ki jim dodate koristno razlago.
- Razložena varianca. Prikažite razloženo varianco po komponentah.
- Rezultati. Prikažite projekcijo in graf nateznih koeficientov.
- Interpretacija. Utemeljite vašo izbiro značilk za graf nateznih koeficientov. Interpretirajte rezultate.
Oddaja. Na spletno učilnico oddajte vašo predstavitev (.pdf) in kodo (eno .py datoteko). Del rešitve je tudi vaša programska koda, zato naj bo pregledna.
Datoteka s podatki
- 9. april 2024, 17:31