Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Spam III

  • 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
  • Demonstrace problému přeučení
  • Programovací úloha
  • Konzultace problémů a práce na úloze Spam filter
  • CÍL: dovést všechny studenty do stavu, v němž proběhnou unit testy ke krokům 2, 3, 4 a příp. 5.

Dědičnost v OOP

  • Bude se týkat tříd TrainingCorpus a jednotlivých spam filtrů.

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

Teplé nápoje

Dopravní prostředky

Hádanka

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 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: 2021/12/13 18:27 by xposik