Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import matplotlib.pyplot as plt | |
| import plotly.express as px | |
| import streamlit as st | |
| from transformers import pipeline | |
| # Upload CSV file containing transaction data | |
| uploaded_file = st.file_uploader("Upload Expense CSV", type="csv") | |
| if uploaded_file is not None: | |
| # Load the file into a DataFrame | |
| df = pd.read_csv(uploaded_file) | |
| # Display the first few rows of the dataset | |
| st.write("First few rows of the dataset:", df.head()) | |
| # Initialize Hugging Face's zero-shot text classification model | |
| model_name = 'distilbert-base-uncased' | |
| classifier = pipeline('zero-shot-classification', model=model_name) | |
| # List of possible expense categories | |
| categories = ["Groceries", "Rent", "Utilities", "Entertainment", "Dining", "Transportation", "Salary"] | |
| # Function to classify transaction descriptions into categories | |
| def categorize_expense(description): | |
| result = classifier(description, candidate_labels=categories) | |
| return result['labels'][0] # Choose the most probable category | |
| # Apply the categorization function to the 'Description' column in the dataset | |
| df['Category'] = df['Description'].apply(categorize_expense) | |
| # Show the ca | |