Spam-Detection / app.py
hidevscommunity's picture
Create app.py
c1e3118 verified
import streamlit as st
import numpy as np
import pickle
import streamlit.components.v1 as components
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
import pandas as pd
import nltk
import re
from sklearn.naive_bayes import BernoulliNB
from collections import Counter
from nltk.corpus import stopwords
df = pd.read_csv('spam_new.csv',encoding= 'latin-1')
# X will be the features
X = np.array(df["message"])
# y will be the target variable
y = np.array(df["class"])
cv = CountVectorizer()
X = cv.fit_transform(X)
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=0.33,
random_state=42)
model = BernoulliNB()
model.fit(X_train, y_train)
# Function for model prediction
def model_prediction(features):
features = cv.transform([features]).toarray()
Message = str(list(model.predict(features)))
return Message
def app_design():
image = '58.png' # Load image
st.image(image, use_column_width=True)
st.subheader("Enter the following values:")
text= st.text_input("Enter your text")
# Create a feature list from the user inputs
features = text # add features according to notebook
# Make a prediction when the user clicks the "Predict" button
if st.button('Predict Spam'):
predicted_value = model_prediction(features)
if predicted_value == "['ham']":
st.success("Your comment is not spam")
elif predicted_value == "['spam']":
st.success("Your Comment is spam")
def about_hidevs():
components.html("""
<div>
<h4>🚀 Unlock Your Dream Job with HiDevs Community!</h4>
<p class="subtitle">🔍 Seeking the perfect job? HiDevs Community is your gateway to career success in the tech industry. Explore free expert courses, job-seeking support, and career transformation tips.</p>
<p class="subtitle">💼 We offer an upskill program in <b>Gen AI, Data Science, Machine Learning</b>, and assist startups in adopting <b>Gen AI</b> at minimal development costs.</p>
<p class="subtitle">🆓 Best of all, everything we offer is <b>completely free</b>! We are dedicated to helping society.</p>
<p class="subtitle">Book free of cost 1:1 mentorship on any topic of your choice — <a class="link" href="https://topmate.io/deepakchawla1307">topmate</a></p>
<p class="subtitle">✨ We dedicate over 30 minutes to each applicant’s resume, LinkedIn profile, mock interview, and upskill program. If you’d like our guidance, check out our services <a class="link" href="https://hidevscommunity.wixsite.com/hidevs">here</a></p>
<p class="subtitle">💡 Join us now, and turbocharge your career!</p>
<p class="subtitle"><a class="link" href="https://hidevscommunity.wixsite.com/hidevs" target="__blank">Website</a>
<a class="link" href="https://www.youtube.com/@HidevsCommunity1307/" target="__blank">YouTube</a>
<a class="link" href="https://www.instagram.com/hidevs_community/" target="__blank">Instagram</a>
<a class="link" href="https://medium.com/@hidevscommunity" target="__blank">Medium</a>
<a class="link" href="https://www.linkedin.com/company/hidevs-community/" target="__blank">LinkedIn</a>
<a class="link" href="https://github.com/hidevscommunity" target="__blank">GitHub</a></p>
</div>
""",
height=600)
def main():
# Set the app title and add your website name and logo
st.set_page_config(
page_title="Spam Detection",
page_icon=":chart_with_upwards_trend:",
)
st.title("Welcome to our Spam Detection App!")
app_design()
st.header("About HiDevs Community")
about_hidevs()
if __name__ == '__main__':
main()