@Override
public void initDataset(Dataset dataset) throws Exception {
if (dataset == null || !dataset.needsInitialization) {
return;
}
RankingDataset rankingDataset = (RankingDataset) dataset;
int[][] labelCounts = NDCGEval.getLabelCountsForQueries(rankingDataset.targets, rankingDataset.queryBoundaries);
rankingDataset.maxDCG = NDCGEval.getMaxDCGForAllQueriesUptoTruncation(rankingDataset.targets, rankingDataset.queryBoundaries,
NDCGEval.MAX_TRUNCATION_LEVEL, labelCounts);
}