Shraddha Gami
Trending product reco v2 updates
edb829e
import pickle
import streamlit as st
from html_information import html
def read_pickle_files(pickle_file):
with open(pickle_file, 'rb') as f:
return pickle.load(f)
def streamlit_carousel(header_name: str, rec_item_url: list,
rec_item_name: list) -> None:
st.header(header_name)
if header_name == "Up-Sell Recommendations" or header_name == "Cross-Sell Recommendations":
st.write("Based on Products added to the Cart")
mid_section = ""
for index, value in enumerate(rec_item_url):
mid_section += """<div class="item"><div id="image-container"><img src='""" + str(value) + """' /></div><p>""" + str(rec_item_name[index]) + """</p></div>"""
mid_html = html + mid_section + """</div></div></body>"""
st.markdown(mid_html, unsafe_allow_html=True)
def get_mapped_values(uid_list, dict_map):
res = []
for val in uid_list:
res.append(dict_map[val])
return res
uid_name_map = read_pickle_files("uid_name_map.pkl")
uid_url_map = read_pickle_files("uid_url_map.pkl")
uid_brand_map = read_pickle_files("uid_brand_map.pkl")
uid_category_map = read_pickle_files("uid_category_map.pkl")
# trending_uid_list = read_pickle_files("trending_uid_list.pkl")
trending_gender_uid_dict = read_pickle_files("trending_gender_uid_dict.pkl")
category_uid_dict = read_pickle_files("category_uid_dict.pkl")
brand_name_dict = read_pickle_files("brand_uid_dict.pkl")
st.header("Trending Products Recommendations")
st.subheader("Trending Products")
gender_list = list(trending_gender_uid_dict.keys())
gender = st.selectbox("Select Gender", gender_list)
category_heading = "Trending " + gender + " Products"
selected_gender_uid_list = trending_gender_uid_dict[gender]
trending_name_list = get_mapped_values(selected_gender_uid_list, uid_name_map)
trending_url_list = get_mapped_values(selected_gender_uid_list, uid_url_map)
# trending_url_list
streamlit_carousel("Trending Products", trending_url_list[:10], trending_name_list[:10])
st.subheader("Trending Category Products")
category_list = list(category_uid_dict.keys())
category = st.selectbox("Select Category", category_list)
category_heading = "Trending Products Category: "+ category
selected_category_uid_list = category_uid_dict[category]
selected_category_name_list = get_mapped_values(selected_category_uid_list, uid_name_map)
selected_category_url_list = get_mapped_values(selected_category_uid_list, uid_url_map)
streamlit_carousel(category_heading, selected_category_url_list[:10], selected_category_name_list[:10])
st.subheader("Trending Brands Products")
brand_list = list(brand_name_dict.keys())
brand = st.selectbox("Select Brand", brand_list)
brand_heading = "Trending Products Brand: "+ brand
selected_brand_uid_list = brand_name_dict[brand]
selected_brand_name_list = get_mapped_values(selected_brand_uid_list, uid_name_map)
selected_brand_url_list = get_mapped_values(selected_brand_uid_list, uid_url_map)
streamlit_carousel(brand_heading, selected_brand_url_list[:10], selected_brand_name_list[:10])