Novelty

Elliot integrates the following novelty metrics.

Summary

EFD.efd.EFD(recommendations, config, params, …)

Expected Free Discovery (EFD)

EFD.extended_efd.ExtendedEFD(…)

Extended EFD

EPC.epc.EPC(recommendations, config, params, …)

Expected Popularity Complement (EPC)

EPC.extended_epc.ExtendedEPC(…)

Extended EPC

EFD

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]

Extended EFD

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

EPC

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

Bases: elliot.evaluation.metrics.base_metric.BaseMetric

Expected Popularity Complement (EPC)

This class represents the implementation of the Expected Popularity Complement recommendation metric.

For further details, please refer to the paper

Note

EPC can be read as the expected number of seen relevant recommended items not previously seen

\[\mathrm{EPC}=C \sum_{i_{k} \in R} \operatorname{disc}(k) p\left(r e l \mid i_{k}, u\right)\left(1-p\left(\operatorname{seen} \mid t_{k}\right)\right)\]

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

simple_metrics: [EPC]

Extended EPC

class elliot.evaluation.metrics.novelty.EPC.extended_epc.ExtendedEPC(recommendations, config, params, eval_objects, additional_data)[source]

Bases: elliot.evaluation.metrics.base_metric.BaseMetric

Extended EPC

This class represents the implementation of the Extended EPC 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: ExtendedEPC