Spam III

Výsledky učení

Po tomto cvičení student

  • má hotové triviální filtry a umí změřit jejich kvalitu na datové sadě,
  • chápe, v čem může být dědičnost užitečná při implementaci spam filtrů.

Program

  • Dotazy a odpovědi
  • Kontrola DÚ z minulého týdne
  • Varování před přílišnou podobností kódů
  • Tutoriál: Dědičnost
  • Hádanka
  • Programovací úloha
  • Konzultace problémů a práce na úloze Spam filter

Dědičnost v OOP

Může se týkat

  • tříd Corpus a TrainingCorpus a
  • jednotlivých spam filtrů.

Interaktivní programovací úloha a příklad k diskusi

Teplé nápoje

Dopravní prostředky

Hádanka

Zadání hádanky se dozvíte na cvičení.

Přeučení

Představme si, že máme učicí se filtr, který funguje následovně. Při trénování si pro všechny trénovací emaily zapamatuje začátek řetězce zprávy o délce N znaků a třídu, do níž daný email patří. Při hodnocení nové zprávy spočítá, s kolika spamy a s kolika hamy se shoduje začátek nové zprávy, a zaklasifikuje zprávu podle majority. Parametr N představující délku fragmentů, které si filtr pamatuje, nám umožňuje filtr ladit.

  • Jak se chová míra kvality měřená na trénovacích a testovacích datech v závislosti na změně parametru N?
  • Jaká hodnota N je pro tento filtr a daná data optimální? Jaké hledisko vlastně použijeme k posouzení optimality?

Programování, konzultace

Dotáhněte úlohu spam filter do stavu, kdy vám fungují jednoduché filtry a jste schopni spočítat jejich kvalitu (tedy až do kroku 4). Pokud vám něco není jasné, ptejte se cvičícího!

  • Neprochází-li vaše kódy přes unit testy ke krokům 2 nebo 3, rozhodně kontaktujte vyučujícího a v diskusi s ním si vyjasněte, kde je chyba a jak je třeba pokračovat!
  • Neprochází-li vaše třída TrainingCorpus přes unit test ke kroku 5 a rádi byste vypracovali filtr, který se umí učit, opět kontaktujte vyučujícího!
  • V čase zbývajícím do odevzdání byste měli pracovat už jen na vlastním filtru, všechny podpůrné třídy a funkce byste již měli mít hotové! Využijte příležitosti - vyučující je na cvičeních pro vás!

Programovací tipy

Projděte si sekci krok 6: programovací tipy uvedenou v programu prací na úloze spam. Obsahuje (neúplný) výčet tříd, metod a funkcí jazyka Python, které by se vám mohly při vytváření spam filtru hodit.

Domácí úkol

Na konci roku je termín pro odevzdání 2. části úlohy Spam filtr! Postupujte podle specifikací. Termín najdete v odevzdávacím systému.

Programování

courses/b4b33rph/cviceni/program_po_tydnech/tyden_10.txt · Last modified: 2025/09/12 15:17 by kostkja2