# Interactions¶

Module with functionality for splitting and shuffling datasets.

spotlight.cross_validation.random_train_test_split(interactions, test_percentage=0.2, random_state=None)[source]

Randomly split interactions between training and testing.

Parameters: interactions (spotlight.interactions.Interactions) – The interactions to shuffle. test_percentage (float, optional) – The fraction of interactions to place in the test set. random_state (np.random.RandomState, optional) – The random state used for the shuffle. (train, test) – spotlight.interactions.Interactions) A tuple of (train data, test data)
spotlight.cross_validation.shuffle_interactions(interactions, random_state=None)[source]

Shuffle interactions.

Parameters: interactions (spotlight.interactions.Interactions) – The interactions to shuffle. random_state (np.random.RandomState, optional) – The random state used for the shuffle. interactions – The shuffled interactions. spotlight.interactions.Interactions
spotlight.cross_validation.user_based_train_test_split(interactions, test_percentage=0.2, random_state=None)[source]

Split interactions between a train and a test set based on user ids, so that a given user’s entire interaction history is either in the train, or the test set.

Parameters: interactions (spotlight.interactions.Interactions) – The interactions to shuffle. test_percentage (float, optional) – The fraction of users to place in the test set. random_state (np.random.RandomState, optional) – The random state used for the shuffle. (train, test) – spotlight.interactions.Interactions) A tuple of (train data, test data)