1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 추천 엔진 만들기

Connected

연습 문제

불완전한 데이터 보정하기

대부분의 데이터셋에서 대다수 사용자는 소수의 항목에만 평점을 남깁니다. 이전 연습 문제에서 보셨듯이, 특정 항목에 대한 평점이 없는 사용자를 어떻게 처리하느냐에 따라 모델의 타당성이 크게 달라질 수 있어요.

이 연습에서는, 이미 보유한 데이터를 편향시키지 않는 정보를 사용해 결측값을 채울 거예요.

먼저 각 사용자가 남긴 모든 평점의 평균을 구한 뒤, 이 평균을 사용해 사용자의 평점을 0을 중심으로 정규화(센터링)합니다. 마지막으로 비어 있는 값을 0으로 채웁니다. 이제 0은 중립적인 점수이므로 전체 프로필에 미치는 영향을 최소화하면서도 사용자 간 비교는 가능해집니다.

사용자당 한 행으로 구성된 user_ratings_table이 로드되어 있습니다.

지침

100 XP
  • user_ratings_table에서 사용자별 평점의 평균을 구해 avg_ratings로 저장하세요.
  • 각 행에서 해당 행의 평균을 빼서 user_ratings_table_centered에 저장하세요.
  • 새로 만든 user_ratings_table_centered의 비어 있는 값을 0으로 채우세요.