====== Spam IV ====== [[courses:b4b33rph:internal:cviceni:program_po_tydnech:tyden_11|Učitelská verze stránky]] ===== Výsledky učení ===== Po tomto cvičení student * chápe důležitost testování modelů na nezávislých testovacích datech, aby se omezilo nebezpečí přeučení; * má jasnou představu o tom, jaký filtr by chtěl implementovat. ===== Program ===== * Varování před přílišnou podobností kódů * Demonstrace problému přeučení * Hádanka * 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. ===== 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? ===== Hádanka ===== Zadání hádanky bude sděleno na cvičení. ===== Konzultace ===== Řešení problémů s vašimi filtry a unit testy. * 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! ====== Domácí úkol ====== Zanedlouho následují termíny odevzdání: * **2. části úlohy Spam filtr**! Postupujte podle [[..:spam:specifikace#sp-filt|specifikací]]. Termín najdete v BRUTE. * **3. části úlohy Spam filtr** ([[..:spam:krok7#report|reportu]] a [[..:spam:krok7#prezentace|prezentace]]). Termíny taktéž v BRUTE! ===== Programování ===== * [[..:spam:krok6|Krok 6 - vlastní filtr]]