Maison > Article > interface Web > Comment j'ai construit un système de recommandation de films à l'aide de Python
Présentation
Vous êtes-vous déjà demandé comment Netflix sait exactement ce que vous voulez regarder ? Les systèmes de recommandation sont devenus un élément essentiel de l'industrie cinématographique, aidant les utilisateurs à découvrir les films qu'ils adoreront en fonction de leurs préférences. Dans cet article, je vais vous expliquer comment j'ai créé un système simple de recommandation de films à l'aide de Python, en exploitant des ensembles de données et des bibliothèques accessibles au public. Que vous soyez débutant ou développeur expérimenté, ce guide sera une plongée ludique dans le monde des données et des recommandations.
Étape 1 : Collecte des données
Pour construire un système de recommandation, nous avons d’abord besoin de données. Pour les films, l'un des meilleurs ensembles de données disponibles est l'ensemble de données MovieLens. Il comprend des informations telles que les titres de films, les genres et les évaluations des utilisateurs.
Téléchargez l'ensemble de données : visitez le site Web MovieLens et téléchargez l'ensemble de données.
Chargez les données dans Python : utilisez des bibliothèques comme Pandas pour lire l'ensemble de données.
python
Code Salin
importer des pandas en tant que pd
films = pd.read_csv('movies.csv')
notes = pd.read_csv('ratings.csv')
print(movies.head())
imprimer(ratings.head())
Étape 2 : Choisir l'approche de recommandation
Il existe deux types populaires de systèmes de recommandation :
Filtrage basé sur le contenu : recommande des films similaires à ceux que l'utilisateur a aimé auparavant.
Filtrage collaboratif : recommande des films en fonction de ce que des utilisateurs similaires ont aimé.
Pour ce tutoriel, utilisons le filtrage basé sur le contenu.
Étape 3 : Construire le modèle
Nous utiliserons le TF-IDF Vectorizer de la bibliothèque sklearn pour analyser les genres et les descriptions des films.
python
Code Salin
depuis sklearn.feature_extraction.text importer TfidfVectorizer
depuis sklearn.metrics.pairwise importer cosine_similarity
tfidf = TfidfVectorizer(stop_words='english')
films['genres'] = films['genres'].fillna('') # Remplir les valeurs NaN
tfidf_matrix = tfidf.fit_transform(movies['genres'])
cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix)
imprimer(cosine_sim.shape)
Étape 4 : Créer une fonction de recommandation
Créons maintenant une fonction pour recommander des films en fonction d'un titre sélectionné.
python
Code Salin
def recommande_movies(titre, cosine_sim=cosine_sim):
indices = pd.Series(movies.index, index=movies['title']).drop_duplicates()
idx = indices[titre]
# Get pairwise similarity scores<br> sim_scores = list(enumerate(cosine_sim[idx]))<br> sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True) <h2> Get top 10 recommendations </h2> <p>sim_scores = sim_scores[1:11]<br> movie_indices = [i[0] for i in sim_scores]</p> <p>return movies['title'].iloc[movie_indices]<br> </p>
print(recommend_movies('Toy Story (1995)'))
Étape 5 : Tester le modèle
Une fois la fonction prête, testez-la avec différents titres de films pour voir si les recommandations correspondent à vos attentes.
Étape 6 : Déploiement (facultatif)
Si vous souhaitez aller plus loin, déployez ce modèle comme une simple application web en utilisant des frameworks comme Flask ou Django. Voici un extrait pour Flask :
python
Code Salin
à partir de l'importation de flacon Flask, requête, jsonify
app = Flask(nom)
@app.route('/recommend', méthodes=['GET'])
def recommande() :
titre = request.args.get('titre')
recommandations = recommande_movies(titre)
retourner jsonify(recommendations.tolist())
if nom == 'main' :
app.run(debug=True)
Conclusion
Félicitations! Vous venez de créer un système de recommandation de films de base à l'aide de Python. Bien qu’il s’agisse d’une mise en œuvre simple, elle ouvre des possibilités pour des systèmes plus complexes utilisant des modèles d’apprentissage profond ou hybrides. ? Vérifiez-le maintenant ! https://shorturl.at/dwHQI
? Regardez-le ici https://shorturl.at/zvAqO
Si vous avez apprécié cet article, n'hésitez pas à laisser un commentaire ou à partager vos idées pour améliorer le système. Bon codage !
Balises
Faites-moi savoir si vous souhaitez personnaliser davantage ou ajouter des sections spécifiques !? Vérifiez-le maintenant ! https://shorturl.at/dwHQI
? Regardez-le ici https://shorturl.at/zvAqO
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!