내가 재밌게 본 영화와 비슷한 영화를 찾기 위한 영화 추천 프로그램을 만들어 보았다.
https://www.kaggle.com/rounakbanik/the-movies-dataset 여기서 제공하는 데이터셋을 사용했다. 이 데이터셋은 45000개의 영화에 대해서 270000명의 사람들이 총 2600만개의 평가를 내린 데이터셋이다.
그중 45000개의 영화 정보가 담긴 movies_metadata.csv 파일과 2600만개의 평가 정보가 담긴 ratings.csv 파일 사용
=> ratings.csv파일은 데이터가 너무 커서 RAM 부족으로 프로그램이 꺼지는 현상 발생(12GB를 무료로 제공하는 colab에서도 마찬가지) 따라서 ratings의 축소판인 ratings_small.csv 파일로 대체!
영화간의 유사도를 판단하기 위한 척도로써 피어슨 상관계수(Pearson Correlation Coefficient ,PCC)를 사용!
피어슨 상관계수는 양의 선형관계를 가질때 최대 +1의 값을 갖고 음의 선형관계일때 최소 -1의 값을 갖는다.
이 예제에서는 두 영화에 대한 평가가 같을수록 양의 선형관계를 갖게 된다. (x축, y축이 각각 A영화에 대한 평가값, B영화에 대한 평가값이 된다고 볼 수 있음)
또한 비교하고자 하는 두 영화의 겹치는 장르가 많을수록 상관관계가 높아지도록 조율하였다.
이러한 간단한 계산을 통해 유사점수가 높은 영화 n개를 반환하여 보여준다.
파이썬의 경우 pandas의 dataframe을 print하면 '...'으로 생략된 형태로 출력되기 때문에 tabulate 라이브러리를 사용하면 가독성 좋게 아래 사진과 같이 출력할 수 있다.
AWS EC2 서버 만들기(#ubuntu #apache #flask) (2) | 2022.04.03 |
---|---|
AWS EC2 서버 만들기(#ubuntu #apache #tomcat) (0) | 2022.02.11 |
지능형 로봇 조작 프로젝트 (0) | 2021.10.02 |
미니 스튜디오 어플 (프로젝트) (0) | 2021.09.28 |
Gazebo 공장 환경 개발 프로젝트 (0) | 2021.09.25 |
댓글 영역