updated svd app
Browse files
app.py
CHANGED
|
@@ -123,13 +123,13 @@ elif app_selector == "Collaborative Recommender":
|
|
| 123 |
# Sidebar for choosing the collaborative filtering method
|
| 124 |
collaborative_method = st.sidebar.selectbox(
|
| 125 |
"Choose a collaborative filtering method:",
|
| 126 |
-
["
|
| 127 |
)
|
| 128 |
|
| 129 |
# User input
|
| 130 |
-
if collaborative_method == "
|
| 131 |
-
|
| 132 |
-
|
| 133 |
n_recommendations = st.slider("Number of Recommendations:", min_value=1, max_value=50, value=10)
|
| 134 |
elif collaborative_method == "Anime-Based KNN Collaborative Filtering":
|
| 135 |
anime_list = anime_user_ratings["name"].dropna().unique().tolist()
|
|
@@ -140,10 +140,10 @@ elif app_selector == "Collaborative Recommender":
|
|
| 140 |
if st.button("Get Recommendations"):
|
| 141 |
# Load the recommender
|
| 142 |
recommender = CollaborativeAnimeRecommender(anime_user_ratings)
|
| 143 |
-
if collaborative_method == "
|
| 144 |
-
recommendations = recommender.get_svd_recommendations(
|
| 145 |
elif collaborative_method == "User-Based Collaborative Filtering":
|
| 146 |
-
recommendations = recommender.get_user_based_recommendations(
|
| 147 |
elif collaborative_method == "Anime-Based KNN Collaborative Filtering":
|
| 148 |
if anime_name:
|
| 149 |
recommendations = recommender.get_item_based_recommendations(anime_name, n_recommendations=n_recommendations, knn_item_model=item_based_knn_model)
|
|
@@ -169,6 +169,7 @@ elif app_selector == "Collaborative Recommender":
|
|
| 169 |
except Exception as e:
|
| 170 |
st.error(f"An error occurred: {e}")
|
| 171 |
|
|
|
|
| 172 |
elif app_selector == "Top Anime Recommender":
|
| 173 |
st.title("Top Anime Recommender System")
|
| 174 |
|
|
|
|
| 123 |
# Sidebar for choosing the collaborative filtering method
|
| 124 |
collaborative_method = st.sidebar.selectbox(
|
| 125 |
"Choose a collaborative filtering method:",
|
| 126 |
+
["SVD Collaborative Filtering", "User-Based Collaborative Filtering", "Anime-Based KNN Collaborative Filtering"]
|
| 127 |
)
|
| 128 |
|
| 129 |
# User input
|
| 130 |
+
if collaborative_method == "SVD Collaborative Filtering" or collaborative_method == "User-Based Collaborative Filtering":
|
| 131 |
+
user_ids = anime_user_ratings['user_id'].unique()
|
| 132 |
+
user_id = st.selectbox("Choose a user, and we'll show you animes they'd recommend", user_ids)
|
| 133 |
n_recommendations = st.slider("Number of Recommendations:", min_value=1, max_value=50, value=10)
|
| 134 |
elif collaborative_method == "Anime-Based KNN Collaborative Filtering":
|
| 135 |
anime_list = anime_user_ratings["name"].dropna().unique().tolist()
|
|
|
|
| 140 |
if st.button("Get Recommendations"):
|
| 141 |
# Load the recommender
|
| 142 |
recommender = CollaborativeAnimeRecommender(anime_user_ratings)
|
| 143 |
+
if collaborative_method == "SVD Collaborative Filtering":
|
| 144 |
+
recommendations = recommender.get_svd_recommendations(user_id, n=n_recommendations, svd_model=svd_model)
|
| 145 |
elif collaborative_method == "User-Based Collaborative Filtering":
|
| 146 |
+
recommendations = recommender.get_user_based_recommendations(user_id, n_recommendations=n_recommendations, knn_user_model=user_based_knn_model)
|
| 147 |
elif collaborative_method == "Anime-Based KNN Collaborative Filtering":
|
| 148 |
if anime_name:
|
| 149 |
recommendations = recommender.get_item_based_recommendations(anime_name, n_recommendations=n_recommendations, knn_item_model=item_based_knn_model)
|
|
|
|
| 169 |
except Exception as e:
|
| 170 |
st.error(f"An error occurred: {e}")
|
| 171 |
|
| 172 |
+
|
| 173 |
elif app_selector == "Top Anime Recommender":
|
| 174 |
st.title("Top Anime Recommender System")
|
| 175 |
|