pub enum AggregationModel {
DirectRating {
default_rating: f64,
},
Elo {
initial_rating: f64,
k_factor: f64,
},
BradleyTerry {
initial_strength: f64,
optimizer: BradleyTerryOptimizer,
},
BradleyTerrySimple {
initial_strength: f64,
learning_rate: f64,
iterations: usize,
},
ImplicitRanking {
selected_bonus: f64,
not_selected_penalty: f64,
base_fitness: f64,
},
}Expand description
Aggregation model for converting user feedback to fitness
Variants§
DirectRating
Direct rating average
Simply averages all ratings received for each candidate. Uses default_rating for candidates with no ratings.
Elo
Elo rating system
Classic chess-style rating from pairwise comparisons. Good for transitive preference modeling.
Fields
BradleyTerry
Bradley-Terry model
Maximum likelihood estimation for pairwise comparison data. Provides more statistically principled estimates than Elo. Now supports proper MLE with Newton-Raphson or MM algorithms.
Fields
optimizer: BradleyTerryOptimizerOptimizer configuration (Newton-Raphson or MM)
BradleyTerrySimple
Legacy Bradley-Terry model (for backward compatibility)
Uses the simplified iterative MM approach from earlier versions.
Fields
ImplicitRanking
Implicit ranking from batch selections
Assigns bonuses to selected candidates and penalties to non-selected candidates in each batch.
Trait Implementations§
Source§impl Clone for AggregationModel
impl Clone for AggregationModel
Source§fn clone(&self) -> AggregationModel
fn clone(&self) -> AggregationModel
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AggregationModel
impl Debug for AggregationModel
Source§impl Default for AggregationModel
impl Default for AggregationModel
Source§impl<'de> Deserialize<'de> for AggregationModel
impl<'de> Deserialize<'de> for AggregationModel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for AggregationModel
impl RefUnwindSafe for AggregationModel
impl Send for AggregationModel
impl Sync for AggregationModel
impl Unpin for AggregationModel
impl UnsafeUnpin for AggregationModel
impl UnwindSafe for AggregationModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.