시작하기무료로 시작하기

데이터 정규화하기

특이값 분해(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))
코드 편집 및 실행