MCPcopy Create free account
hub / github.com/AkaliKong/MiniOneRec / create_user_features

Function create_user_features

data/amazon18_data_process_gpr.py:476–498  ·  view source on GitHub ↗

Create user features (U-Token)

(reviews, user2index, output_path, dataset_name)

Source from the content-addressed store, hash-verified

474
475
476def create_user_features(reviews, user2index, output_path, dataset_name):
477 """Create user features (U-Token)"""
478 user_features = {}
479 user_ratings = collections.defaultdict(list)
480
481 for review in reviews:
482 if review['reviewerID'] in user2index:
483 user_ratings[review['reviewerID']].append(float(review['overall']))
484
485 for user, ratings in user_ratings.items():
486 avg_rating = sum(ratings) / len(ratings)
487 if avg_rating > 4.5:
488 u_token = '[USER_HIGH_RATING]'
489 elif avg_rating > 3.5:
490 u_token = '[USER_MID_RATING]'
491 else:
492 u_token = '[USER_LOW_RATING]'
493
494 # Map original user ID to feature
495 user_features[user] = u_token
496
497 write_json_file(user_features, os.path.join(output_path, dataset_name, f'{dataset_name}.user.json'))
498 return user_features
499
500
501def process_dataset_recursive(args, metadata, reviews, start_timestamp, end_timestamp):

Callers 1

Calls 1

write_json_fileFunction · 0.70

Tested by

no test coverage detected