Sales_analysis / eda_app.py
Siddique3's picture
Upload 9 files
fc00cff
import streamlit as st
from sklearn import tree
import pandas as pd
def load_data():
data=pd.read_csv(r"C:\Users\Lenovo\Downloads\sales.csv")
return data
data = load_data()
def predict_page():
from sklearn.preprocessing import LabelEncoder
le=LabelEncoder()
le.fit(data['Category'])
data['Category']=le.transform(data['Category'])
le1=LabelEncoder()
le1.fit(data['Sub Category'])
data['Sub Category']=le1.transform(data['Sub Category'])
le2 = LabelEncoder()
le2.fit(data['City'])
data['City'] = le2.transform(data['City'])
X = data[["City", "Category", "Sub Category"]]
y = data["Sales"]
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
clf = tree.DecisionTreeRegressor()
clf = clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
from sklearn.metrics import mean_absolute_error, r2_score
print("Mean Absolute Error:", mean_absolute_error(y_test, y_pred))
print("R-squared Score:", r2_score(y_test, y_pred))
clf = tree.DecisionTreeRegressor()
clf = clf.fit(X_train, y_train)
def predict(City, Category, Sub_Category):
prediction = clf.predict([[City, Category, Sub_Category]])
return prediction
st.title("Sales Prediction")
City = st.selectbox("Select City",
options=data['City'].unique())
category = st.selectbox("Select category",
options=data["Category"].unique())
sub_category = st.selectbox("Select sub category",
options=data["Sub Category"])
if st.button("Predict"):
result = predict(City, category, sub_category)
st.success(f'Predicted Sales: {result}')
return predict_page()