추천이 타당해 보이나요
이제 모델 성능을 어느 정도 파악했고, 사용자의 관심사에 맞는 추천을 제공할 수 있다는 확신도 생겼으니, 실제로 특정 사용자에게 제공된 추천을 살펴보고 타당한지 확인해 보겠습니다.
원본 평점 데이터는 original_ratings로 제공됩니다. 사용자 60과 사용자 63의 원본 평점을 확인하고, ALS가 이들에게 추천한 항목과 비교해 보세요. 추천이 이들의 기존 선호와 일관된가요?
이 연습은 강의의 일부입니다
PySpark로 추천 엔진 만들기
연습 안내
original_ratings데이터프레임에서.filter()를 사용해col("userId")가60과 같은 행만 선택해 사용자 60의 원본 평점을 확인하세요. 그런 다음.sort()메서드를 호출해rating기준으로 정렬하고, 가장 높은 평점이 먼저 보이도록ascending인수를False로 설정하세요.- 사용자 60의 추천 결과를 확인하려면
recommendations데이터셋에.filter()와.show()메서드를 사용하세요. ALS가 생성한 추천은 기본적으로 userId 기준 내림차순으로 제공되므로, 따로 정렬할 필요가 없습니다. - 사용자 63에 대해서도 동일하게 수행하세요.
- 각 사용자에게 추천된 장르가 원본 평점과 어느 정도 일관성이 있나요?
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Look at user 60's ratings
print("User 60's Ratings:")
original_ratings.filter(col("____") == 60).____("rating", ____ = False).show()
# Look at the movies recommended to user 60
print("User 60s Recommendations:")
____.____(col("userId") == ____).show()
# Look at user 63's ratings
print("User 63's Ratings:")
original_ratings.filter(col("____") == ____).____("rating", ____ = False).show()
# Look at the movies recommended to user 63
print("User 63's Recommendations:")
____.____(col("userId") == ____).show()