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)); }
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)); }
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)); }