pub struct NormalizedDiscountedCumulativeGain {
pub k: usize,
}Expand description
Normalized Discounted Cumulative Gain (NDCG) metric for ranking.
NDCG measures the quality of ranking by comparing the predicted order with the ideal order. It accounts for position: items ranked higher contribute more to the score.
§Formula
DCG@k = Σᵢ₌₁ᵏ (2^relᵢ - 1) / log₂(i + 1) NDCG@k = DCG@k / IDCG@k
where IDCG is the DCG of the ideal ranking.
§Use Cases
- Recommendation systems
- Search engine ranking
- Information retrieval
- Learning to rank
Reference: Järvelin & Kekäläinen “Cumulated gain-based evaluation of IR techniques” (ACM TOIS 2002)
Fields§
§k: usizeNumber of top results to consider (k).
Implementations§
Trait Implementations§
Source§impl Clone for NormalizedDiscountedCumulativeGain
impl Clone for NormalizedDiscountedCumulativeGain
Source§fn clone(&self) -> NormalizedDiscountedCumulativeGain
fn clone(&self) -> NormalizedDiscountedCumulativeGain
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for NormalizedDiscountedCumulativeGain
impl RefUnwindSafe for NormalizedDiscountedCumulativeGain
impl Send for NormalizedDiscountedCumulativeGain
impl Sync for NormalizedDiscountedCumulativeGain
impl Unpin for NormalizedDiscountedCumulativeGain
impl UnwindSafe for NormalizedDiscountedCumulativeGain
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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