arrr / app.py
anmolstha's picture
Upload 10 files
462242d verified
raw
history blame contribute delete
No virus
1.83 kB
from flask import Flask,render_template,request
import pickle
import numpy as np
merged=pickle.load(open('models/merged_df.pkl', 'rb'))
pt=pickle.load(open('models/pt.pkl', 'rb'))
anime_dt=pickle.load(open('models/anime_dt.pkl', 'rb'))
similarity_scores=pickle.load(open('models/similarity_scores.pkl', 'rb'))
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html',
anime_name=list(merged['Name'].values),
score=list(merged['score'].values),
scored_by=list(merged['scored_by'].values),
Genres=list(merged['Genres'].values),
Studios=list(merged['Studios'].values),
image=list(merged['Image URL'].values)
)
@app.route('/recommend')
def recommend_ui():
return render_template('recommend.html')
@app.route('/recommend_animes',methods=['post'])
def recommend():
user_input = request.form.get('user_input')
index = np.where(pt.index == user_input)[0][0]
similar_items = sorted(list(enumerate(similarity_scores[index])), key=lambda x: x[1], reverse=True)[1:5]
data = []
for i in similar_items:
item = []
temp_df = anime_dt[anime_dt['Name'] == pt.index[i[0]]]
item.extend(list(temp_df.drop_duplicates('Name')['Name'].values))
item.extend(list(temp_df.drop_duplicates('Name')['Genres'].values))
item.extend(list(temp_df.drop_duplicates('Name')['Image URL'].values))
item.extend(list(temp_df.drop_duplicates('Name')['Studios'].values))
data.append(item)
print(data)
return render_template('recommend.html',data=data)
if __name__ == '__main__':
app.run(debug=True)