추천 함수
이번 연습에서는 강의와 이전 연습에서 다룬 추천 함수 get_recommendations()을 만들어 보겠습니다. 이 함수는 제목, 코사인 유사도 행렬, 그리고 영화 제목과 인덱스 매핑을 인자로 받아, 원래 제목과 가장 유사한 10개의 제목 목록을 반환합니다(자기 자신은 제외).
영화 제목과 개요로 구성된 metadata 데이터셋이 제공되어 있습니다. 이 데이터셋의 head가 콘솔에 출력되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 NLP 피처 엔지니어링
연습 안내
indices의title키를 사용하여 주어진 제목과 일치하는 영화의 인덱스를 가져오세요.sim_scores에서 가장 유사한 10편의 영화를 추출하여sim_scores에 다시 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Generate mapping between titles and index
indices = pd.Series(metadata.index, index=metadata['title']).drop_duplicates()
def get_recommendations(title, cosine_sim, indices):
# Get index of movie that matches title
idx = ____[____]
# Sort the movies based on the similarity scores
sim_scores = list(enumerate(cosine_sim[idx]))
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
# Get the scores for 10 most similar movies
sim_scores = sim_scores[____]
# Get the movie indices
movie_indices = [i[0] for i in sim_scores]
# Return the top 10 most similar movies
return metadata['title'].iloc[movie_indices]