Maison  >  Article  >  interface Web  >  Comment j'ai construit un système de recommandation de films à l'aide de Python

Comment j'ai construit un système de recommandation de films à l'aide de Python

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 15:10:03872parcourir

How I Built a Movie Recommendation System Using 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

Charger l'ensemble de données sur les films et les classements

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

Vectoriser les genres

tfidf = TfidfVectorizer(stop_words='english')
films['genres'] = films['genres'].fillna('') # Remplir les valeurs NaN
tfidf_matrix = tfidf.fit_transform(movies['genres'])

Calculer la matrice de similarité

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>




Exemple

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

films #python #système de recommandation #machinelearning #api

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn