sumitsinha2603's picture
Add Streamlit app files
81674aa verified
import streamlit as st
import pandas as pd
import numpy as np
from huggingface_hub import hf_hub_download
import joblib
st.set_page_config(page_title="Tourism Package Prediction", layout="wide")
# -------------------------
# Download Model & Encoder
# -------------------------
MODEL_REPO = "sumitsinha2603/TourismPackagePredictionAnalysisModel"
MODEL_FILE = "TourismPackagePredictionAnalysisModel_v1.joblib"
model_path = hf_hub_download(
repo_id=MODEL_REPO,
filename=MODEL_FILE,
repo_type="model" # or dataset if stored in dataset repo
)
model = joblib.load(model_path)
# -------------------------
# Streamlit UI
# -------------------------
st.title("πŸ–οΈ Tourism Package Prediction App")
st.write("Predict whether the customer will buy a package.")
# All Inputs
TypeofContact = st.selectbox("Type of Contact", ["Company Invited", "Self Enquiry"])
Occupation = st.selectbox("Occupation", ["Salaried", "Small Business", "Large Business", "Free Lancer"])
Gender = st.selectbox("Gender", ["Male", "Female"])
ProductPitched = st.selectbox("Product Pitched", ["Basic", "Standard", "Deluxe"])
MaritalStatus = st.selectbox("Marital Status", ["Single", "Married"])
Designation = st.selectbox("Designation", ["Executive", "Senior Executive", "Manager"])
Age = st.number_input("Age", min_value=18, max_value=90)
NoOfFollowups = st.number_input("No of Followups", min_value=0, max_value=20)
DurationOfPitch = st.number_input("Duration of Pitch", min_value=0, max_value=100)
if st.button("Predict"):
input_data = pd.DataFrame([[
TypeofContact, Occupation, Gender, ProductPitched, MaritalStatus, Designation,
Age, NoOfFollowups, DurationOfPitch
]], columns=[
"TypeofContact", "Occupation", "Gender", "ProductPitched",
"MaritalStatus", "Designation",
"Age", "NoOfFollowups", "DurationOfPitch"
])
pred = model.predict(input_data)[0]
if pred == 1:
st.success("πŸ‘ Customer is likely to buy the package!")
else:
st.error("πŸ‘Ž Customer is NOT likely to buy the package.")