コード例 #1
0
        public void TestEvaluate()
        {
            DataModel                   model     = GetDataModel();
            RecommenderBuilder          builder   = new SlopeOneRecommenderBuilder();
            RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
            IRStatistics                stats     = evaluator.Evaluate(builder, model, 5, 0.2, 1.0);

            Assert.IsNotNull(stats);
            Assert.AreEqual(0.2, stats.Precision, EPSILON);
            Assert.AreEqual(1.0, stats.Recall, EPSILON);
            Assert.AreEqual(0.33333, stats.GetF1Measure(), EPSILON);
        }
コード例 #2
0
        public void testBoolean()
        {
            IDataModel          model   = getBooleanDataModel();
            IRecommenderBuilder builder = new TestRecommenderBuilder();

            IDataModelBuilder            dataModelBuilder = new TestDataModelBuilder();
            IRecommenderIRStatsEvaluator evaluator        = new GenericRecommenderIRStatsEvaluator();
            IRStatistics stats = evaluator.Evaluate(
                builder, dataModelBuilder, model, null, 1, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);

            Assert.NotNull(stats);
            Assert.AreEqual(0.666666666, stats.GetPrecision(), EPSILON);
            Assert.AreEqual(0.666666666, stats.GetRecall(), EPSILON);
            Assert.AreEqual(0.666666666, stats.GetF1Measure(), EPSILON);
            Assert.AreEqual(0.666666666, stats.GetFNMeasure(2.0), EPSILON);
            Assert.AreEqual(0.666666666, stats.GetNormalizedDiscountedCumulativeGain(), EPSILON);
        }