From f1d5976584e6a6a83f384e0911bb883487d77fa8 Mon Sep 17 00:00:00 2001
From: Adrien <adrien.payen@student.uclouvain.be>
Date: Fri, 24 May 2024 00:05:31 +0200
Subject: [PATCH] update content

---
 App.py                              |  28 ++++++
 Home.py                             |  11 ++-
 content.py                          |  23 ++---
 data/Logo_NAAC-removebg-preview.png | Bin 0 -> 115888 bytes
 pages/Discover.py                   | 127 ++++++++++++++--------------
 pages/Search.py                     |  69 +++++++++++++++
 recommender.py                      |  75 +---------------
 7 files changed, 182 insertions(+), 151 deletions(-)
 create mode 100644 App.py
 create mode 100644 data/Logo_NAAC-removebg-preview.png
 create mode 100644 pages/Search.py

diff --git a/App.py b/App.py
new file mode 100644
index 00000000..0927a84b
--- /dev/null
+++ b/App.py
@@ -0,0 +1,28 @@
+import streamlit as st
+
+# Lancer un serveur local : 
+#cd /Users/adrien/vscodeworkspace/recomsys/sitehtml
+#python3 -m http.server 8501
+
+# Si vous avez arrété le serveur local, voici les étapes pour le relancer
+#lsof -i :8501
+#kill 12345 # en remplaçant 12345 par le PID trouvé 
+#python3 -m http.server 8501 # relance le serveur local
+
+
+# Logo dans la sidebar
+st.sidebar.image("chemin/vers/votre/logo.png", use_column_width=True)
+
+# Sélecteur de pages dans la sidebar
+page = st.sidebar.radio("Navigation", ["Page 1", "Page 2", "Page 3"])
+
+# Contenu de votre application
+if page == "Home":
+    st.title("Page 1")
+    st.write("Contenu de la page 1...")
+elif page == "Discover":
+    st.title("Page 2")
+    st.write("Contenu de la page 2...")
+elif page == "Search":
+    st.title("Page 3")
+    st.write("Contenu de la page 3...")
\ No newline at end of file
diff --git a/Home.py b/Home.py
index fc42a2fc..a461c88b 100644
--- a/Home.py
+++ b/Home.py
@@ -3,7 +3,6 @@ import time
 import pandas as pd
 from content import fetch_movie_info, df_links
 from content import df_audrey, df_adrien, df_nathanael, df_charles
-from surprise import Dataset, Reader
 from recommender import OtherUserBased, UserBased, RecommenderSystem_KNN, LatentFactorModel,test_contentbased_class # Importer la classe OtherUserBased
 from loaders import load_ratings
 
@@ -52,7 +51,7 @@ def display_recommendations_tm(user_name, user_id, csv_file):
     top_10_predictions = recommender.get_top_n_predictions_for_user(csv_file)
 
     if top_10_predictions is not None:
-        st.subheader(f"Top 10 Recommendations for {user_name}")
+        st.subheader(f"Explore New Favorites")
         cols_html = ""
         for prediction in top_10_predictions:
             item_id, pred_value = prediction  # Access each element of the tuple directly
@@ -88,7 +87,7 @@ def display_recommendations_ub(user_name, user_id):
     top_10_predictions = recommender.get_top_n_pred_ub(testset, user_id)
 
     if top_10_predictions is not None:
-        st.subheader(f"Top 10 based on similar users of {user_name}")
+        st.subheader(f"User-Approved Recommendations")
         cols_html = ""
         for prediction in top_10_predictions:
             iid, pred = prediction  # Access each element of the tuple directly
@@ -110,7 +109,7 @@ def display_recommendations_ub(user_name, user_id):
         st.write("No recommendations found.")
 
 def display_recommendations_knn(user_name, user_id):
-    st.subheader(f"Top 10 Recommendations for {user_name}")
+    st.subheader(f"Recommended for You")
     cols_html = ""
     
     # Create an instance of the RecommenderSystem_KNN
@@ -141,7 +140,7 @@ def display_recommendations_knn(user_name, user_id):
 
 
 def display_recommendations_latent_factor(user_name, user_id):
-    st.subheader(f"Top 10 Recommendations for {user_name}")
+    st.subheader(f"Unlock Your Next Adventure")
     cols_html = ""
 
     # Load data
@@ -184,7 +183,7 @@ def display_content_based_recommendations(user_name, user_id=-1, n=10):
 
     
     if top_n_recommendations:
-        st.write(f"Top {n} recommendations for User {user_name}:")
+        st.subheader(f"Discover Great Content")
         for iid, est in top_n_recommendations:
             tmdbId = df_links.loc[df_links['movieId'] == iid, 'tmdbId'].values[0]
             title_dict, poster_url = fetch_movie_info(tmdbId)
diff --git a/content.py b/content.py
index b8b97a36..73da7516 100644
--- a/content.py
+++ b/content.py
@@ -12,7 +12,6 @@ import requests
 # Local imports
 from constants import Constant as C
 
-
 ############### IMPORT THE DATAFRAMES AND TRAINSETS ############### 
 
 # import all the dataframe
@@ -22,16 +21,13 @@ df_tags = pd.read_csv('data/small/content/tags.csv')
 df_ratings = pd.read_csv('data/small/evidence/ratings.csv')
 
 
+# Data set from each user
 df_audrey = pd.read_csv('data/small/users/library_audrey.csv', dtype={'movieId': str}) # Supprimer les points de la colonne 'movieId' et convertir les valeurs en entiers
 df_audrey['movieId'] = df_audrey['movieId'].str.replace('.', '').astype(int) # Afficher les premières lignes du DataFrame pour vérifier les modifications
-
 df_adrien = pd.read_csv('data/small/users/library_adrien.csv', dtype={'movieId': str}) # Supprimer les points de la colonne 'movieId' et convertir les valeurs en entiers
 df_adrien['movieId'] = df_adrien['movieId'].str.replace('.', '').astype(int) # Afficher les premières lignes du DataFrame pour vérifier les modifications
-
-
 df_nathanael = pd.read_csv('data/small/users/library_nathanael.csv', dtype={'movieId': str}) # Supprimer les points de la colonne 'movieId' et convertir les valeurs en entiers
 df_nathanael['movieId'] = df_nathanael['movieId'].str.replace('.', '').astype(int) # Afficher les premières lignes du DataFrame pour vérifier les modifications
-
 df_charles = pd.read_csv('data/small/users/library_charles.csv', dtype={'movieId': str}) # Supprimer les points de la colonne 'movieId' et convertir les valeurs en entiers
 df_charles['movieId'] = df_charles['movieId'].str.replace(' ', '').astype(int) # Afficher les premières lignes du DataFrame pour vérifier les modifications
 
@@ -134,10 +130,7 @@ def merge_csv_files(file1, file2, file3, file4):
 # Exemple d'utilisation de la fonction merge_csv_files
 merged_df = merge_csv_files("data/small/content/movies.csv", 'data/small/content/links.csv', 'data/small/content/tags.csv', 'data/small/evidence/ratings.csv')
 
-def get_top_movies_by_genre(df, genre, displayed_movies, num_movies=10):
-    genre_df = df[df['genres'].apply(lambda x: genre in x) & ~df['tmdbId'].isin(displayed_movies)]
-    top_movies = genre_df.sort_values(by='rating', ascending=False).head(num_movies)
-    return top_movies
+
 
 def calculate_year_range(df):
     # Extracting the year from the 'title' column
@@ -157,6 +150,10 @@ print("Nombre de films uniques :", nombre_films_uniques)
 
 min_range, max_range = calculate_year_range(merged_df)
 
+def get_top_movies_by_genre(df, genre, displayed_movies, num_movies=10):
+    genre_df = df[df['genres'].apply(lambda x: genre in x) & ~df['tmdbId'].isin(displayed_movies)]
+    top_movies = genre_df.drop_duplicates(subset='tmdbId').sort_values(by='rating', ascending=False).head(num_movies)['tmdbId']
+    return top_movies
 
 # Year
 def year(merged_df, ascending=True):
@@ -175,6 +172,12 @@ def unrated_movies_count(df_ratings, df_movies):
 
 unrated_movies_count(df_ratings, df_movies)
 
+def unrated_movies_count_merged_df(df_ratings, merged_df):
+    rated_movies = df_ratings['movieId'].unique() if 'movieId' in df_ratings.columns else []
+    unrated_movies_count = merged_df[~merged_df['movieId'].isin(rated_movies)].shape[0]
+    print("Nombre de films qui n'ont pas encore été évalués :", unrated_movies_count)
+
+unrated_movies_count_merged_df(df_ratings, merged_df)
 
 
 # LIST OF MOVIE GENRES
@@ -191,7 +194,7 @@ def genres(merged_df):
     merged_df['genres'] = merged_df['genres'].apply(convert_to_str)
     merged_df['genres'] = merged_df['genres'].str.split('|')
     merged_df = merged_df.explode('genres')
-    unique_genres = sorted(merged_df['genres'].unique())
+    unique_genres = sorted(merged_df[merged_df['genres'] != '(no genres listed)']['genres'].unique())
     return unique_genres
 
 
diff --git a/data/Logo_NAAC-removebg-preview.png b/data/Logo_NAAC-removebg-preview.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9ed208b2905d78ab9cffd5294db73d74e83f38d
GIT binary patch
literal 115888
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
M+z*z2b>_<d2c10#UH||9

literal 0
HcmV?d00001

diff --git a/pages/Discover.py b/pages/Discover.py
index 2727224b..d145f820 100644
--- a/pages/Discover.py
+++ b/pages/Discover.py
@@ -1,91 +1,94 @@
 import streamlit as st
 import pandas as pd
+from content import df_movies, df_ratings
 from content import genres, calculate_year_range, tag, merged_df, fetch_movie_info, df_links, get_top_movies_by_genre
 
 
-
-
-
-def display_top_movies_by_genre(genre, displayed_movies, num_columns=4):
-    st.subheader(f"Top 10 Movies in {genre}")
-    top_movies = get_top_movies_by_genre(merged_df, genre, displayed_movies)
-    unique_tmdbIds = top_movies['tmdbId'].tolist()
-    displayed_movies.update(unique_tmdbIds)
-    display_movies(unique_tmdbIds, num_columns)
-
-
-
-def display_movies(unique_tmdbIds, num_columns):
-    if unique_tmdbIds:
+def display_unrated_movies(df_ratings, merged_df):
+    st.header(f"Hidden Gems")
+    rated_movies = df_ratings['movieId'].unique() if 'movieId' in df_ratings.columns else []
+    unrated_movies_df = merged_df[~merged_df['movieId'].isin(rated_movies)]
+    unique_unrated_movies_df = unrated_movies_df.drop_duplicates(subset='tmdbId')
+    sorted_movies_df = unique_unrated_movies_df.sort_values(by='tmdbId', ascending=False).head(10)
+    cols_html = ""
+    for idx, row in sorted_movies_df.iterrows():
+        title_dict, poster_url = fetch_movie_info(row['tmdbId'])
+        movie_title = title_dict.get("title", "Unknown Title") if isinstance(title_dict, dict) else title_dict
+        if poster_url:
+            html_file_url = f"http://localhost:8501/{movie_title.replace(' ', '_')}.html"
+            cols_html += f'<div style="display: inline-block; margin-right: 20px;"><a href="{html_file_url}" target="_blank"><img src="{poster_url}" alt="{movie_title}" style="width:150px;height:225px;"></a><div style="color: white; text-decoration: none; font-size: 14px; text-align: center; max-width: 150px; word-wrap: break-word; white-space: normal;"><b>{movie_title}</b></div></a></div>'
+        else:
+            cols_html += f"<p>{movie_title}</p>"
+    
+    st.markdown(f"""
+    <div style="overflow-x: scroll; white-space: nowrap; height: 300px; display: flex; flex-direction: row;">
+        {cols_html}
+    </div>
+    """, unsafe_allow_html=True)
+
+def display_movies_year(merged_df):
+    st.header(f"New this year")
+    cols_html = ""
+    unique_movies_df = merged_df.drop_duplicates(subset='tmdbId')  # Supprimer les doublons basés sur tmdbId
+    sorted_movies_df = unique_movies_df.sort_values(by='annee', ascending=False)  # Trier par année de sortie de manière décroissante
+    top_10_tmdbIds = sorted_movies_df['tmdbId'].head(10) # Prend les 10 premiers films en termes de TMDB ID
+    for tmdbId in top_10_tmdbIds:
+        title_dict, poster_url = fetch_movie_info(tmdbId)
+        movie_title = title_dict.get("title", "Unknown Title") if isinstance(title_dict, dict) else title_dict
+        if poster_url:
+            html_file_url = f"http://localhost:8501/{movie_title.replace(' ', '_')}.html"
+            cols_html += f'<div style="display: inline-block; margin-right: 20px;"><a href="{html_file_url}" target="_blank"><img src="{poster_url}" alt="{movie_title}" style="width:150px;height:225px;"></a><div style="color: white; text-decoration: none; font-size: 14px; text-align: center; max-width: 150px; word-wrap: break-word; white-space: normal;"><b>{movie_title}</b></div></a></div>'
+        else:
+            cols_html += f"<p>{movie_title}</p>"
+    st.markdown(f"""
+    <div style="overflow-x: scroll; white-space: nowrap; height: 300px; display: flex; flex-direction: row;">
+        {cols_html}
+    </div>
+    """, unsafe_allow_html=True)
+
+
+def display_movies_by_genre(df, num_movies=10):
+    unique_genres = genres(df)
+    for genre in unique_genres:
+        st.header(f"Top Movies in {genre}")
         cols_html = ""
-        for tmdbId in unique_tmdbIds:
-            title, poster_url = fetch_movie_info(tmdbId)
-            movie_title = title.get("title", "Unknown Title") if isinstance(title, dict) else title
+        displayed_movies = []  # List of already displayed movies, initially empty
+        top_movies_ids = get_top_movies_by_genre(df, genre, displayed_movies, num_movies)
+        for tmdbId in top_movies_ids:
+            title_dict, poster_url = fetch_movie_info(tmdbId)
+            movie_title = title_dict.get("title", "Unknown Title") if isinstance(title_dict, dict) else title_dict
             if poster_url:
                 html_file_url = f"http://localhost:8501/{movie_title.replace(' ', '_')}.html"
                 cols_html += f'<div style="display: inline-block; margin-right: 20px;"><a href="{html_file_url}" target="_blank"><img src="{poster_url}" alt="{movie_title}" style="width:150px;height:225px;"></a><div style="color: white; text-decoration: none; font-size: 14px; text-align: center; max-width: 150px; word-wrap: break-word; white-space: normal;"><b>{movie_title}</b></div></a></div>'
             else:
                 cols_html += f"<p>{movie_title}</p>"
-
+        
         st.markdown(f"""
         <div style="overflow-x: scroll; white-space: nowrap; height: 300px; display: flex; flex-direction: row;">
             {cols_html}
         </div>
         """, unsafe_allow_html=True)
-    else:
-        st.write("No recommendations found.")
-
-
-
 
 
 def main():
-    st.title('Discover')  # Next Access All Content
-    global df_links
+    st.sidebar.image("data/Logo_NAAC-removebg-preview.png", use_column_width=True)
+    st.title('Discover') # Next Access All Content
 
+    global df_links
+    global df_ratings
+    global df_movies
     num_columns = 4
 
-    # Sidebar for genre and year selection
-    selected_genres = st.sidebar.multiselect('Select Genre(s)', genres(merged_df))
-    min_range, max_range = calculate_year_range(merged_df)
-    selected_year = st.sidebar.slider('Select Year Range', min_value=min_range, max_value=max_range, value=(min_range, max_range))
-
+    # Existing filtering and display
     filtered_movies = merged_df.copy()
-    # Here you can add filtering by selected genres and years if needed
-    # filtered_movies = filter_movies_by_genre(filtered_movies, selected_genres)
-    # filtered_movies = filter_movies_by_year(filtered_movies, selected_year)
-
-    unique_tags_list = tag(merged_df)
-    # tag_input = st.sidebar.selectbox("Search by Tag", [""] + sorted(unique_tags_list))
-    # if tag_input:
-    #     filtered_movies = filter_movies_by_tag(filtered_movies, [tag_input])
 
     unique_tmdbIds = filtered_movies.drop_duplicates(subset='tmdbId')['tmdbId'].tolist()
 
-    display_movies(unique_tmdbIds, num_columns)
-
-    # Display top movies for all genres without repetition
-    displayed_movies = set()
-    all_genres = genres(merged_df)
-    for genre in all_genres:
-        display_top_movies_by_genre(genre, displayed_movies, num_columns)
-
-if __name__ == "__main__":
-    main()
-
+    display_movies_year(filtered_movies)
 
+    display_unrated_movies(df_ratings, filtered_movies)
 
-# def filter_movies_by_genre(df, selected_genres):
-#     if not selected_genres:
-#         return df
-#     return df[df['genres'].apply(lambda x: any(genre in x for genre in selected_genres))]
+    display_movies_by_genre(filtered_movies, num_movies=10)
 
-# def filter_movies_by_year(df, selected_year):
-#     return df[(df['annee'] >= selected_year[0]) & (df['annee'] <= selected_year[1])]
-
-# def filter_movies_by_tag(df, selected_tags):
-#     if not selected_tags:
-#         return df
-#     df['tag'] = df['tag'].apply(lambda x: str(x).split('|') if pd.notna(x) else [])
-#     filtered_df = df[df['tag'].apply(lambda tags: any(tag in tags for tag in selected_tags))]
-#     return filtered_df
\ No newline at end of file
+if __name__ == "__main__":
+    main()
\ No newline at end of file
diff --git a/pages/Search.py b/pages/Search.py
new file mode 100644
index 00000000..3bba56f4
--- /dev/null
+++ b/pages/Search.py
@@ -0,0 +1,69 @@
+import streamlit as st
+import pandas as pd
+from content import genres, calculate_year_range, tag, merged_df, fetch_movie_info, df_links
+
+def filter_movies_by_title(df, search_title):
+    if not search_title:
+        return df
+    return df[df['title'].str.contains(search_title, case=False)]
+
+
+def filter_movies_by_genre(df, selected_genres):
+    if not selected_genres:
+        return df
+    return df[df['genres'].apply(lambda x: any(genre in x for genre in selected_genres))]
+
+def filter_movies_by_year(df, selected_year):
+    return df[(df['annee'] >= selected_year[0]) & (df['annee'] <= selected_year[1])]
+
+def filter_movies_by_tag(df, selected_tags):
+    if not selected_tags:
+        return df
+    df['tag'] = df['tag'].apply(lambda x: str(x).split('|') if pd.notna(x) else [])
+    filtered_df = df[df['tag'].apply(lambda tags: any(tag in tags for tag in selected_tags))]
+    return filtered_df
+
+def display_movies(unique_tmdbIds, num_columns):
+    for i in range(0, len(unique_tmdbIds), num_columns):
+        row_tmdbIds = unique_tmdbIds[i:i+num_columns]
+        cols = st.columns(num_columns)
+        for idx, tmdbId in enumerate(row_tmdbIds):
+            title, poster_url = fetch_movie_info(tmdbId)
+            if poster_url:
+                title = title.get("title", "Unknown Title")
+                html_file_url = f"http://localhost:8501/{title.replace(' ', '_')}.html"
+                cols[idx].markdown(f'<div style="margin-right: 20px; margin-top: 20px; margin-bottom: 5px;"><a href="{html_file_url}" target="_blank"><img src="{poster_url}" alt="{title}" style="width:150px;height:225px;"></a></div>', unsafe_allow_html=True)
+                cols[idx].markdown(f'<div style="margin-right: 20px; margin-bottom: 5px; text-align: center; max-width: 150px;"><a href="{html_file_url}" target="_blank" style="color: white; text-decoration: none; font-size: 14px; word-wrap: break-word;"><b>{title}</b></a></div>', unsafe_allow_html=True)
+
+
+
+def main():
+    st.title('Movie Base')
+    global df_links
+
+    num_columns = 4
+
+    # Search by movie title
+    search_title = st.sidebar.text_input("Search by Movie Title", value="", placeholder="Type to search...", key="search_title")
+
+    # Load filters after title search
+    selected_genres = st.sidebar.multiselect('Select Genre(s)', genres(merged_df))
+    unique_tags_list = tag(merged_df)
+    tag_input = st.sidebar.selectbox("Search by Tag", [""] + sorted(unique_tags_list))
+    min_range, max_range = calculate_year_range(merged_df)
+    selected_year = st.sidebar.slider('Select Year Range', min_value=min_range, max_value=max_range, value=(min_range, max_range))
+
+    # Apply filters
+    filtered_movies = merged_df.copy()
+    filtered_movies = filter_movies_by_title(filtered_movies, search_title)
+    filtered_movies = filter_movies_by_genre(filtered_movies, selected_genres)
+    if tag_input:
+        filtered_movies = filter_movies_by_tag(filtered_movies, [tag_input])
+    filtered_movies = filter_movies_by_year(filtered_movies, selected_year)
+
+    unique_tmdbIds = filtered_movies.drop_duplicates(subset='tmdbId')['tmdbId'].tolist()
+
+    display_movies(unique_tmdbIds, num_columns)
+
+if __name__ == "__main__":
+    main()
\ No newline at end of file
diff --git a/recommender.py b/recommender.py
index b4c16f5a..41aaa708 100644
--- a/recommender.py
+++ b/recommender.py
@@ -15,7 +15,6 @@ from sklearn.linear_model import ElasticNet, Lasso, LinearRegression, Ridge
 from sklearn.metrics import mean_squared_error
 from sklearn.metrics import mean_absolute_error
 
-from surprise.similarities import Similarity
 from surprise.prediction_algorithms.knns import KNNWithMeans
 from sklearn.metrics.pairwise import cosine_similarity
 
@@ -155,24 +154,6 @@ class UserBased(AlgoBase):
                     similarity_matrix[j, i] = similarity
 
         self.sim = similarity_matrix
-    
-    def compute_cosine(self):
-        """
-        Compute the similarity matrix based on user ratings using cosine similarity.
-        """
-        n_users = self.trainset.n_users
-        similarity_matrix = np.zeros((n_users, n_users))
-
-        for i in range(n_users):
-            for j in range(i + 1, n_users):
-                support = np.sum(~np.isnan(self.ratings_matrix[i]) & ~np.isnan(self.ratings_matrix[j]))
-                if support >= self.min_k:
-                    # Calculate cosine similarity
-                    similarity = cosine_similarity([self.ratings_matrix[i]], [self.ratings_matrix[j]])[0, 0]
-                    similarity_matrix[i, j] = similarity
-                    similarity_matrix[j, i] = similarity
-
-        self.sim = similarity_matrix
 
     def compute_mean_ratings(self):
         """
@@ -459,15 +440,6 @@ class RecommenderSystem_KNN :
 
         return average_distance
     
-    def train_knn_model(self):
-        """
-        Train the KNN model on the ratings data and evaluate its RMSE.
-        """
-        # Compute similarity matrix using cosine similarity
-        sim_matrix = cosine_similarity(self.trainset._raw2inner_id_items)
-        self.model.sim = sim_matrix
-
-
 
     def evaluate_knn_rmse_for_different_k(self):
         """
@@ -638,49 +610,6 @@ class OtherUserBased:
         inter_user_diversity_score = np.mean(similarities)
         return inter_user_diversity_score
 
-
-###########################################################################################################################
-####################################################### CUSTOM METRICS ####################################################
-###########################################################################################################################
-
-
-class CustomKNNWithMeans(KNNWithMeans):
-    def __init__(self, k=40, min_k=1, sim_options={}, **kwargs):
-        sim_options['user_based'] = True
-        sim_options['name'] = 'custom'  # Nom de la mesure de similarité personnalisée
-        super().__init__(k=k, min_k=min_k, sim_options=sim_options, **kwargs)
-
-    def fit(self, trainset):
-        # Ici, vous devez implémenter votre propre calcul de similarité personnalisée
-        # Par exemple, vous pouvez utiliser une fonction définie par l'utilisateur pour calculer la similarité
-        self.sim = Similarity()  # Remplacez Similarity par votre propre calcul de similarité
-        super().fit(trainset)
-
-
-
-class CustomUserBased(UserBased):
-    def __init__(self, k=20, min_k=20, sim_options={}, **kwargs):
-        sim_options['name'] = 'custom'  # Nom de la mesure de similarité personnalisée
-        super().__init__(k=k, min_k=min_k, sim_options=sim_options, **kwargs)
-
-    def compute_similarity_matrix(self):
-        """
-        Calcule la matrice de similarité basée sur les évaluations des utilisateurs.
-        """
-        n_users = self.trainset.n_users
-        similarity_matrix = np.eye(n_users)
-
-        for i in range(n_users):
-            for j in range(i + 1, n_users):
-                support = np.sum(~np.isnan(self.ratings_matrix[i]) & ~np.isnan(self.ratings_matrix[j]))
-                if support >= self.min_k:
-                    intersection = np.sum(~np.isnan(self.ratings_matrix[i]) & ~np.isnan(self.ratings_matrix[j]))
-                    union = np.sum(~np.isnan(self.ratings_matrix[i]) | ~np.isnan(self.ratings_matrix[j]))
-                    similarity = intersection / union
-                    similarity_matrix[i, j] = similarity
-                    similarity_matrix[j, i] = similarity
-
-        self.sim = similarity_matrix
 ###########################################################################################################################
 ####################################################### COMPARISON MODEL ##################################################
 ###########################################################################################################################
@@ -789,8 +718,8 @@ def compare_similarity_measures(trainset,testset):
     return results
 
 # # # Example usage:
-comparison_results = compare_similarity_measures(trainset ,testset)
-print(comparison_results)
+# comparison_results = compare_similarity_measures(trainset ,testset)
+# print(comparison_results)
 
 
 def evaluate_inter_user_diversity(user_based_model, ratings_path, other_user_based_models, trainset, testset, k, min_k):
-- 
GitLab