Untitled

 avatar
unknown
python
2 years ago
1.1 kB
1
Indexable
from flask import Flask, request, jsonify
import pandas as pd
from surprise import Dataset, Reader, KNNBasic
from surprise.model_selection import train_test_split
import joblib

app = Flask(__name__)

# Modeli yükleme
model = joblib.load('model1.pkl')
movies_df = pd.read_csv('movies.dat', sep='::', engine='python', header=None, names=['MovieID', 'Title', 'Genres'], encoding='ISO-8859-1')

# API endpoint'i
@app.route('/api/recommend', methods=['POST'])
def recommend_movies():
    movie_title = request.json['movie_title']
    recommended_movies = get_similar_movies(movie_title)
    return jsonify({'recommended_movies': recommended_movies})

# Bir filmi izleyenlere benzer filmleri önerme
def get_similar_movies(movie_title, top_n=5):
    movie_id = movies_df[movies_df['Title'] == movie_title]['MovieID'].values[0]
    similar_movies = model.get_neighbors(movie_id, k=top_n)
    recommended_movies = [movies_df[movies_df['MovieID'] == movie]['Title'].values[0] for movie in similar_movies]
    return recommended_movies

if __name__ == '__main__':
    app.run()
Editor is loading...