yield
read_classification_from_file()
? Kolik lidí si myslí, že ji i úspěšně dokončilo?
encoding
ve volání open(filename, mode, encoding='utf-8')
?
Zadání na interních stránkách.
Druhá část úlohy Spam filtr je týmová. Bylo by dobře, kdybyste nejpozději příští týden věděli, s kým budete v týmu. Dejte nám vědět, zda tým už máte nebo si někoho najdete sami, zda byste chtěli, abychom vám někoho přidělili, nebo zda máte k týmové práci takový odpor, že opravdu chcete úlohu řešit sami.
Pokud se rozhodnete úlohu řešit sami, vězte, že to bude mnohem více práce: musíte vytvořit kód, report i prezentaci sami. V týmu se o práci můžete podělit.
Pokud někdo stále naráží na problémy, zkuste si přečíst
Opět existuje několik způsobů, jak testy spustit. Vyberte si ten, který vám nejvíc vyhovuje.
Spuštění testů z jednoho modulu v Python shellu
Spuštění testů jednoho modulu v nástroji Test
2017-11-30: Dnes jsme zjistili, že v učebně 307 v PyCharm Community tato možnost nefunguje správně. Pokud narážíte na podobné problémy, zkuste si běhovou konfiguraci nadefinovat ručně (viz následující popis). Stačí použít Target Python s názvem testovaného modulu, např. test_readClassificationFromFile. Možnost s Target Path občas nefunguje.
Spuštění všech testů v adresáři (projektu) najednou v nástroji Test
http://docs.python.org/py3k/library/unittest.html
Stáhněte si testy ke kroku 1 úlohy Spam filtr. Archiv rozbalte do adresáře, kde vyvíjíte spam filter.
Zopakujte (podle potřeby) výše uvedené i pro testy ke kroku 2.
read_classification_from_file()
tak, aby procházela unit testem.
Vyplňte dotazník ohledně složení týmů pro Spam filtr, pokud jste to ještě neudělali.
Pokud se vám to nepodařilo už na cvičení, dokončete:
read_classification_from_file()
tak, aby procházela testy.
Příprava na krok 3 úlohy spam filtr:
Prostudujte si:
V článku Binary Classification najděte a pochopte význam zkratek TP, FP, TN, FN.Na kus papíru napište:
co podle vás tyto zkratky znamenají pro problém filtrování spamu co budeme potřebovat, abychom tyto statistiky mohli napočítat
Příprava na krok 4 úlohy spam filtr:
Rozmyslete si a načrtněte na kus papíru:
Jakým způsobem se spam filtr vlastně používá? Jaký je z hlediska implementace rozdíl mezi učicím se filtrem a filtrem, který se učit neumí? Existuje nějaká část, kterou budou mít všechny spam filtry společnou? Je lepší realizovat spam filtr jako funkci nebo jako objekt s vlastnostmi a metodami? Jaké jsou minimální požadavky na tuto realizaci? Co všechno by měla umět? Jaké musí mít vstupy a co musí být jejím výstupem?