File size: 3,486 Bytes
abedde3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3ff3327
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94

import streamlit as st
import pandas as pd
import joblib

# Load your trained model
model = joblib.load('models\model1.pkl')

# Function to predict sales
def predict_sales(input_data):
    # Make predictions using the loaded model
    sales_prediction = model.predict(input_data)
    return sales_prediction

# Streamlit app
def main():
    st.title('Sales Prediction App')

    # Input widgets
    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"])
    

    # Encode StateHoliday as 1 for 'Yes' and 0 for 'No' --------------------------------------
    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)
    # ----------------------------------------------------------------------------------------

    # Store user inputs
    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]
    })

    # Display input data
    st.subheader('Input Data:')
    st.write(input_data)

    # Predict sales
    # if st.button('Predict Sales'):
    #     prediction = predict_sales(input_data)
    #     st.write('Predicted Sales:', prediction)

    if st.button('Predict Sales'):
        prediction = predict_sales(input_data)[0]
        formatted_prediction = "{:.2f}".format(prediction)  # Format prediction to display two decimal points
        st.write('Predicted Sales:', formatted_prediction)


if __name__ == '__main__':
    main()



# Record at index 795018:
# PromoInterval                Jan,Apr,Jul,Oct
# StoreType                         Small Shop
# Assortment                             basic
# StateHoliday                               0
# Store                                    650
# Customers                                636
# Promo                                      1
# SchoolHoliday                              0
# CompetitionDistance                     1420
# CompetitionOpenSinceMonth                 10
# CompetitionOpenSinceYear                2012
# Sales                                   6322
# Name: 795018, dtype: object