희소성 다루기

Python으로 추천 엔진 만들기

Rob O'Callaghan

Director of Data

희소 행렬

희소하지 않은 작은 행렬

Python으로 추천 엔진 만들기

희소 행렬

희소하지 않은 작은 행렬과 큰 희소 행렬

Python으로 추천 엔진 만들기

희소 행렬

희소하지 않은 작은 행렬과 큰 희소 행렬

Python으로 추천 엔진 만들기

희소성 측정

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
     ...               ...                       ...                     ...
Python으로 추천 엔진 만들기

희소성 측정

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
Python으로 추천 엔진 만들기

희소성이 중요한 이유

큰 희소 행렬

Python으로 추천 엔진 만들기

희소성이 중요한 이유

비어 있는 셀이 강조된 큰 희소 행렬

Python으로 추천 엔진 만들기

희소성이 중요한 이유

가장 가까운 채워진 이웃이 표시된 큰 희소 행렬

Python으로 추천 엔진 만들기

희소성이 중요한 이유

가장 가까운 채워진 이웃이 표시된 큰 희소 행렬

Python으로 추천 엔진 만들기

열별 희소성 측정

user_ratings_df.notnull().sum()
The Pelican Brief                           1
Snow Crash                                  1
The Great Gatsby                           12
Fifty Shades of Grey                        9
Leviathan                                   1
                                           ..
Python으로 추천 엔진 만들기

행렬 분해

큰 희소 행렬

Python으로 추천 엔진 만들기

행렬 분해

큰 희소 행렬과 그 인수들

Python으로 추천 엔진 만들기

행렬 분해

큰 희소 행렬, 그 인수들, 그리고 채워진 큰 행렬

Python으로 추천 엔진 만들기

행렬 곱셈

두 개의 직사각형 행렬

Python으로 추천 엔진 만들기

행렬 곱셈

두 개의 직사각형 행렬

Python으로 추천 엔진 만들기

행렬 곱셈

두 개의 직사각형 행렬

Python으로 추천 엔진 만들기

행렬 곱셈

두 개의 직사각형 행렬

Python으로 추천 엔진 만들기

행렬 곱셈

두 직사각형 행렬과 그 곱으로 된 더 큰 행렬

Python으로 추천 엔진 만들기

행렬 곱셈

print(matrix_x)
[[4, 1], 
 [2, 2], 
 [3, 3]]
print(matrix_b)
[[1, 0, 4], 
 [0, 1, 6]]
Python으로 추천 엔진 만들기

행렬 곱셈

import numpy as np

dot_product = np.dot(matrix_x, matrix_b)
print(dot_product)
[[ 4  1 22]
 [ 2  2 20]
 [ 3  3 30]]
Python으로 추천 엔진 만들기

연습해 봅시다!

Python으로 추천 엔진 만들기

Preparing Video For Download...