비슷하게 선호된 영화 찾기
두 영화 간의 유사도를 계산했던 것처럼, 모든 사용자를 기준으로 유사도를 계산해 사용자들의 평점 패턴이 가장 비슷한 영화를 찾을 수 있어요.
이 방법은 콘텐츠 기반 필터링을 다룰 때와 유사해요.
먼저 모든 영화 쌍의 유사도 점수를 계산한 다음, 관심 있는 영화에 해당하는 열을 추려내어 정렬해 유사한 영화를 확인해요.
movie_ratings_centered가 다시 로드되어 있으며, 각 영화가 행으로 있고 중심화된 평점이 값으로 저장되어 있어요.
이 연습은 강의의 일부입니다
Python으로 추천 엔진 만들기
연습 안내
movie_ratings_centered의 모든 영화 간 유사도 행렬을 계산해 similarities로 저장하세요.similarities행렬을 DataFrame으로 감싸고, 열과 행 인덱스로movie_ratings_centered의 인덱스를 사용하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
from sklearn.metrics.pairwise import cosine_similarity
# Generate the similarity matrix
similarities = ____(____)
# Wrap the similarities in a DataFrame
cosine_similarity_df = ____.____(____, index=____.____, columns=____.____)
# Find the similarity values for a specific movie
cosine_similarity_series = cosine_similarity_df.loc['Star Wars: Episode IV - A New Hope (1977)']
# Sort these values highest to lowest
ordered_similarities = cosine_similarity_series.sort_values(ascending=False)
print(ordered_similarities)