/// <summary> /// Inicializuje SpamFilter podle dodaneho textu /// </summary> /// <param name="goodReader"></param> /// <param name="badReader"></param> public void Nacti(TextReader goodReader, TextReader badReader) { _dobry = new Korpus(goodReader); _spatny = new Korpus(badReader); SpoctiPravdepodobnosti(); }
private void btnLoad_Click(object sender, EventArgs e) { Korpus spatny = new Korpus(); Korpus dobry = new Korpus(); spatny.NactiZeSouboru("../../TestData/spam.txt"); dobry.NactiZeSouboru("../../TestData/good.txt"); _filter = new SpamFilter(); _filter.Nacti(dobry, spatny); // Vypis statistik o nactenych datech. txtOut.Text = String.Format(@"{0} {1} {2}{3}" , _filter.Dobre.Tokeny.Count , _filter.Spatne.Tokeny.Count , _filter.ListPravdepodobnosti.Count , Environment.NewLine); // Vypis pravdepodobnosti foreach (string key in _filter.ListPravdepodobnosti.Keys) { if (_filter.ListPravdepodobnosti[key] > 0.02) { txtOut.AppendText(String.Format("{0},{1}{2}", _filter.ListPravdepodobnosti[key].ToString(".0000"), key, Environment.NewLine)); } } }
/// <summary> /// Inicializuje SpamFilter podle obsahu korpusu /// </summary> /// <param name="dobry"></param> /// <param name="spatny"></param> public void Nacti(Korpus dobry, Korpus spatny) { _dobry = dobry; _spatny = spatny; SpoctiPravdepodobnosti(); }
/// <summary> /// Inicializuje SpamFilter podle DataTable obsahující sloupce "IsSpam" a "Body" /// </summary> /// <param name="tabulka"></param> public void Nacti(DataTable tabulka) { _dobry = new Korpus(); _spatny = new Korpus(); foreach (DataRow radek in tabulka.Rows) { bool jeSpam = (bool)radek["IsSpam"]; string body = radek["Body"].ToString(); if (jeSpam) { _spatny.NactiZReaderu(new StringReader(body)); } else { _dobry.NactiZReaderu(new StringReader(body)); } } SpoctiPravdepodobnosti(); }