Budeme vytvářet funkci, která bude umět načíst údaje ze souborů !truth.txt nebo !prediction.txt do datové struktury typu dictionary.
dictionary (viz [Pilgrim2009], kapitola 2.7, nebo [Wentworth2012], kapitola 20)
items():eng_to_cz = {'cat': 'kocka', 'dog': 'pes', 'house': 'dum' } for eng, cz in eng_to_cz.items(): print(eng, ',', cz)
with
split() řetězcových proměnných (viz dokumentace k str.split())
Úkol:
utils.py vytvořte funkci read_classification_from_file pro načtení klasifikace mailů z textového souboru
K čemu nám to bude:
read_classification_from_file budeme potřebovat při učení filtru (pokud jej budeme učit) a při hodnocení úspěšnosti filtrů.
Funkce read_classification_from_file (v modulu utils.py):
| Vstupy: | cesta k textovému souboru (v našem případě to budou typicky soubory !truth.txt a !prediction.txt) |
|---|---|
| Výstupy: | dictionary obsahující pro každý název souboru identifikátor SPAM nebo OK |
Funkce načte textový soubor, v němž jsou na řádku vždy 2 řetězce oddělené mezerou,
email01.txt OK email02.msg OK email03.txt SPAM email1234.txt OK ...a vytvoří z něj datovou strukturu
dictionary (na pořadí jednotlivých “řádků” v následujícím výpisu nezáleží):
{'email1234.txt': 'OK', 'email03.txt': 'SPAM', 'email02.msg': 'OK', 'email01.txt': 'OK'}
Bude-li soubor prázdný, funkce vrátí prázdný slovník.