RankingSplit¶
-
class
RankingSplit.RankingSplit[source]¶ Bases:
object-
static
chronological_split(self, min_rating, by_customer=True, ratio=0.3, fixed_test_sample=False, sample=3)[source]¶ Chronological splitting split data (items are ordered by timestamps for each customer) by timestamps. Fixed ratio and fixed number also apply to splitting. The fixed number of samples for testing should be less than min_rating. This method assumes implicit rating so there must be timestamps presented in the DataFrame. This method is usually used for evaluating ranking metrics for warm user or item. :param min_rating: minimum number of rating for filtering. :param ratio: sampling ratio for testing set . :param fixed_test_sample: whether or not fixing the number in sampling testing data. :param sample: number of samples for testing data.
-
static
min_rating_filter(self, min_rating, by_customer=True)[source]¶ Filter rating DataFrame for each user with minimum rating. :param min_rating: minimum number of rating for filtering. :param by: by which variable (customer or item) to filter the rating.
-
static
non_overlapping_split(self, min_rating, by_customer=True, ratio=0.7)[source]¶ Split by customer or item. Customer (or item) in sets of training and testing data are mutually exclusive. This method is usually used for evaluating ranking metrics for cold user or item. :param min_rating: minimum number of rating for filtering. :param ratio: sampling ratio for testing set .
-
static
random_split(self, min_rating, by_customer=True, ratio=0.7)[source]¶ Purely random splitting. This method is generally used for evaluating rating metrics for both warm and cold user/item. :param min_rating: minimum number of rating for filtering. :param ratio: sampling ratio for testing set .
-
static
stratified_split(self, min_rating, by_customer=True, ratio=0.3, fixed_test_sample=False, sample=3)[source]¶ Perform stratified sampling on rating DataFrame to split into train and test. Fixed ratio and fixed number also apply to splitting. The fixed number of samples for testing should be less than min_rating. This method is usually used for evaluating ranking metrics for warm user or item. :param min_rating: minimum number of rating for filtering. :param ratio: splitting ratio for train and test. :param by: by which variable (customer or item) to filter the rating.
-
static