ratingslib.ratings.aggregation module
Module that implements rating and ranking aggregation methods
- class RatingAggregation(version=ratings.AGGREGATIONMARKOV, votes_or_weights: Optional[Dict[str, float]] = None, b: float = 0.9)
Bases:
RatingSystem
Class for Rating aggregation
- Parameters
version (str, default=ratings.AGGREGATIONMARKOV) – A string that shows the version of rating system. The available versions can be found in
ratingslib.utils.enums.ratings
class.votes_or_weights (Optional[Dict[str, float]]) – Votes or weigths for matrices
b (float, optional) – Valid if aggregation method = ratings.AGGREGATIONMARKOV, by default 0.9
- calc_rating_distances(data_df: DataFrame, rating_column_name: str) ndarray
Calculate and create pairwise matrix by taking into account the rating differences (as distances)
- Parameters
data_df (pd.DataFrame) – dataset of ratings
rating_column_name (str) – which is the rating column of dataset
- Returns
matrix – rating distances matrix
- Return type
np.ndarray
- calc_dict_rating_distances(data_df: DataFrame, rating_columns: List[str]) Dict[str, ndarray]
Calculate and create dictionary of pairwise matrices by taking into account the rating differences (as distances). Each column represents the rating method name.
- Parameters
data_df (pd.DataFrame) – dataset of ratings
rating_columns (List[str]) – list of columns that refers to ratings
- Returns
matrices_dict – dictionary that maps column to rating distance matrix
- Return type
Dict[str, np.ndarray]
- static rating_aggregation(matrices_dict: Dict[str, ndarray], votes_or_weights: Optional[Dict[str, float]] = None, aggregation_method: str = ratings.AGGREGATIONMARKOV, b: float = 0.9) ndarray
Rating aggregation from rating lists
- Parameters
matrices_dict (Dict[str, np.ndarray]) – Dictionary that maps name to rating distance matrix
votes_or_weights (Optional[Dict[str, float]]) – Votes or weigths for matrices
aggregation_method (str, default=ratings.AGGREGATIONMARKOV) – Name of aggregation method
b (float, optional) – Valid if aggregation method = ratings.AGGREGATIONMARKOV, by default 0.9
- Returns
rating – Aggregated rating vector
- Return type
numpy.ndarray
- Raises
ValueError – If matrices_dict and votes_or_weights parameters don’t have the same size
- computation_phase()
To be overridden in subclasses.
- preparation_phase(data_df: DataFrame, items_df: DataFrame, columns_dict: Optional[Dict[str, Any]] = None)
To be overridden in subclasses.
- rate(data_df: DataFrame, items_df: DataFrame, sort: bool = False, columns_dict: Optional[Dict[str, Any]] = None) DataFrame
This method computes ratings for a pairwise data. (e.g. soccer teams games). To be overridden in subclasses.
- Parameters
data_df (pandas.DataFrame) – The pairwise data.
items_df (pandas.DataFrame) – Set of items (e.g. teams) to be rated
sort (bool, default=True.) – If true, the output is sorted by rating value
columns_dict (Optional[Dict[str, str]]) – The column names of data file. See
ratingslib.datasets.parameters.COLUMNS_DICT
for more details.
- Returns
items_df – The set of items with their rating and ranking.
- Return type
pandas.DataFrame
- class RankingAggregation(version=ratings.RANKINGAVG)
Bases:
RatingSystem
Class for Ranking Aggregation
- Parameters
version (str, default=ratings.RANKINGAVG) – A string that shows the version of rating system. The available versions can be found in
ratingslib.utils.enums.ratings
class.
- static ranking_aggregation(data_df: DataFrame, rating_columns: List[str], aggregation_method: str = ratings.RANKINGAVG) ndarray
Ranking aggregation from ranking lists
- Parameters
data_df (pd.DataFrame) – Rating values are the columns of DataFrame
aggregation_method (str, default=ratings.AGGREGATIONAVG) – Name of aggregation method
- Returns
rating – Aggregated rating vector
- Return type
numpy.ndarray
- Raises
ValueError – If matrices_dict and votes_or_weights parameters don’t have the same size
- computation_phase()
All the calculations are made in
ratingslib.ratings.aggregations.RankingAggregation.ranking_aggregation()
method.
- preparation_phase(data_df: DataFrame, items_df: DataFrame, columns_dict: Optional[Dict[str, Any]] = None)
To be overridden in subclasses.
- rate(data_df: DataFrame, items_df: DataFrame, sort: bool = False, columns_dict: Optional[Dict[str, Any]] = None) DataFrame
This method computes ratings for a pairwise data. (e.g. soccer teams games). To be overridden in subclasses.
- Parameters
data_df (pandas.DataFrame) – The pairwise data.
items_df (pandas.DataFrame) – Set of items (e.g. teams) to be rated
sort (bool, default=True.) – If true, the output is sorted by rating value
columns_dict (Optional[Dict[str, str]]) – The column names of data file. See
ratingslib.datasets.parameters.COLUMNS_DICT
for more details.
- Returns
items_df – The set of items with their rating and ranking.
- Return type
pandas.DataFrame