leave_one_out_mask

rectools.models.nn.transformers.utils.leave_one_out_mask(interactions: DataFrame, val_users: Optional[Union[Sequence[Hashable], ndarray, int]] = None) ndarray[source]

Create a boolean mask for leave-one-out validation by selecting the last interaction per user.

Identifies the most recent interaction for specified validation users based on timestamp ranking. Users can be filtered using val_users parameter which supports slicing or explicit user IDs.

Parameters
  • interactions (pd.DataFrame) – User-item interactions data with at least three columns: Columns.User, Columns.Item and Columns.Datetime

  • val_users (Optional[Union[ExternalIds, int]], default None) – Validation user filter. Can be: - None: use all users - int: randomly sample N users from unique user list without replacement - array-like: explicit list of user IDs to include

Returns

Boolean array where True indicates the interaction is the last one for its user in the validation set.

Return type

np.ndarray