Filtrare colaborativă

Construirea motoarelor de recomandare în Python

Rob O'Callaghan

Director of Data

Filtrare colaborativă

Construirea motoarelor de recomandare în Python

Filtrare colaborativă

Construirea motoarelor de recomandare în Python

Filtrare colaborativă

Construirea motoarelor de recomandare în Python

Găsirea utilizatorilor similari

Construirea motoarelor de recomandare în Python

Găsirea utilizatorilor similari

Construirea motoarelor de recomandare în Python

Lucrul cu date reale

DataFrame user_ratings:

Utilizator Carte Evaluare
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
... ... ...
Construirea motoarelor de recomandare în Python

Pivotarea datelor

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
     ...               ...                       ...                     ...
Construirea motoarelor de recomandare în Python

Raritatea datelor

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: []
Construirea motoarelor de recomandare în Python

Completarea valorilor lipsă

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
Construirea motoarelor de recomandare în Python

Completarea valorilor lipsă

Construirea motoarelor de recomandare în Python

Completarea valorilor lipsă

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
     ...               ...                       ...                     ...

Construirea motoarelor de recomandare în Python

Completarea valorilor lipsă

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
     ...               ...                       ...                     ...

Construirea motoarelor de recomandare în Python

Să exersăm!

Construirea motoarelor de recomandare în Python

Preparing Video For Download...