ekansh1's picture
Changed spelling error in file
4728924
import streamlit as st
import pandas as pd
import plotly.express as px
# Function to load predictions
@st.cache_data
def load_predictions(filename):
data = pd.read_csv(filename)
data['Date'] = pd.to_datetime(data['Date']).dt.strftime('%Y-%m')
return data
# Title and Introduction with icons
st.title('πŸ’Ή 2022 Receipt Count Predictions')
st.markdown("## Explore the Receipt Count Predictions for the year 2022 πŸ“ˆ")
# Sidebar for model selection
st.sidebar.title("πŸ” Model Selection")
model_option = st.sidebar.selectbox(
'Choose a model:',
('LSTM', 'RNN', 'Prophet')
)
# Button to load predictions
if st.sidebar.button('Get Predictions'):
filename_map = {'LSTM': 'results/LSTM_predictions-final.csv',
'RNN': 'results/RNN_predictions-final.csv',
'Prophet': 'results/Prophet_predictions.csv'}
predictions = load_predictions(filename_map[model_option])
# Display Data Table
st.markdown("### Predicted Receipt Counts")
st.dataframe(predictions)
# Plotting Predictions and fixing the error
st.markdown("### Interactive Prediction Graph")
fig = px.line(predictions, x='Date', y='Prediction',
title=f'Monthly Predicted Receipt Counts for 2022 ({model_option} Model)',
markers=True)
st.plotly_chart(fig, use_container_width=True)
# Download links
st.markdown('## Download Results')
st.download_button(
label="Download Data as CSV",
data=predictions.to_csv(index=False).encode('utf-8'),
file_name='predictions.csv',
mime='text/csv',
)
st.download_button(
label="Download Plot as Image",
data=fig.to_image(format="png"),
file_name='predictions_plot.png',
mime='image/png',
)