목록Data/Recommender System (6)
우노
Tensor 란? Tensor 란, d 차원의 배열을 의미한다. d 가 1 이라면, First Order Tensor 이며, 이는 Vector 라고 불린다. d 가 2 라면, Second Order Tensor 이며, 이는 Matrix 라고 불린다. d 가 3 이라면, Third Order Tensor 이며, 이는 Tensor 라고 불린다. Tensor Decomposition 이란? 우리 주위에는 아주 다양한 Tensor 데이터들이 존재한다. 추천 시스템 영화 추천, 친구 추천, 쇼핑 추천 등 예를 들어, x 축은 사람, y 축은 영화, z 축은 시간, value 는 평점으로 이루어진 어떤 사람이 어떤 영화에 어떤 시간에 어떤 평점을 주었는지에 대한 정보를 담고 있는 Tensor 가 있을 수 있다. 데..
MovieLens 데이터 영화 평점 데이터셋 크기별로 다양하게 존재 : 100K, 1M, 10M, 20M 실습에서 사용할 데이터셋 : 100K https://grouplens.org/datasets/movielens/ 데이터 준비 ml-100k.zip 파일을 받아서 적절한 위치에 압축풀기 Pytorch 사용하기 필요한 모듈 import 하기 import torch import pandas as pd import torch.nn.functional as F import matplotlib.pyplot as plt 파일 불러오기 Pandas를 이용하여 파일 불러오기 train = pd.read_csv("../ds_data/ml-100k/ua.base", sep="\t", names=['user'..
별점 예측 부분에서 Collaborative filtering보다 동작을 잘하는게 Latent Factor Model이다. 하지만 단점이 존재한다. Collaborative filtering은 근거를 댈 수 있지만 Latent Factor Model은 근거를 댈 수 없다. Latent Factor Model Latent Factor Model은 사용자와 아이템을, 잠재적인 차원(Factor)들을 사용해 나타낼 수 있다고 보는 모델이다. 여기서 차원은 축과 같은 의미로 사용될 수 있다. 예를 들어, 위 그림처럼 x 축을 남성향, 여성향의 정도로 표현하고 y 축을 웃기고, 심각함의 정도로 표현할 수 있다면 사용자와 아이템은 적절한 x, y축 값에 매핑 된다는 것이다. 길동 = ( -3.1, -4.2 ) 테넷..
영화 평점 데이터셋 https://www.kaggle.com/rounakbanik/the-movies-dataset Kaggle에서 notebook 환경 제공 데이터셋 정보 ratings.csv : 평점데이터 ratings_small.csv : 평점데이터 (작은버전) keywords.csv : 영화 키워드 데이터 movies_metadata.csv : 영화 정보 데이터 credits.csv : 영화 제작 정보 links.csv : imdb와 tmdb에서의 영화 id 정보 links_small.csv : imdb와 tmdb에서의 영화 id 정보 (작은버전) 목표 The Movies Data를 이용하여 비슷한 영화 찾기 순서 Pandas를 이용하여 데이터 불러오기 Pandas를 이용하여 데이터 정제하기 Py..
추천 시스템 사용자가 아직 보지 않은 드라마에 대한 사용자의 예상 별점을 알 수 있다면? 추천 시스템의 성능이 좋아진다. 사용자에게 예상 별점이 높은 드라마를 추천 해주면 되기 때문이다. 별점 예측 방법 Collaborative Filtering 고전적이지만 지금까지 잘 사용되고 있는 방법 중 하나이다. 통계적인 방법이므로 연산이 빠른 대신 정확도는 조금 떨어진다. 다음 두 가지 방법으로 사용된다. Item-Item Collaborative Filtering User-User Collaborative Filtering Hyprid Methods Collaborative Filtering의 단점을 보완하는 방법 중 하나이다. Latent Factor Model Matrix Factorization을 활용해..
유사도 (Similarity) 드라마를 예시로 들었을 때, 두 드라마의 유사도를 어떻게 측정할 수 있을까? 장르나 키워드가 비슷하면 비슷하다. ( 자카드 유사도 ) 보이스 (범죄, 스릴러, 다크, 서스펜스) 터널 (스릴러, 다크, 서스펜스) 사람들의 평가가 비슷하면 비슷하다. ( 평가 유사도 ) 사람 1의 영화1 평가 (0.5점) 사람 2의 영화2 평가 (0.6점) 자카드 유사도 (Jaccard Similarity) 자카드 유사도 키워드를 통해 두 집합이 얼마나 비슷한지를 측정 분자 두 집합의 교집합을 뽑는다. 분모 두 집합의 합집합을 뽑는다. 집합의 사이즈가 커지면 커질수록 패널티를 먹는다. 예제 보이스 (범죄, 스릴러, 다크, 서스펜스) 터널 (스릴러, 다크, 서스펜스) 교집합 / 합집합 = 3/4 ..