uzma2025's picture
Update app.py
942b6ea verified
Raw
History Blame Contribute Delete
990 Bytes
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)