| import streamlit as st | |
| import joblib | |
| import neattext.functions as nfx | |
| st.title("Spam Email Detection") | |
| st.write("Bir mesajın spam mi yoksa normal mesaj mı olduğunu tahmin eden uygulama.") | |
| # Model ve vectorizer yükleme | |
| model = joblib.load("src/spam_model.pkl") | |
| vectorizer = joblib.load("src/count_vectorizer.pkl") | |
| # Kullanıcıdan mesaj alma | |
| message = st.text_area( | |
| "Enter your message", | |
| height=150 | |
| ) | |
| if st.button("Predict"): | |
| if message.strip() == "": | |
| st.warning("Please enter a message.") | |
| else: | |
| clean_message = nfx.remove_userhandles(message) | |
| clean_message = nfx.remove_stopwords(clean_message) | |
| clean_message = nfx.remove_punctuations(clean_message) | |
| message_vector = vectorizer.transform([clean_message]) | |
| prediction = model.predict(message_vector) | |
| st.subheader("Prediction Result") | |
| if prediction[0] == 1: | |
| st.error("Spam Message") | |
| else: | |
| st.success("Normal Message") |