Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| import numpy as np | |
| import networkx as nx | |
| import matplotlib.pyplot as plt | |
| from sklearn.metrics.pairwise import cosine_similarity | |
| st.title("GNN Recommender Agent") | |
| uploaded_file = st.file_uploader("Upload CSV File", type=["csv"]) | |
| if uploaded_file: | |
| df = pd.read_csv(uploaded_file) | |
| st.write("Dataset:") | |
| st.dataframe(df) | |
| matrix = df.iloc[:,1:].values | |
| sim = cosine_similarity(matrix) | |
| st.subheader("Cosine Similarity") | |
| st.write(sim) | |
| users = df.iloc[:,0].tolist() | |
| G = nx.Graph() | |
| for u in users: | |
| G.add_node(u, bipartite=0) | |
| for i in range(matrix.shape[1]): | |
| G.add_node(f"I{i+1}", bipartite=1) | |
| for r in range(len(users)): | |
| for c in range(matrix.shape[1]): | |
| if matrix[r][c] == 1: | |
| G.add_edge(users[r], f"I{c+1}") | |
| fig, ax = plt.subplots() | |
| pos = nx.spring_layout(G) | |
| nx.draw(G, pos, with_labels=True, node_size=1500, ax=ax) | |
| st.pyplot(fig) |