Skip to content

Instantly share code, notes, and snippets.

@erap129
Created May 6, 2022 07:50
Show Gist options
  • Select an option

  • Save erap129/2dfdb5a5d52d769fcaf08c39a5d344a8 to your computer and use it in GitHub Desktop.

Select an option

Save erap129/2dfdb5a5d52d769fcaf08c39a5d344a8 to your computer and use it in GitHub Desktop.
import ast
from itertools import combinations
movies_df['genre_list'] = movies_df['genre'].apply(ast.literal_eval)
tf_genres = TfidfVectorizer(analyzer=lambda s: (c for i in range(1,4) for c in combinations(s, r=i)))
tfidf_genres = tf_genres.fit_transform(movies_df['genre_list'])
item_matrix_genres_trainset_loocv = get_item_matrix_with_inner_ids(tfidf_genres.todense(), movies_df, train_loocv)
cosine_sim_genres_trainset_loocv = cosine_similarity(item_matrix_genres_trainset_loocv,
item_matrix_genres_trainset_loocv)
item_matrix_genres_trainset = get_item_matrix_with_inner_ids(tfidf_genres.todense(), movies_df, trainset)
cosine_sim_genres_trainset = cosine_similarity(item_matrix_genres_trainset, item_matrix_genres_trainset)
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=cosine_sim_genres_trainset, sim_options={'user_based': False}),
algo_kwargs_trainset_loocv=dict(similarities=cosine_sim_genres_trainset_loocv, sim_options={'user_based': False}))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment