Preference learning
Step 3 of the pipeline
Preference learning infers, for each user and based on their data, a model of the user's preferences. This corresponds to the idea of "algorithmic representatives", which will participate in the digital democracy to remedy users' lack of activity and reactivity.
PreferenceLearning
¶
Bases: ABC
__call__
¶
__call__(
judgments: Judgments,
users: DataFrame,
entities: DataFrame,
initialization: Optional[
dict[int, ScoringModel]
] = None,
new_judgments: Optional[Judgments] = None,
) -> dict[int, ScoringModel]
Learns a scoring model, given user judgments of entities
Parameters:
Name | Type | Description | Default |
---|---|---|---|
judgments
|
Judgments
|
May contain different forms of judgments, but most likely will contain "comparisons" and/or "assessments" |
required |
entities
|
DataFrame
|
|
required |
initialization
|
Optional[dict[int, ScoringModel]]
|
Starting models, added to facilitate optimization It is not supposed to affect the output of the training |
None
|
new_judgments
|
Optional[Judgments]
|
New judgments This allows to prioritize coordinate descent, starting with newly evaluated entities |
None
|
Returns:
Name | Type | Description |
---|---|---|
user_models |
dict[int, ScoringModel]
|
user_models[user] is the learned scoring model for user |
user_learn
¶
user_learn(
user_judgments: dict[str, DataFrame],
entities: DataFrame,
initialization: Optional[ScoringModel] = None,
new_judgments: Optional[dict[str, DataFrame]] = None,
) -> ScoringModel
Learns a scoring model, given user judgments of entities
Parameters:
Name | Type | Description | Default |
---|---|---|---|
user_judgments
|
dict[str, DataFrame]
|
May contain different forms of judgments, but most likely will contain "comparisons" and/or "assessments" |
required |
entities
|
DataFrame
|
|
required |
initialization
|
Optional[ScoringModel]
|
Starting model, added to facilitate optimization It is not supposed to affect the output of the training |
None
|
new_judgments
|
Optional[dict[str, DataFrame]]
|
New judgments This allows to prioritize coordinate descent, starting with newly evaluated entities |
None
|
Returns:
Name | Type | Description |
---|---|---|
model |
ScoringModel
|
|
UniformGBT
¶
UniformGBT(
prior_std_dev: float = 7.0,
convergence_error: float = 1e-05,
cumulant_generating_function_error: float = 1e-05,
high_likelihood_range_threshold: float = 1.0,
)
Bases: GeneralizedBradleyTerry