Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import joblib | |
| import os | |
| # ====================== | |
| # LOAD MODEL | |
| # ====================== | |
| BASE_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| model = joblib.load(os.path.join(BASE_DIR, "model.pkl")) | |
| vectorizer = joblib.load(os.path.join(BASE_DIR, "vectorizer.pkl")) | |
| # ====================== | |
| # PAGE | |
| # ====================== | |
| st.set_page_config(page_title="SMS Spam Detection", page_icon="π©") | |
| st.title("π© SMS Spam Detection") | |
| st.write("Classify SMS messages as Spam or Ham") | |
| # ====================== | |
| # INPUT | |
| # ====================== | |
| message = st.text_area("Enter your message") | |
| # ====================== | |
| # PREDICT | |
| # ====================== | |
| if st.button("Predict"): | |
| message_vec = vectorizer.transform([message]) | |
| prediction = model.predict(message_vec)[0] | |
| proba = model.predict_proba(message_vec) | |
| confidence = proba.max() | |
| if prediction == "spam": | |
| st.error(f"π« Spam ({confidence:.2%})") | |
| else: | |
| st.success(f"β Ham ({confidence:.2%})") |