elliot.evaluation.metrics.novelty.EFD package

Submodules

elliot.evaluation.metrics.novelty.EFD.efd module

This is the implementation of the Expected Free Discovery metric. It proceeds from a user-wise computation, and average the values over the users.

class elliot.evaluation.metrics.novelty.EFD.efd.EFD(recommendations, config, params, eval_objects)[source]

Bases: elliot.evaluation.metrics.base_metric.BaseMetric

Expected Free Discovery (EFD)

This class represents the implementation of the Expected Free Discovery recommendation metric.

For further details, please refer to the paper

Note

EFD can be read as the expected ICF of seen recommended items

\[\mathrm {EFD}=C \sum_{i_{k} \in R} {disc}(k) p({rel} \mid i_{k}, u)( -\log _{2} p(i \mid {seen}, \theta))\]

To compute the metric, add it to the config file adopting the following pattern:

simple_metrics: [EFD]
eval_user_metric()[source]

Evaluation function :return: the overall averaged value of Expected Free Discovery per user

static name()[source]

Metric Name Getter :return: returns the public name of the metric

elliot.evaluation.metrics.novelty.EFD.extended_efd module

This is the implementation of the Expected Free Discovery metric. It proceeds from a user-wise computation, and average the values over the users.

class elliot.evaluation.metrics.novelty.EFD.extended_efd.ExtendedEFD(recommendations, config, params, eval_objects, additional_data)[source]

Bases: elliot.evaluation.metrics.base_metric.BaseMetric

Extended EFD

This class represents the implementation of the Extended Expected Free Discovery recommendation metric.

For further details, please refer to the paper

To compute the metric, add it to the config file adopting the following pattern:

complex_metrics:
- metric: ExtendedEFD
eval_user_metric()[source]

Evaluation function :return: the overall averaged value of Expected Free Discovery per user

static name()[source]

Metric Name Getter :return: returns the public name of the metric

Module contents