kartavya17 commited on
Commit
7b3dbf3
1 Parent(s): 35febbe

Upload 10 files

Browse files

import streamlit as st
import pickle
import string
from nltk.corpus import stopwords
import nltk
from nltk.stem.porter import PorterStemmer
import sklearn

ps = PorterStemmer()

def Datapreprocessing(text):
text = text.lower()
text = nltk.word_tokenize(text)

y = []

for i in text:
if i.isalnum():
y.append(i)
text = y.copy()
y.clear()

for i in text:
if i not in string.punctuation and i not in stopwords.words('english'):
y.append(i)

text = y.copy()
y.clear()

for i in text:
y.append(ps.stem(i))

text = y[:]
y.clear()

text = " ".join(text)
return text

tfidf = pickle.load(open('vectorizer.pkl','rb'))
model = pickle.load(open('model.pkl','rb'))

st.title('Email/SMS Spam Classifier ')


input_sms = st.text_area('Enter the EmailSMS : ')

if st.button('Predict'):

# 1. preprocess
transformed_sms = Datapreprocessing(input_sms)
# 2. vectorize
vector_input = tfidf.transform([transformed_sms])
# 3. predict
result = model.predict(vector_input)[0]
# 4. Display
if result == 1:
st.header("Spam ! Be Careful AMIGO ;)")
else:
st.header("Not Spam ! Go ahead buddy :D ")

.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tmdb_5000_credits.csv filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ venv
MOVIE-RECOMMNDER-SYSTEM.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
Procfile ADDED
@@ -0,0 +1 @@
 
 
1
+ web: sh setup.sh && streamlit run app.py
main.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import streamlit as st
3
+ import pickle
4
+ import requests
5
+
6
+ def fetch_image(movie_id):
7
+ response = requests.get('https://api.themoviedb.org/3/movie/{}?api_key=8265bd1679663a7ea12ac168da84d2e8&language=en-US'.format(movie_id))
8
+
9
+ data = response.json()
10
+
11
+ return "https://image.tmdb.org/t/p/w500/" + data['poster_path']
12
+
13
+ def recommand(movie):
14
+ movie_index = movies[movies['title'] == movie].index[0]
15
+ distences = similarity[movie_index]
16
+ movies_list = sorted(list(enumerate(distences)),reverse=True,key = lambda x : x[1])[1:6]
17
+
18
+ recommanded_movie = []
19
+ recommaned_poster=[]
20
+ for i in movies_list:
21
+ movie_id = movies.iloc[i[0]].movie_id
22
+
23
+ recommanded_movie.append(movies.iloc[i[0]].title)
24
+ recommaned_poster.append(fetch_image(movie_id)) # Fetch poster from API
25
+ return recommanded_movie,recommaned_poster
26
+
27
+ movies_dict = pickle.load(open('movie_dict.pkl','rb'))
28
+ movies = pd.DataFrame(movies_dict)
29
+
30
+ similarity = pickle.load(open('similarity.pkl','rb'))
31
+
32
+ st.title('Movie Recommender System')
33
+
34
+ selected_movie = st.selectbox(
35
+ 'What is your taste in movie ? ',
36
+ movies['title'].values)
37
+ st.write('You selected:', selected_movie)
38
+
39
+
40
+ if st.button('Recommend movie'):
41
+ name,poster =recommand(selected_movie)
42
+
43
+ col1, col2, col3, col4, col5 = st.columns(5)
44
+ with col1:
45
+ st.text(name[0])
46
+ st.image(poster[0])
47
+ with col2:
48
+ st.text(name[1])
49
+ st.image(poster[1])
50
+ with col3:
51
+ st.text(name[2])
52
+ st.image(poster[2])
53
+ with col4:
54
+ st.text(name[3])
55
+ st.image(poster[3])
56
+ with col5:
57
+ st.text(name[4])
58
+ st.image(poster[4])
movie_dict.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14df69a1d4c566857cdca3fc533ce3bd2f9867c13517964b7b4fb64a5fe39e1c
3
+ size 2216684
requirements.txt ADDED
Binary file (1.63 kB). View file
 
setup.sh ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ mkdir -p ~/.streamlit/
2
+
3
+ echo "\
4
+ [server]\n\
5
+ port = $PORT\n\
6
+ enableCORS = false\n\
7
+ headless = true\n\
8
+ \n\
9
+ " > ~/.streamlit/confit.toml
similarity.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3cdddefcba2492c64942a441915bc409e2449bbea1787f60d58535c47732973
3
+ size 184781251
tmdb_5000_credits.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9d0050599ff88d40366c4841204b1489862bca346bfa46c20b05a65d14508435
3
+ size 40044293
tmdb_5000_movies.csv ADDED
The diff for this file is too large to render. See raw diff