Filtrage collaboratif

Créer des moteurs de recommandation en Python

Rob O'Callaghan

Director of Data

Filtrage collaboratif

Créer des moteurs de recommandation en Python

Filtrage collaboratif

Créer des moteurs de recommandation en Python

Filtrage collaboratif

Créer des moteurs de recommandation en Python

Trouver des utilisateurs similaires

Créer des moteurs de recommandation en Python

Trouver des utilisateurs similaires

Créer des moteurs de recommandation en Python

Travailler avec des données réelles

user_ratings DataFrame :

Utilisateur Livre Note
User_233 The Great Gatsby 3.0
User_651 The Catcher in the Rye 5.0
User_131 The Lord of the Rings 3.0
User_965 The Great Gatsby 4.0
User_651 Fifty Shades of Grey 4.0
... ... ...
Créer des moteurs de recommandation en Python

Pivoter nos données

user_ratings_pivot = user_ratings.pivot(index='User', 
                                        columns='Book',
                                        values='Rating')
print(user_ratings_pivot)
title     The Great Gatsby    The Catcher in the Rye    Fifty Shades of Grey
User                    
User_233               3.0                       NaN                     NaN
User_651               NaN                       5.0                     4.0
User_965               4.0                       3.0                     NaN
     ...               ...                       ...                     ...
Créer des moteurs de recommandation en Python

Parcimonie des données

title     The Great Gatsby    The Catcher in the Rye    Fifty Shades of Grey
User                    
User_233               3.0                       NaN                     NaN
User_651               NaN                       5.0                     4.0
User_965               4.0                       3.0                     NaN
     ...               ...                       ...                     ...
print(user_ratings_pivot.dropna())
Empty DataFrame
Columns: ["The Great Gatsby", "The Catcher in the Rye", "Fifty Shades of Grey"]
Index: []
Créer des moteurs de recommandation en Python

Remplir les valeurs manquantes

title     The Great Gatsby    The Catcher in the Rye    Fifty Shades of Grey
User                    
User_233               3.0                       NaN                     NaN
User_651               NaN                       5.0                     4.0
User_965               4.0                       3.0                     NaN
     ...               ...                       ...                     ...
print(user_ratings_pivot["User_651"].fillna(0))
User_651               0.0                       5.0                     4.0
Créer des moteurs de recommandation en Python

Remplir les valeurs manquantes

Créer des moteurs de recommandation en Python

Remplir les valeurs manquantes

avg_ratings = user_ratings_pivot.mean(axis=1)

user_ratings_pivot = user_ratings_pivot.sub(avg_ratings, axis=0)
print(user_ratings_pivot)
title     The Great Gatsby    The Catcher in the Rye    Fifty Shades of Grey
User                    
User_233               0.0                       NaN                     NaN
User_651               NaN                       0.5                    -0.5
User_965               0.5                      -0.5                     NaN
     ...               ...                       ...                     ...

Créer des moteurs de recommandation en Python

Remplir les valeurs manquantes

user_ratings_pivot.fillna(0)
title     The Great Gatsby    The Catcher in the Rye    Fifty Shades of Grey
User                    
User_233               0.0                       0.0                     0.0
User_651               0.0                       0.5                    -0.5
User_965               0.5                      -0.5                     0.0
     ...               ...                       ...                     ...

Créer des moteurs de recommandation en Python

Passons à la pratique !

Créer des moteurs de recommandation en Python

Preparing Video For Download...