1. 学习
  2. /
  3. 课程
  4. /
  5. Python으로 추천 엔진 만들기

Connected

练习

모든 영화를 한 번에 비교하기

데이터셋에서 임의의 두 영화 간 Jaccard 유사도를 구하는 방식은 소규모 분석에는 유용하지만, 더 큰 데이터셋에서 추천을 만들 때는 속도가 느려질 수 있어요.

이번 연습에서는 모든 영화 간 유사도를 구해, 빠르고 쉽게 조회할 수 있도록 DataFrame에 저장해 보겠습니다.

DataFrame의 행들 사이 유사도를 구할 때 모든 쌍을 개별적으로 순회하며 계산할 수도 있지만, scipy의 pdist()(pairwise distance) 함수를 사용하는 편이 더 효율적이에요.

같은 라이브러리의 squareform()을 이용해 원하는 직사각형 형태로 변환할 수 있어요. 그리고 우리는 거리(distance)가 아닌 유사도(similarity)가 필요하므로, 값을 1에서 빼서 유사도로 변환해야 해요.

movie_cross_table은 이미 불러와 두었습니다.

说明

100 XP
  • 모든 영화 간 Jaccard 거리 값을 계산해 jaccard_similarity_array에 할당하세요.
  • jaccard_similarity_array로부터 DataFrame을 만들고, 행과 열 이름은 movie_genre_df.index를 사용하세요.
  • DataFrame의 상위 5개 행을 출력하고 유사도 점수를 살펴보세요.