The InputParams class stores options and execution parameters that have been passed to FLAGR by the user. These parameters concern input and output file locations, rank aggregation methods, algorithm hyper-parameters, etc. See the table below for a complete list of the supported parameters and their respective valid values.
This object is passed as an argument to multiple functions of FLAGR including the implementations of the rank aggregation methods. This is how these implementations get access to the user-defined hyper-parameters.
Implementation files
The InputParams class is defined in the src/InputParams.h header file; its member functions are implemented in src/InputParams.cpp.
Technical Details
The supported parameters include:
| Parameter | Data Type | Description |
input_file |
String (ASCII) | The path of the input CSV file that contains the preference lists to be aggregated. |
rels_file |
String (ASCII) | The path of the optional CSV file that contains the relevance judgments of the input list elements. If set, it automatically triggers the evaluation process of the generated aggregate list. Otherwise, no evaluation takes place. |
output_file |
String (ASCII) | The file system location where the output file with the aggregate list will be stored. If left empty, the default OS temp directory is used. |
eval_file |
String (ASCII) | The file system location where the output file with the evaluation of the aggregate list will be stored. If left empty, the default OS temp directory is used. |
random_string |
String (ASCII) | A string that is embedded in the names of the output files. Used when FLAGR is compiled as a shared library. |
aggregation_method |
Integer | Determines the algorithm that will be used to perform rank aggregation. The valid values are:100 for CombSUM with Borda normalization101 for CombSUM with Rank normalization102 for CombSUM with Score normalization103 for CombSUM with Z-Score normalization104 for CombSUM with Simple Borda normalization110 for CombMNZ with Borda normalization111 for CombMNZ with Rank normalization112 for CombMNZ with Score normalization113 for CombMNZ with Z-Score normalization114 for CombMNZ with Simple Borda normalization200 for the Condorcet Winners method201 for the Copeland Winners method300 for the Outranking Approach400 for Kemeny optimal aggregation401 for Robust Rank Aggregation (RRA)5100 for DIBRA using CombSUM and Borda Normalization5101 for DIBRA using CombSUM and Rank Normalization5102 for DIBRA using CombSUM and Score Normalization5103 for DIBRA using CombSUM and Z-Score Normalization5104 for DIBRA using CombSUM and Simple Borda Normalization5110 for DIBRA using CombMNZ and Borda Normalization5111 for DIBRA using CombMNZ and Rank Normalization5112 for DIBRA using CombMNZ and Score Normalization5113 for DIBRA using CombMNZ and Z-Score Normalization5114 for DIBRA using CombMNZ and Simple Borda Normalization5200 for DIBRA using the Condorcet Winners method5201 for DIBRA using the Copeland Winners method5300 for DIBRA using the Outranking Approach600 for the Preference Relations Method700 for the Agglomerative Aggregation Method801 for Markov Chains 1 (MC1)802 for Markov Chains 2 (MC2)803 for Markov Chains 3 (MC3)804 for Markov Chains 4 (MC4)805 for MCT |
correlation_method |
Integer | The correlation method that is used to measure the distance between an input list and the temporary aggregate list. The valid values are:1 for the Spearman's \(\rho\) correlation coefficient.2 for the scaled variant of Spearman's Footrule distance.3 for Cosine similarity of the lists' vector representations.5 for the Kendall's \(\tau\) correlation coefficient. |
weights_normalization |
Integer | The voter weights normalization method. Used when the DIBRA algorithm is selected. The valid values are:1 for no voter weight normalization.2 for normalizing the voter weights with min-max scaling.3 for z-normalizing the voter weights. |
max_iterations |
Integer | This parameter controls the maximum number of iterations. FLAGR will stop the execution of DIBRA if the requested number of iterations have been performed, even if the voter weights have not fully converged. |
max_list_items |
Integer | Limits the length of the input preference lists. |
eval_points |
Integer | Determines the elements in the aggregate list on which the evaluation measures (i.e. Precision, and nDCG) will be computed. For example, for eval_pts=10 FLAGR will compute \(P@1, P@2, ..., P@10\) and \(N@1, N@2, ..., N@10\). |
list_pruning |
Boolean | Triggers a weight-dependant list pruning mechanism. Used in combination with the DIBRA weighted method only. |
convergence_precision |
Float or Double | Controls the convergence precision. This tolerance threshold represents the minimum precision of the difference between the voter weight in an iteration and the voter weight of the previous iteration. Used in combination with the DIBRA weighted method only. |
alpha |
Float or Double | The \(\alpha\) hyper-parameter of the Preference Relations method. |
beta |
Float or Double | The \(\beta\) hyper-parameter of the Preference Relations method. |
gamma |
Float or Double | The \(\gamma\) hyper-parameter of DIBRA. |
c1 |
Float or Double | The \(c_1\) hyper-parameter of the Agglomerative Aggregation method. |
c2 |
Float or Double | The \(c_2\) hyper-parameter of the Agglomerative Aggregation method. |
pref_thr |
Float or Double | The preference threshold of the Outranking Approach. It takes values in the range \([0,1]\). |
veto_thr |
Float or Double | The veto threshold of the Outranking Approach. It takes values in the range \([0,1]\). |
conc_thr |
Float or Double | The concordance threshold of the Outranking Approach. It takes values in the range \([0,1]\). |
disc_thr |
Float or Double | The discordance threshold of the Outranking Approach. It takes values in the range \([0,1]\). |
The following interactive block diagram depicts the functionality of the InputParams class inside the entire architecture of FLAGR.
