Gérer la parcimonie

Créer des moteurs de recommandation en Python

Rob O'Callaghan

Director of Data

Matrices creuses

Petite matrice non parcimonieuse

Créer des moteurs de recommandation en Python

Matrices creuses

Petite matrice non parcimonieuse et grande matrice creuse

Créer des moteurs de recommandation en Python

Matrices creuses

Petite matrice non parcimonieuse et grande matrice creuse

Créer des moteurs de recommandation en Python

Mesurer la parcimonie

print(book_rating_df)
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

Mesurer la parcimonie

number_of_empty = book_ratings_df.isnull().values.sum()

total_number = user_ratings_df.size
sparsity = number_of_empty/total_number
print(sparsity)
0.0114
Créer des moteurs de recommandation en Python

Pourquoi la parcimonie compte

Grande matrice creuse

Créer des moteurs de recommandation en Python

Pourquoi la parcimonie compte

Grande matrice creuse avec cellule vide mise en évidence

Créer des moteurs de recommandation en Python

Pourquoi la parcimonie compte

Grande matrice creuse avec voisins renseignés les plus proches mis en évidence

Créer des moteurs de recommandation en Python

Pourquoi la parcimonie compte

Grande matrice creuse avec voisins renseignés les plus proches mis en évidence

Créer des moteurs de recommandation en Python

Mesurer la parcimonie par colonne

user_ratings_df.notnull().sum()
The Pelican Brief                           1
Snow Crash                                  1
The Great Gatsby                           12
Fifty Shades of Grey                        9
Leviathan                                   1
                                           ..
Créer des moteurs de recommandation en Python

Factorisation de matrice

Grande matrice creuse

Créer des moteurs de recommandation en Python

Factorisation de matrice

Grande matrice creuse à côté de ses facteurs

Créer des moteurs de recommandation en Python

Factorisation de matrice

Grande matrice creuse à côté de ses facteurs et d'une grande matrice complétée

Créer des moteurs de recommandation en Python

Multiplication de matrices

Deux matrices rectangulaires

Créer des moteurs de recommandation en Python

Multiplication de matrices

Deux matrices rectangulaires

Créer des moteurs de recommandation en Python

Multiplication de matrices

Deux matrices rectangulaires

Créer des moteurs de recommandation en Python

Multiplication de matrices

Deux matrices rectangulaires

Créer des moteurs de recommandation en Python

Multiplication de matrices

Deux matrices rectangulaires à côté d'une grande matrice qui est leur produit

Créer des moteurs de recommandation en Python

Multiplication de matrices

print(matrix_x)
[[4, 1], 
 [2, 2], 
 [3, 3]]
print(matrix_b)
[[1, 0, 4], 
 [0, 1, 6]]
Créer des moteurs de recommandation en Python

Multiplication de matrices

import numpy as np

dot_product = np.dot(matrix_x, matrix_b)
print(dot_product)
[[ 4  1 22]
 [ 2  2 20]
 [ 3  3 30]]
Créer des moteurs de recommandation en Python

Passons à la pratique !

Créer des moteurs de recommandation en Python

Preparing Video For Download...