QuickRank  v2.0
QuickRank: A C++ suite of Learning to Rank algorithms
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
quickrank::metric::ir::Metric Class Referenceabstract

This class implements the basic functionalities of an IR evaluation metric. More...

#include <metric.h>

Inheritance diagram for quickrank::metric::ir::Metric:
quickrank::metric::ir::Dcg quickrank::metric::ir::Map quickrank::metric::ir::Ndcg quickrank::metric::ir::Tndcg

Public Member Functions

 Metric (size_t k=NO_CUTOFF)
 Creates a new metric with the specified cut-off threshold. More...
 
virtual ~Metric ()
 
virtual std::string name () const =0
 Returns the name of the metric. More...
 
size_t cutoff () const
 Returns the current cut-off of the Metric. More...
 
void set_cutoff (size_t k)
 Updates the cut-off of the Metric. More...
 
virtual MetricScore evaluate_result_list (const quickrank::data::QueryResults *rl, const Score *scores) const =0
 Measures the quality of the given results list according to the Metric. More...
 
virtual MetricScore evaluate_dataset (const std::shared_ptr< data::Dataset > dataset, const Score *scores) const
 
virtual MetricScore evaluate_dataset (const std::shared_ptr< data::VerticalDataset > dataset, const Score *scores) const
 
virtual std::unique_ptr< Jacobianjacobian (std::shared_ptr< data::RankedResults > ranked) const
 Computes the Jacobian matrix. More...
 

Static Public Attributes

static const size_t NO_CUTOFF = SIZE_MAX
 This should be used when no cut-off on the results list is required. More...
 

Private Member Functions

virtual std::ostream & put (std::ostream &os) const =0
 Prints the short name of the Metric, e.g., "NDCG@K". More...
 

Private Attributes

size_t cutoff_
 The metric cutoff. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Metric &m)
 The output stream operator. More...
 

Detailed Description

This class implements the basic functionalities of an IR evaluation metric.

Constructor & Destructor Documentation

quickrank::metric::ir::Metric::Metric ( size_t  k = NO_CUTOFF)
inlineexplicit

Creates a new metric with the specified cut-off threshold.

Parameters
kThe cut-off threshold.
virtual quickrank::metric::ir::Metric::~Metric ( )
inlinevirtual

Member Function Documentation

size_t quickrank::metric::ir::Metric::cutoff ( ) const
inline

Returns the current cut-off of the Metric.

virtual MetricScore quickrank::metric::ir::Metric::evaluate_dataset ( const std::shared_ptr< data::Dataset dataset,
const Score scores 
) const
inlinevirtual
virtual MetricScore quickrank::metric::ir::Metric::evaluate_dataset ( const std::shared_ptr< data::VerticalDataset dataset,
const Score scores 
) const
inlinevirtual
virtual MetricScore quickrank::metric::ir::Metric::evaluate_result_list ( const quickrank::data::QueryResults rl,
const Score scores 
) const
pure virtual

Measures the quality of the given results list according to the Metric.

Parameters
rlA results list.
scoresa list of scores
Returns
The quality score of the result list.

Implemented in quickrank::metric::ir::Ndcg, quickrank::metric::ir::Tndcg, quickrank::metric::ir::Dcg, and quickrank::metric::ir::Map.

virtual std::unique_ptr<Jacobian> quickrank::metric::ir::Metric::jacobian ( std::shared_ptr< data::RankedResults ranked) const
inlinevirtual

Computes the Jacobian matrix.

This is a symmetric matrix storing the metric "decrease" when two documents scores are swapped.

Parameters
rlA results list.
Returns
A smart-pointer to the Jacobian Matrix.
Todo:
TODO: provide def implementation

Reimplemented in quickrank::metric::ir::Ndcg, quickrank::metric::ir::Tndcg, quickrank::metric::ir::Dcg, and quickrank::metric::ir::Map.

virtual std::string quickrank::metric::ir::Metric::name ( ) const
pure virtual
virtual std::ostream& quickrank::metric::ir::Metric::put ( std::ostream &  os) const
privatepure virtual
void quickrank::metric::ir::Metric::set_cutoff ( size_t  k)
inline

Updates the cut-off of the Metric.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Metric m 
)
friend

The output stream operator.

Member Data Documentation

size_t quickrank::metric::ir::Metric::cutoff_
private

The metric cutoff.

const size_t quickrank::metric::ir::Metric::NO_CUTOFF = SIZE_MAX
static

This should be used when no cut-off on the results list is required.


The documentation for this class was generated from the following file: