Skip to content

Instantly share code, notes, and snippets.

@erap129
Last active June 7, 2022 17:53
Show Gist options
  • Save erap129/3040d43599560ad8ca0829f4db97352f to your computer and use it in GitHub Desktop.
Save erap129/3040d43599560ad8ca0829f4db97352f to your computer and use it in GitHub Desktop.
recsys_user_knn_occupation
def get_user_sim_values(train_set):
users_age_gender = (users_df.
assign(inner_id=lambda df: df['user_id'].apply(lambda x: train_set.to_inner_uid(x)),
gender=lambda df: df['gender'].replace({'M': 0, 'F': 1}).astype('int')).
sort_values('inner_id').
filter(items=['age', 'gender'])
)
user_values_np = StandardScaler().fit_transform(users_age_gender.to_numpy())
cosine_sim_user_values = cosine_similarity(user_values_np, user_values_np)
return cosine_sim_user_values
cosine_sim_user_values_trainset = get_user_sim_values(trainset)
cosine_sim_user_values_train_loocv = get_user_sim_values(train_loocv)
get_algorithm_report(CustomSimKNNAlgorithm, trainset, testset, train_loocv, test_loocv, movies_df,
target_movie_id='movie_1', target_user_id='user_1', top_k=10,
algo_kwargs_trainset=dict(similarities=None,
sim_options={'user_based': True}),
algo_kwargs_trainset_loocv=dict(similarities=cosine_sim_user_values_train_loocv,
sim_options={'user_based': True}), calc_most_similar=False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment