QuickRank
v2.0
QuickRank: A C++ suite of Learning to Rank algorithms
|
This implements the RankBoost algorithm. More...
#include <rankboost.h>
Public Member Functions | |
Rankboost (size_t max_wr) | |
Rankboost (const pugi::xml_document &model) | |
virtual | ~Rankboost () |
Rankboost (const Rankboost &other)=delete | |
Avoid inefficient copy constructor. More... | |
Rankboost & | operator= (const Rankboost &)=delete |
Avoid inefficient copy assignment. More... | |
virtual std::string | name () const |
Returns the name of the ranker. More... | |
virtual void | learn (std::shared_ptr< data::Dataset > training_dataset, std::shared_ptr< data::Dataset > validation_dataset, std::shared_ptr< metric::ir::Metric > metric, size_t partial_save, const std::string model_filename) |
Executes the learning process. More... | |
virtual Score | score_document (const Feature *d) const |
Returns the score of a given document. More... | |
virtual std::shared_ptr< std::vector< Score > > | partial_scores_document (const Feature *d) const |
Returns the partial scores of a given document, tree. More... | |
virtual pugi::xml_document * | get_xml_model () const |
Return the xml model representing the current object. More... | |
virtual bool | update_weights (std::vector< double > &weights) |
virtual std::shared_ptr< std::vector< double > > | get_weights () const |
Return the weights for the ensemble models (only). More... | |
Public Member Functions inherited from quickrank::learning::LTR_Algorithm | |
LTR_Algorithm () | |
LTR_Algorithm (const pugi::xml_document &model) | |
Generates a LTR_Algorithm instance from a previously saved XML model. More... | |
virtual | ~LTR_Algorithm () |
LTR_Algorithm (const LTR_Algorithm &other)=delete | |
Avoid inefficient copy constructor. More... | |
LTR_Algorithm & | operator= (const LTR_Algorithm &)=delete |
Avoid inefficient copy assignment. More... | |
virtual void | score_dataset (std::shared_ptr< data::Dataset > dataset, Score *scores) const |
Given and input dateset, the current ranker generates scores for each instance and store the in the scores vector. More... | |
virtual void | save (std::string model_filename, int suffix=-1) const |
Save the current model to the output_file. More... | |
virtual void | print_additional_stats (void) const |
Print additional statistics. More... | |
virtual bool | update_weights (std::shared_ptr< std::vector< double >> weights) |
Update the weights for the ensemble models (only). More... | |
Static Public Attributes | |
static const std::string | NAME_ = "RANKBOOST" |
Private Member Functions | |
void | init (std::shared_ptr< data::Dataset > training_dataset, std::shared_ptr< data::Dataset > validation_dataset) |
void | compute_pi (std::shared_ptr< data::Dataset > dataset) |
WeakRanker * | compute_weak_ranker (std::shared_ptr< data::Dataset > dataset) |
void | update_d (std::shared_ptr< data::Dataset > dataset, WeakRanker *wr, float alpha) |
MetricScore | compute_metric_score (std::shared_ptr< data::Dataset > dataset, std::shared_ptr< quickrank::metric::ir::Metric > scorer) |
void | clean (std::shared_ptr< data::Dataset > dataset) |
virtual std::ostream & | put (std::ostream &os) const |
Prints the description of Algorithm, including its parameters. More... | |
Private Attributes | |
float *** | D = NULL |
float ** | PI = NULL |
Feature ** | THETA = NULL |
unsigned int * | n_theta = NULL |
unsigned int *** | SDF = NULL |
Score * | training_scores = NULL |
Score * | validation_scores = NULL |
size_t | T |
size_t | best_T |
bool | go_parallel |
char const * | omp_schedule |
WeakRanker ** | weak_rankers = NULL |
float * | alphas = NULL |
float | best_r = 0.0 |
float | max_alpha = 0.0 |
float | r_t = 0.0 |
float | z_t = 1.0 |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Rankboost &a) |
The output stream operator. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from quickrank::learning::LTR_Algorithm | |
static std::shared_ptr< LTR_Algorithm > | load_model_from_file (std::string model_filename) |
Load a model from a given XML file. More... | |
This implements the RankBoost algorithm.
Freund, Y., Iyer, R., Schapire, R. E., & Singer, Y. (2003). An efficient boosting algorithm for combining preferences. The Journal of machine learning research, 4, 933-969.
quickrank::learning::forests::Rankboost::Rankboost | ( | size_t | max_wr | ) |
quickrank::learning::forests::Rankboost::Rankboost | ( | const pugi::xml_document & | model | ) |
|
virtual |
|
delete |
Avoid inefficient copy constructor.
|
private |
|
private |
|
private |
|
private |
|
virtual |
Return the weights for the ensemble models (only).
Default implementation will do nothing (default for non ensemble models).
Reimplemented from quickrank::learning::LTR_Algorithm.
|
virtual |
Return the xml model representing the current object.
Implements quickrank::learning::LTR_Algorithm.
|
private |
|
virtual |
Executes the learning process.
training_dataset | The training dataset. |
validation_dataset | The validation training dataset. |
metric | The metric to be optimized. |
partial_save | Allows to save a partial model every given number of iterations. |
model_filename | The file where the model, and the partial models, are saved. |
Implements quickrank::learning::LTR_Algorithm.
|
inlinevirtual |
Returns the name of the ranker.
Implements quickrank::learning::LTR_Algorithm.
Avoid inefficient copy assignment.
|
virtual |
Returns the partial scores of a given document, tree.
d | is a pointer to the document to be evaluated |
Reimplemented from quickrank::learning::LTR_Algorithm.
|
privatevirtual |
Prints the description of Algorithm, including its parameters.
Implements quickrank::learning::LTR_Algorithm.
Returns the score of a given document.
Implements quickrank::learning::LTR_Algorithm.
|
private |
|
virtual |
|
friend |
The output stream operator.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
static |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |