|
|
|
import streamlit as st |
|
import pandas as pd |
|
import joblib |
|
|
|
|
|
model = joblib.load('models\model1.pkl') |
|
|
|
|
|
def predict_sales(input_data): |
|
|
|
sales_prediction = model.predict(input_data) |
|
return sales_prediction |
|
|
|
|
|
def main(): |
|
st.title('Sales Prediction App') |
|
|
|
|
|
PromoInterval = st.selectbox("Promo Interval", ['No Promotion', 'Jan,Apr,Jul,Oct', 'Feb,May,Aug,Nov', 'Mar,Jun,Sept,Dec']) |
|
|
|
|
|
StoreType = st.radio("StoreType", ["Small Shop", "Medium Store", "Large Store", "Hypermarket"]) |
|
Assortment = st.radio("Assortment", ["basic", "extra", "extended"]) |
|
|
|
|
|
|
|
StateHoliday = st.radio("State Holiday", ["Yes", "No"]) |
|
StateHoliday = 1 if StateHoliday == "Yes" else 0 |
|
|
|
SchoolHoliday = st.radio("School Holiday", ["Yes", "No"]) |
|
SchoolHoliday = 1 if SchoolHoliday == "Yes" else 0 |
|
|
|
Promo = st.radio("Promotion", ["store is participating", "store is not participating"]) |
|
Promo = 1 if Promo == "store is participating" else 0 |
|
|
|
|
|
|
|
Store = st.slider("Store", 1, 1115) |
|
Customers = st.slider("Customers", 0, 7388) |
|
CompetitionDistance = st.slider("Competition Distance", 20, 75860) |
|
CompetitionOpenSinceMonth = st.slider("Competition Open Since Month", 1, 12) |
|
CompetitionOpenSinceYear = st.slider("Competition Open Since Year", 1998, 2015) |
|
|
|
|
|
|
|
input_data = pd.DataFrame({ |
|
'PromoInterval': [PromoInterval], |
|
'StoreType': [StoreType], |
|
'Assortment': [Assortment], |
|
'StateHoliday': [StateHoliday], |
|
'Store': [Store], |
|
'Customers': [Customers], |
|
'Promo': [Promo], |
|
'SchoolHoliday': [SchoolHoliday], |
|
'CompetitionDistance': [CompetitionDistance], |
|
'CompetitionOpenSinceMonth': [CompetitionOpenSinceMonth], |
|
'CompetitionOpenSinceYear': [CompetitionOpenSinceYear] |
|
}) |
|
|
|
|
|
st.subheader('Input Data:') |
|
st.write(input_data) |
|
|
|
|
|
|
|
|
|
|
|
|
|
if st.button('Predict Sales'): |
|
prediction = predict_sales(input_data)[0] |
|
formatted_prediction = "{:.2f}".format(prediction) |
|
st.write('Predicted Sales:', formatted_prediction) |
|
|
|
|
|
if __name__ == '__main__': |
|
main() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|