시작하기무료로 시작하기

추천 함수

이번 연습에서는 강의와 이전 연습에서 다룬 추천 함수 get_recommendations()을 만들어 보겠습니다. 이 함수는 제목, 코사인 유사도 행렬, 그리고 영화 제목과 인덱스 매핑을 인자로 받아, 원래 제목과 가장 유사한 10개의 제목 목록을 반환합니다(자기 자신은 제외).

영화 제목과 개요로 구성된 metadata 데이터셋이 제공되어 있습니다. 이 데이터셋의 head가 콘솔에 출력되어 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 NLP 피처 엔지니어링

강의 보기

연습 안내

  • indicestitle 키를 사용하여 주어진 제목과 일치하는 영화의 인덱스를 가져오세요.
  • 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]
코드 편집 및 실행