행렬의 희소도
현실 세계의 평점 데이터에서는 대부분의 사용자가 대부분의 항목에 평점을 남기지 않고, 대부분의 항목도 일부 사용자에게만 평점이 매겨지는 경우가 많아요. 그 결과 DataFrame이 매우 비거나, 즉 희소(sparse)해져요.
이번 연습 문제에서는 movie_lens 평점 데이터에서 값이 채워진 셀의 수를 세고, 전체 DataFrame 크기와 비교하여 얼마나 희소한지 계산해 보려고 해요.
이전에 사용했던 사용자당 하나의 행과 영화당 하나의 열을 가진 DataFrame user_ratings_df가 이미 로드되어 있어요.
이 연습은 강의의 일부입니다
Python으로 추천 엔진 만들기
연습 안내
user_ratings_df에서 비어 있지 않은 셀의 개수를 세어sparsity_count로 저장하세요.user_ratings_dfDataFrame의 전체 셀 개수를 세어full_count로 저장하세요.- 비어 있지 않은 셀의 수를 전체 셀 수로 나눠 DataFrame의 희소도를 계산하고 결과를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Count the occupied cells
sparsity_count = user_ratings_df.____().____.____()
# Count all cells
full_count = user_ratings_df.____
# Find the sparsity of the DataFrame
sparsity = ____ / ____
print(sparsity)