public void Classify_NegativeFeatures_LessThanFiftyPercent()
        {
            var unknown = new UnknownSample(GetFeatures(150000, 1));
            Probability result = _binaryClassifier.Classify(GetKnownFacts(), unknown);

            Assert.That(result.Value, Is.LessThan(0.5d));
        }
        public void Classify_PositiveFeatures_GreaterThanFiftyPercent()
        {
            var unknown = new UnknownSample(GetFeatures(3, 7));

            Probability result = _binaryClassifier.Classify(GetKnownFacts(), unknown);

            Assert.That(result.Value, Is.GreaterThan(0.5d));
        }
        public void TeachAndClassify()
        {
            var unknown = new UnknownSample(GetFeatures(3, 7));

            double[] learning = _binaryClassifier.Teach(GetKnownFacts());
            Probability result = _binaryClassifier.Classify(learning, unknown);

            Assert.That(result.Value, Is.GreaterThan(0.5d));
        }
        public void Classify_TeachAndClassify_Compare()
        {
            var unknown = new UnknownSample(GetFeatures(3, 0));

            double[] learning = _binaryClassifier.Teach(GetKnownFacts());
            Probability indirect = _binaryClassifier.Classify(learning, unknown);
            Probability direct = _binaryClassifier.Classify(GetKnownFacts(), unknown);

            Assert.That(indirect, Is.EqualTo(direct));
        }
 public void Classify_PrintResults()
 {
     for (int age = 1; age < 100; age++)
     {
         for (int words = 0; words < 10; words++)
         {
             var unknown = new UnknownSample(GetFeatures(age, words));
             Probability result = _binaryClassifier.Classify(GetKnownFacts(),
                 unknown);
             Console.WriteLine(
                 "Age {0}, Words {1}, Probability {2}",
                 age,
                 words,
                 result);
         }
     }
 }
 public Probability Classify(double[] coefficients, UnknownSample unknown)
 {
     double probability = Compute(coefficients, GetInput(unknown));
     return new Probability(probability);
 }
 public Probability Classify(KnownFacts known, UnknownSample unknown)
 {
     double probability = GetTaughtRegression(known).Compute(GetInput(unknown));
     return new Probability(probability);
 }