데이터 정규화하기
특이값 분해(Singular Value Decomposition)를 사용해 평점 행렬의 요인을 찾기 전에, 각 행의 평균을 그 행의 각 값에서 빼는 방식으로 "de-mean"(중심화)해야 해요.
이 연습 문제에서는 지금까지 사용해 온 영화 평점 DataFrame을 특이값 분해를 수행할 수 있도록 전처리하기 시작해 볼 거예요.
user_ratings_df에는 사용자별로 한 행, 영화별로 한 열이 있으며 이미 로드되어 있어요.
이 연습은 강의의 일부입니다
Python으로 추천 엔진 만들기
연습 안내
- 각 사용자가 본 모든 영화에 대해 준 평균 평점을 구해
avg_ratings로 저장하세요. - 각 행의 평균을 해당 행에서 빼고, 결과를
user_ratings_centered로 저장하세요. - 마지막으로
user_ratings_centered의 모든 결측값을 0으로 채우세요. - 각 열의 평균을 출력해
user_ratings_centered가 중심화되었음을 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Get the average rating for each user
avg_ratings = user_ratings_df.____(axis=1)
# Center each user's ratings around 0
user_ratings_centered = user_ratings_df.____(____, axis=1)
# Fill in all missing values with 0s
user_ratings_centered.____(0, inplace=True)
# Print the mean of each column
print(user_ratings_centered.____(axis=1))