You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A metric wrapper that creates debiased validation in case of strong popularity bias in test data. One way to do this is to fight power-law popularity distribution in test interactions on each fold with down-sampling fold popular items.
Why this feature?
It helps as a correct goal for hyper-parameters tuning and model selection
Additional context
Algorithm to detect and down-sample excessively popular items. More algorithms and modifications can be proposed here. For now we can use IQR (interquartile-range) that is also used for boxplots: logic.
We find first and third quartiles in test items popularity distribution (Q1 and Q3)
IQR = Q3 - Q1. This is interquartile range. 50% of the observed data is inside this range.
Outliers popularity border will be defined as Q3 + iqr_coef * IQR
Maximum accepted popularity will be defined as the maximum value inside the border.
Every item that exceeds the border should be down-sampled to match the maximum accepted popularity.
For all exceeding items in the test fold we need to randomly keep only the maximum allowed subset of users. We use downsampling for this.
The wrapper changes test interactions, but afterwards any metrics can be calculated as usual.
from rectools.metrics import DebiasWrapper, Precision
debiased_precision = DebiasWrapper(Precision(k=10), iqr_coef=1.5, random_state=32)
Other possible namings are: PopDownSamplingWrapper, DownSamplingWrapper, UnbiasedWrapper
The text was updated successfully, but these errors were encountered:
Feature Description
A metric wrapper that creates debiased validation in case of strong popularity bias in test data. One way to do this is to fight power-law popularity distribution in test interactions on each fold with down-sampling fold popular items.
Why this feature?
It helps as a correct goal for hyper-parameters tuning and model selection
Additional context
Algorithm to detect and down-sample excessively popular items. More algorithms and modifications can be proposed here. For now we can use IQR (interquartile-range) that is also used for boxplots: logic.
For all exceeding items in the test fold we need to randomly keep only the maximum allowed subset of users. We use downsampling for this.
The wrapper changes test interactions, but afterwards any metrics can be calculated as usual.
Other possible namings are: PopDownSamplingWrapper, DownSamplingWrapper, UnbiasedWrapper
The text was updated successfully, but these errors were encountered: