public class TopNNDCGMetric extends ListOnlyTopNMetric<MeanAccumulator>
Measure the nDCG of the top-N recommendations, using ratings as scores.
This metric is registered with the type name ndcg
.
Modifier and Type | Class and Description |
---|---|
static class |
TopNNDCGMetric.Spec
Specification for configuring nDCG metrics.
|
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_COLUMN |
Constructor and Description |
---|
TopNNDCGMetric()
Create an nDCG metric with log-2 discounting.
|
TopNNDCGMetric(Discount disc)
Create an nDCG metric with a default name.
|
TopNNDCGMetric(Discount disc,
String name)
Construct a new nDCG Top-N metric.
|
TopNNDCGMetric(TopNNDCGMetric.Spec spec)
Construct a top-N nDCG metric from a spec.
|
Modifier and Type | Method and Description |
---|---|
MeanAccumulator |
createContext(AlgorithmInstance algorithm,
DataSet dataSet,
Recommender recommender)
Create the context for an experimental condition (algorithm/data set pair).
|
MetricResult |
getAggregateMeasurements(MeanAccumulator context)
Get the aggregate results from an accumulator.
|
MetricResult |
measureUser(TestUser user,
int targetLength,
LongList recommendations,
MeanAccumulator context)
Measurement method that only uses the recommend list.
|
measureUser
getAggregateColumnLabels, getColumnLabels, getRequiredRoots
public static final String DEFAULT_COLUMN
public TopNNDCGMetric()
Create an nDCG metric with log-2 discounting.
public TopNNDCGMetric(Discount disc)
Create an nDCG metric with a default name.
disc
- The discount to apply.public TopNNDCGMetric(TopNNDCGMetric.Spec spec)
Construct a top-N nDCG metric from a spec.
spec
- The spec.@Nullable public MeanAccumulator createContext(AlgorithmInstance algorithm, DataSet dataSet, Recommender recommender)
Metric
Create the context for an experimental condition (algorithm/data set pair). The default implementation returns null
.
createContext
in class Metric<MeanAccumulator>
algorithm
- The algorithm.dataSet
- The data set.recommender
- The LensKit recommender, if applicable. This can be null for an external algorithm that does not provide a LensKit recommender.null
.@Nonnull public MetricResult getAggregateMeasurements(MeanAccumulator context)
Metric
Get the aggregate results from an accumulator. The default implementation returns MetricResult.empty()
.
getAggregateMeasurements
in class Metric<MeanAccumulator>
context
- The context for an experimental condition.@Nonnull public MetricResult measureUser(TestUser user, int targetLength, LongList recommendations, MeanAccumulator context)
ListOnlyTopNMetric
Measurement method that only uses the recommend list.
measureUser
in class ListOnlyTopNMetric<MeanAccumulator>
user
- The user.targetLength
- The target list length.recommendations
- The list of recommendations.context
- The context.