File size: 1,948 Bytes
3aaa0a3 |
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 |
from flask import Flask,jsonify,render_template,request
import pickle
import pandas as pd
import pandas as pd
import numpy as np
# Open the file using 'with' statement
with open('popular1.pkl', 'rb') as f:
popular_df = pd.read_pickle(f)
with open('pt1.pkl', 'rb') as fi:
pt = pd.read_pickle(fi)
with open('banquet.pkl', 'rb') as fil:
banquets = pd.read_pickle(fil)
with open('similarity_scores1.pkl', 'rb') as file:
similarity_scores = pd.read_pickle(file)
app = Flask(__name__)
@app.route('/')
def index():
return render_template(
'index.html',
banquet_img=list(popular_df['Jn12ke src'].values),
banquet_name=list(popular_df['Hall-Name'].values),
banquet_reviews=list(popular_df['num_ratings'].values),
banquet_rating=list(popular_df['Rating_x'].values),
)
@app.route('/recommend')
def recommend_ui():
return render_template(
'Recommend.html'
)
@app.route('/banquet',methods=['post'])
def recommend():
user_input=request.form.get('user-input')
if user_input not in pt.index:
return "Banquet not found in the index"
index = np.where(pt.index ==user_input)[0][0]
similar_items = sorted(enumerate(similarity_scores[index]), key=lambda x: x[1], reverse=True)[1:5]
data = []
for i in similar_items:
item = []
temp_df = banquets[banquets['Hall-Name'] == pt.index[i[0]]]
item.extend(temp_df.drop_duplicates('Hall-Name')['Hall-Name'].values)
item.extend(temp_df.drop_duplicates('Hall-Name')['Address'].values)
item.extend(temp_df.drop_duplicates('Hall-Name')['Contact'].values)
item.extend(temp_df.drop_duplicates('Hall-Name')['Rating'].values)
item.extend(temp_df.drop_duplicates('Hall-Name')['Jn12ke src'].values)
data.append(item)
print(data)
return jsonify({'recommendations': data})
if __name__=="__main__":
app.run(debug=True)
|