private static void PrintFullInfo(Message[] messages) { var trainingMessages = messages.Take(messages.Length * 2 / 3).ToArray(); var testMessages = messages.Skip(trainingMessages.Length) .Take(messages.Length - trainingMessages.Length) .ToArray(); var spamClassifier = new SpamClassifier(trainingMessages); spamClassifier.PrintWords(); Console.WriteLine("--------------------------------------------"); Console.WriteLine("overall messages count --> " + messages.Length); Console.WriteLine("training messages count --> " + trainingMessages.Length); Console.WriteLine("test messages count --> " + testMessages.Length); Console.WriteLine("--------------------------------------------"); var positiveCounter = 0; foreach (var message in testMessages) { Console.WriteLine(message); Console.WriteLine($"spam P: " + spamClassifier.GetSpamProbability(message)); Console.WriteLine("non spam P: " + spamClassifier.GetNonSpamProbability(message)); Console.WriteLine(spamClassifier.GetSpamProbability(message) > spamClassifier.GetNonSpamProbability(message) ? "spam" : "not spam"); Console.WriteLine(); var isSpam = spamClassifier.GetSpamProbability(message) > spamClassifier.GetNonSpamProbability(message); if (message.IsSpam == isSpam) { positiveCounter++; } } Console.WriteLine($"positive result: {positiveCounter}"); }