목록Recommendation (10)
내가 보려고 만든 블로그
MF 랑 Biased_MF 구현하였다. 1. 토치로 구현하였고 옵티마이저는 Adam 사용, ALS는 나중에 2. 특별한건없구 Biased_MF의 경우 구현할때 biased 텐서를 유저, 아이템 각각에 대해 생성해주고 만들어진 Reconstruction 에 더해주는 방법으로 쉽게 구현할수 있다. 코드는 요기 https://github.com/todtjs92/Search_and_Recommendation/tree/master/MF
Collaborative Filtering , 너무 유명한 모델이라 자세한 설명은 생략. 코드 구현은 깃에 올려둠 https://github.com/todtjs92/Search_and_Recommendation/tree/master/basic_cf 1. 데이터셋은 네이버 영화 데이터셋으로 했고 용량이커서 따로 구글드라이브 링크 올려둠. 2. 구현은 numpy로 했고 , user_mean으로 정규화 하는 방식으로 구현하였음. 3. Item Cf는 Transpose한 형태라 패스하였음.
추천에서 나름 유명한 프레임웤인 Surprise. 토치로 구현하느라 많이 써보진 않았는데 어쩌다 사용할 기회가 생겨 모듈들 간단하게 정리해봄. surprise.Dataset.load_from_file(file_path , reader=reader) surprise.Reader 토치의 Dataloader 같은 클래스임. args 에 reader가 들어가는데 아래처럼 surprise.Reader 에 데이터 형태에 맞춰서 line_format에 넣주면 알아서 파싱해준다. reader = Reader(line_format='user item rating timestamp', sep=',', skip_lines=1) ratingsDataset = Dataset.load_from_file(self.ratingsP..
추천시스템에서 등장하는 Metric 정리 . Precision , Recall , NDCG , Coverage , Diversity , Novelty , Churn , Responsiveness, HR ( Hit Rate) , ARHR , CHR , rHR 까지 논문에 자주 보이던 Metric 뜻 알아보기 Precision & Recall 항상 헷갈리는 Precision 과 Recall 예시로 들어야 쉽다. 모델이 A ,B ,C ,D , E 라는 아이템을 추천했다고 했을때 User가 실제로 선호한 상품은 A,B,C,F 라고 하자. 이 때 Precision 은 전체 5개 상품중에 3개를 선호했으니 3/5 -> 0.6 이 된다 Recall 은 유저가 선호한 상품 4개(A,B,C,F) 에서 실제 모델이 추천한..