print( "Usage: python3 lightfm_with_features_experiment.py <PATH_TO_TRAINING_SET> " "<PATH_TO_TESTING_SET> <USER_STATS_FILE> <BUSINESS_STATS_FILE>") exit(1) start_time = time.time() training_set_file = sys.argv[1] testing_set_file = sys.argv[2] user_stats_file = sys.argv[3] business_stats_file = sys.argv[4] print('[ %04ds ] Program started' % (time.time() - start_time)) training_set: List[Review] = Review.load_from_file(training_set_file) user_stats: Dict[str, User] = User.load_from_file(user_stats_file) business_stats: Dict[str, Business] = Business.load_from_file( business_stats_file) print('[ %04ds ] Files loaded' % (time.time() - start_time)) all_user_features = ['NO_FEAT'] all_business_features = Business.collect_business_features(business_stats) dataset = Dataset() dataset.fit(User.extract_user_ids(user_stats), Business.extract_business_ids(business_stats), user_features=all_user_features, item_features=all_business_features) user_features = dataset.build_user_features(