/// <summary> /// Odczytuje klasyfikator Bayesa z podanego pliku. /// </summary> /// <param name="pathFile">Scieżka do pliku.</param> public void LoadBayes(String pathFile) { Stream stream = File.Open(pathFile, FileMode.Open); BinaryFormatter bFormatter = new BinaryFormatter(); this.bayesClassificator = (BayesClassificator)bFormatter.Deserialize(stream); DocumentClass.DocumentCategories = (List <String>)bFormatter.Deserialize(stream); LoadSettings(stream, bFormatter); stream.Close(); this.form.LoadClassificatorEnd(ClasyficatorType.Bayes); }
public void Test() { string[] boys = new String[] { "Michal", "Pawel", "Jan", "Wiktor", "Zbigniew", "Emil", "Tomek" }; string[] girls = new String[] { "Wika", "Ania", "Aga", "Joanna", "Gosia", "Iwona" }; string[] testBoys = new String[] { "Michal", "Jan", "Andrzej", "Tomek" }; string[] testGirls = new String[] { "Wika", "Ania", "Joanna", "Ilona" }; string[] testDiferent = new String[] { "Wika", "Ania", "Joanna", "Ilona", "Tomek", "Gosia" }; BayesClassificator bayes = new BayesClassificator(); Console.WriteLine("Uczy sie imion chlopcow ...."); bayes.Learn(boys); //index 0 Console.WriteLine("Uczy sie imion dziewczyn ..."); bayes.Learn(girls); //index 1 int test = bayes.Classificate(testBoys); if (test == 0) { Console.WriteLine("Zgadl !. To naprawde imiona chlopcow."); } else { Console.WriteLine("Niestety. Prawidlowa odpowiedz: imiona chlopcow !"); } test = bayes.Classificate(testGirls); if (test == 1) { Console.WriteLine("Zgadl !. To naprawde imiona dziewczyn."); } else { Console.WriteLine("Niestety. Prawidlowa odpowiedz: imiona dziewczyn !"); } test = bayes.Classificate(testDiferent); if (test == 1) { Console.WriteLine("Mysli ze to imiona dziewczyn."); } else if (test == 0) { Console.WriteLine("Mysli ze to imiona chlopcow."); } Assert.IsTrue(true); }
private void BayesLearn() { //tworze klasyfikator bayesClassificator = new BayesClassificator(learningWorker); //ładuje listę kategorii DocumentClass.LoadFromFiles(Settings.Default.pathLearningDir, PreprocessingConsts.CategoryFilePattern); //tworze liste kategorii CategoryList categoryList = new CategoryList(Settings.Default.pathLearningDir, PreprocessingConsts.CategoryFilePattern); this.allWordsInBayesCategory = categoryList.AllWordsCount; //nauka if (bayesClassificator.Learn(categoryList) == false) { bayesClassificator = null; this.allWordsInBayesCategory = 0; } }