Example #1
0
        public void RankingMetricsNonPerfectTest()
        {
            double[] ndcg    = { 0.2, 0.3, 0.4 };
            double[] dcg     = { 0.2, 0.3, 0.4 };
            var      metrics = MetricsUtil.CreateRankingMetrics(dcg, ndcg);

            Assert.False(IsPerfectModel(metrics, RankingMetric.Dcg, 3));
            Assert.False(IsPerfectModel(metrics, RankingMetric.Ndcg, 3));
        }
Example #2
0
        public void RankingMetricsPerfectTest()
        {
            double[] ndcg    = { 0.2, 0.3, 1 };
            double[] dcg     = { 0.2, 0.3, 1 };
            var      metrics = MetricsUtil.CreateRankingMetrics(dcg, ndcg);

            Assert.False(IsPerfectModel(metrics, RankingMetric.Dcg, 3)); //REVIEW: No true Perfect model
            Assert.True(IsPerfectModel(metrics, RankingMetric.Ndcg, 3));
        }
Example #3
0
        public void RankingMetricsGetScoreTest()
        {
            double[] ndcg    = { 0.2, 0.3, 0.4 };
            double[] dcg     = { 0.2, 0.3, 0.4 };
            var      metrics = MetricsUtil.CreateRankingMetrics(dcg, ndcg);

            Assert.Equal(0.4, GetScore(metrics, RankingMetric.Dcg, 3));
            Assert.Equal(0.4, GetScore(metrics, RankingMetric.Ndcg, 3));

            double[] largeNdcg = { 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.85, 0.9, 0.95 };
            double[] largeDcg  = { 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.85, 0.9, 0.95 };
            metrics = MetricsUtil.CreateRankingMetrics(largeDcg, largeNdcg);
            Assert.Equal(0.3, GetScore(metrics, RankingMetric.Dcg, 3));
            Assert.Equal(0.3, GetScore(metrics, RankingMetric.Ndcg, 3));
        }