Sowmith22 commited on
Commit
f604e1a
Β·
verified Β·
1 Parent(s): 942c862

Upload 3 files

Browse files
Files changed (3) hide show
  1. New_emotions.csv +0 -0
  2. requirements.txt +4 -0
  3. ss.py +57 -0
New_emotions.csv ADDED
The diff for this file is too large to render. See raw diff
 
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ streamlit
2
+ pandas
3
+ numpy
4
+ scikit-learn
ss.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import streamlit as st
3
+ import warnings
4
+ warnings.filterwarnings("ignore")
5
+
6
+ from sklearn.model_selection import train_test_split
7
+ from sklearn.feature_extraction.text import CountVectorizer
8
+ from sklearn.pipeline import Pipeline
9
+ from sklearn.naive_bayes import MultinomialNB
10
+ from sklearn.metrics import accuracy_score
11
+
12
+ # Load and clean data
13
+ df = pd.read_csv(r"C:\Users\91879\Downloads\New_emotions.csv")
14
+ print(df.columns)
15
+
16
+ df.drop_duplicates(inplace=True)
17
+
18
+ x = df["sentence"]
19
+ y = df["emotion"]
20
+
21
+ # Split data
22
+ x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=29)
23
+
24
+ # Build model
25
+ model = Pipeline([
26
+ ("vectorizer", CountVectorizer()),
27
+ ("classifier", MultinomialNB(alpha=2))
28
+ ])
29
+
30
+ model.fit(x, y)
31
+ y_predict = model.predict(x_test)
32
+
33
+ # Streamlit App
34
+ st.title("Emotion Detection from Text πŸ‘‡")
35
+ st.write("Model Accuracy:", accuracy_score(y_test, y_predict))
36
+
37
+ # User input
38
+ sentence = st.text_input("Enter a sentence:")
39
+
40
+ if st.button("Predict Emotion"):
41
+ if sentence:
42
+ prediction = model.predict([sentence])[0]
43
+ st.write("Predicted Emotion:", prediction)
44
+
45
+ # Show emoji
46
+ emojis = {
47
+ "sad": "😒😒",
48
+ "love": "❀️❀️",
49
+ "surprise": "😦😦",
50
+ "joy": "πŸ˜‚πŸ˜‚",
51
+ "anger": "😠😠",
52
+ "fear": "😨😨"
53
+ }
54
+ st.write("Emoji:", emojis.get(prediction, "πŸ€”"))
55
+
56
+ user_data = pd.DataFrame([[sentence, prediction]], columns=["sentence", "predicted_emotion"])
57
+ st.write(user_data)