Cross-validation
Dataset splitting functions.
- lightfm.cross_validation.random_train_test_split(interactions, test_percentage=0.2, random_state=None)[source]
Randomly split interactions between training and testing.
This function takes an interaction set and splits it into two disjoint sets, a training set and a test set. Note that no effort is made to make sure that all items and users with interactions in the test set also have interactions in the training set; this may lead to a partial cold-start problem in the test set. To split a sample_weight matrix along the same lines, pass it into this function with the same random_state seed as was used for splitting the interactions.
- Parameters
interactions (a scipy sparse matrix containing interactions) – The interactions to split.
test_percentage (float, optional) – The fraction of interactions to place in the test set.
random_state (int or numpy.random.RandomState, optional) – Random seed used to initialize the numpy.random.RandomState number generator. Accepts an instance of numpy.random.RandomState for backwards compatibility.
- Returns
(train, test) – scipy.sparse.COOMatrix) A tuple of (train data, test data)
- Return type
(scipy.sparse.COOMatrix,