engralimalik commited on
Commit
e57fb31
·
verified ·
1 Parent(s): 1e8fed5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -9
app.py CHANGED
@@ -2,6 +2,7 @@ import pandas as pd
2
  import plotly.express as px
3
  import streamlit as st
4
  from transformers import pipeline
 
5
 
6
  # Function to add custom background image from a URL
7
  def add_bg_from_url(image_url):
@@ -19,6 +20,10 @@ def add_bg_from_url(image_url):
19
  unsafe_allow_html=True
20
  )
21
 
 
 
 
 
22
  # File upload
23
  uploaded_file = st.file_uploader("Upload your expense CSV file", type=["csv"])
24
  if uploaded_file:
@@ -27,18 +32,18 @@ if uploaded_file:
27
  # Display Dataframe
28
  st.write(df.head())
29
 
30
- # Initialize Hugging Face model for zero-shot classification
31
- classifier = pipeline('zero-shot-classification', model='distilbert-base-uncased')
32
  categories = ["Groceries", "Rent", "Utilities", "Entertainment", "Dining", "Transportation"]
33
 
34
- # Function to categorize
35
  def categorize_expense(description):
36
  result = classifier(description, candidate_labels=categories)
37
  return result['labels'][0] # Most probable category
38
 
39
  # Apply categorization
40
  df['Category'] = df['Description'].apply(categorize_expense)
41
-
42
  # Display categorized data
43
  st.write("Categorized Data", df)
44
 
@@ -89,9 +94,9 @@ if uploaded_file:
89
  'Budget': [sum(budgets.values())] * len(monthly_expenses) # Same budget for simplicity
90
  })
91
 
92
- fig3 = monthly_expenses_df.plot(kind='bar', figsize=(10, 6))
 
 
 
 
93
  st.pyplot(fig3)
94
-
95
- # Add the background image using the provided URL
96
- background_image_url = 'https://huggingface.co/spaces/engralimalik/Smart-Expense-Tracker/resolve/main/colorful-abstract-textured-background-design.jpg'
97
- add_bg_from_url(background_image_url)
 
2
  import plotly.express as px
3
  import streamlit as st
4
  from transformers import pipeline
5
+ import matplotlib.pyplot as plt
6
 
7
  # Function to add custom background image from a URL
8
  def add_bg_from_url(image_url):
 
20
  unsafe_allow_html=True
21
  )
22
 
23
+ # Add the background image using the provided URL
24
+ background_image_url = 'https://huggingface.co/spaces/engralimalik/Smart-Expense-Tracker/resolve/main/colorful-abstract-textured-background-design.jpg'
25
+ add_bg_from_url(background_image_url)
26
+
27
  # File upload
28
  uploaded_file = st.file_uploader("Upload your expense CSV file", type=["csv"])
29
  if uploaded_file:
 
32
  # Display Dataframe
33
  st.write(df.head())
34
 
35
+ # Initialize Hugging Face model for zero-shot classification (using a better model like roberta-large-mnli)
36
+ classifier = pipeline('zero-shot-classification', model='roberta-large-mnli')
37
  categories = ["Groceries", "Rent", "Utilities", "Entertainment", "Dining", "Transportation"]
38
 
39
+ # Function to categorize expenses based on the description
40
  def categorize_expense(description):
41
  result = classifier(description, candidate_labels=categories)
42
  return result['labels'][0] # Most probable category
43
 
44
  # Apply categorization
45
  df['Category'] = df['Description'].apply(categorize_expense)
46
+
47
  # Display categorized data
48
  st.write("Categorized Data", df)
49
 
 
94
  'Budget': [sum(budgets.values())] * len(monthly_expenses) # Same budget for simplicity
95
  })
96
 
97
+ # Create a matplotlib figure for the bar chart
98
+ fig3, ax = plt.subplots(figsize=(10, 6))
99
+ monthly_expenses_df.plot(kind='bar', ax=ax)
100
+ ax.set_title('Monthly Spending vs Budget')
101
+ ax.set_ylabel('Amount ($)')
102
  st.pyplot(fig3)