Gestire la sparsità

Creare motori di raccomandazione in Python

Rob O'Callaghan

Director of Data

Matrici sparse

Matrice piccola non sparsa

Creare motori di raccomandazione in Python

Matrici sparse

Matrice piccola non sparsa e grande matrice sparsa

Creare motori di raccomandazione in Python

Matrici sparse

Matrice piccola non sparsa e grande matrice sparsa

Creare motori di raccomandazione in Python

Misurare la sparsità

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
     ...               ...                       ...                     ...
Creare motori di raccomandazione in Python

Misurare la sparsità

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
Creare motori di raccomandazione in Python

Perché la sparsità conta

Grande matrice sparsa

Creare motori di raccomandazione in Python

Perché la sparsità conta

Grande matrice sparsa con cella vuota evidenziata

Creare motori di raccomandazione in Python

Perché la sparsità conta

Grande matrice sparsa con i vicini popolati più vicini evidenziati

Creare motori di raccomandazione in Python

Perché la sparsità conta

Grande matrice sparsa con i vicini popolati più vicini evidenziati

Creare motori di raccomandazione in Python

Misurare la sparsità per colonna

user_ratings_df.notnull().sum()
The Pelican Brief                           1
Snow Crash                                  1
The Great Gatsby                           12
Fifty Shades of Grey                        9
Leviathan                                   1
                                           ..
Creare motori di raccomandazione in Python

Fattorizzazione di matrici

Grande matrice sparsa

Creare motori di raccomandazione in Python

Fattorizzazione di matrici

Grande matrice sparsa accanto ai suoi fattori

Creare motori di raccomandazione in Python

Fattorizzazione di matrici

Grande matrice sparsa accanto ai suoi fattori e a una grande matrice riempita

Creare motori di raccomandazione in Python

Moltiplicazione di matrici

Due matrici rettangolari

Creare motori di raccomandazione in Python

Moltiplicazione di matrici

Due matrici rettangolari

Creare motori di raccomandazione in Python

Moltiplicazione di matrici

Due matrici rettangolari

Creare motori di raccomandazione in Python

Moltiplicazione di matrici

Due matrici rettangolari

Creare motori di raccomandazione in Python

Moltiplicazione di matrici

Due matrici rettangolari accanto a una matrice più grande che è il loro prodotto

Creare motori di raccomandazione in Python

Moltiplicazione di matrici

print(matrix_x)
[[4, 1], 
 [2, 2], 
 [3, 3]]
print(matrix_b)
[[1, 0, 4], 
 [0, 1, 6]]
Creare motori di raccomandazione in Python

Moltiplicazione di matrici

import numpy as np

dot_product = np.dot(matrix_x, matrix_b)
print(dot_product)
[[ 4  1 22]
 [ 2  2 20]
 [ 3  3 30]]
Creare motori di raccomandazione in Python

Passons à la pratique !

Creare motori di raccomandazione in Python

Preparing Video For Download...