File size: 4,793 Bytes
e8cab69
 
 
 
 
 
 
2d6b76f
 
 
 
 
 
 
e8cab69
 
 
2d6b76f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e8cab69
 
 
 
2d6b76f
 
 
 
 
e8cab69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2d6b76f
e8cab69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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
nltk.download('stopwords')
stemmer = nltk.SnowballStemmer("english")
from nltk.corpus import stopwords
import string
stopword=set(stopwords.words('english'))
# Separate target and feature column in X and y variable
df = pd.read_csv('stress.csv')
# X will be the features
def clean(text):
    text = str(text).lower()
    text = re.sub('\[.*?\]', '', text)
    text = re.sub('https?://\S+|www\.\S+', '', text)
    text = re.sub('<.*?>+', '', text)
    text = re.sub('[%s]' % re.escape(string.punctuation), '', text)
    text = re.sub('\n', '', text)
    text = re.sub('\w*\d\w*', '', text)
    text = [word for word in text.split(' ') if word not in stopword]
    text=" ".join(text)
    text = [stemmer.stem(word) for word in text.split(' ')]
    text=" ".join(text)
    return text


df["text"] = df["text"].apply(clean)
X = np.array(df["text"])

# y will be the target variable
y = np.array(df["label"])



df["text"] = df["text"].apply(clean)

cv = CountVectorizer()
# Load the pickled model

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)

# Function for model prediction
def model_prediction(features):
    features = cv.transform([features]).toarray()
    pickled_model = pickle.load(open('Stress_Detection_BernoulliNB.pkl', 'rb'))
    Message = str(list(pickled_model.predict(features)))

    return Message

def app_design():
    # Add input fields for High, Open, and Low values
    image = '36.png' # Load image 
    st.image(image, use_column_width=True)
    
    st.subheader("Enter the following values:")

    text= st.text_input("Enter your message")
    # 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 Stress'):  
        predicted_value = model_prediction(features)
        if predicted_value == "['Stress']":
            st.success("Your message contains Stress") 
        elif predicted_value ==  "['No Stress']":
              st.success("Your message doesnot contains Stress")       
                 


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="Stress Detection",
        page_icon=":chart_with_upwards_trend:",
        )
    
        st.title("Welcome to our Stress Detection App!")
    
        app_design()    
        st.header("About HiDevs Community")
        about_hidevs()

if __name__ == '__main__':
        main()