public static ClassifierBuildResult Create(IClassifier classifier, TextDocument[] trainingSet, string targetTag)
        {
            var errorsCount = trainingSet.Count(x => classifier.IsClassifierWrong(x, targetTag));
            var error = errorsCount * 1.0 / trainingSet.Length;

            return new ClassifierBuildResult
            {
                Classifier = classifier,
                Error = error
            };
        }
        private void PrintNormalizedTagsStats(TextDocument[] documents)
        {
            var tags = documents.SelectMany(x => x.Tags).Distinct().ToArray();
            var stats = tags.Select(tag => new TagStatistics
            {
                Name = tag,
                Count = documents.Count(p => p.Tags.Contains(tag))
            }).ToArray();

            Logger.Log("Normalized tags stats");
            foreach (var tag in stats.OrderByDescending(x => x.Count))
            {
                Logger.Log("Tag = {0}, count = {1}", tag.Name, tag.Count);
            }
            PrintDelimeter();
        }