TF-IDF로 내 모든 영화를 비교해 보기
TF-IDF 데이터를 활용 가능한 형식으로 정리했으니, 이제 유사도를 계산하고 추천을 만들어 볼 차례예요.
이번에는 TF-IDF 점수(Booleans가 아닌 float)이므로, 항목 간 유사도를 찾기 위해 cosine similarity 지표를 사용해요. 이 연습 문제에서는 모든 영화 쌍의 cosine similarity로 이루어진 행렬을 생성하고, 조회를 쉽게 하도록 DataFrame에 저장해 볼게요. 이렇게 하면 영화를 비교하고 추천을 빠르고 쉽게 찾을 수 있어요.
이전 연습 문제에서 만든, 영화별로 한 행씩 담고 있는 tfidf_df DataFrame이 로드되어 있어요.
이 연습은 강의의 일부입니다
Python으로 추천 엔진 만들기
연습 안내
- 모든 영화 간 cosine similarity를 계산하고 결과를
cosine_similarity_array에 할당하세요. cosine_similarity_array로부터 DataFrame을 만들고, 행과 열 인덱스는tfidf_summary_df.index를 사용하세요.- DataFrame의 상위 5개 행을 출력하고 유사도 점수를 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import cosine_similarity measure
from sklearn.metrics.pairwise import ____
# Create the array of cosine similarity values
cosine_similarity_array = ____(tfidf_summary_df)
# Wrap the array in a pandas DataFrame
cosine_similarity_df = pd.____(cosine_similarity_array, ____=____.____, ____=____.____)
# Print the top 5 rows of the DataFrame
print(cosine_similarity_df.head())