본문 바로가기

추천시스템 프로젝트(DACOS)

3주차 - 주제 결정 및 데이터셋 선정

 

 

1~2주차 진행상황:

Python을 이용한 개인화 추천시스템 (인프런) 강좌 수강 후 코드 리뷰

     > 영화 리뷰 데이터셋 사용

     > 해당 데이터셋을 기반으로 한 다양한 개인별 추천 전략 학습

 

 

 

[주제 결정 : 최신 도서 추천 시스템]

 

 

[주제 결정 이유]

- 추천시스템 모델을 구축하려면 필요한 특정 개인을 식별 가능한(고유 번호, ID 등) 기록을 모아둔 데이터가 인터넷 상에 많지 않음

- 이전 도서 평가 데이터를 기반으로 최신 인기 있는 책을 타겟 삼아 추천을 하고자 함.

 

[데이터셋 선정]

 

1) Book-Crossing: User review ratings (479. 94MB)

 

구성:

사용자 정보( 거주지, 나이)

 

 

+ 책 관련 정보( ISBN, 제목, 저자, 출판연도, 출판사 )

 

+ 사용자가 준 평점

 

 

선정 이유:

링크:

Book-Crossing: User review ratings (kaggle.com)

 

 

2) Top 100 Bestselling Book Reviews on Amazon 

 

구성: 랭킹(1~200), 제목, 가격, 평점, 저자, 출판연도, 장르, URL

 

Top 100 Bestselling Book Reviews on Amazon (kaggle.com)

 

 

[전처리 방향]

 

1) Book-Crossing: User review ratings

 

평점:

평점 컬럼 대부분인 0임 > 다른 사용자가 평점을 남긴 기록이 없다는 의미로 해석

평점이 존재하는가에 대한 true, false 컬럼 추가하고, 8~10 사이의 평점이 있는 컬럼만 평점이 높은 범주형 변수로 다룰 예정

 

지역:

'/' 를 기준으로 국가 단위까지만 이용

 

책 장르를 나타내는 attribute가 따로 없음

> ISBN을 이용

 

ISBN이란? International Standard Book Number / 국제 표준 도서 번호

- ISBN에 있는 항목 번호 중 첫자리가 도서 분류 번호이므로 구체적인 장르를 알 수는 없지만, 대략적인 분류를 알 수는 있다

 

저자명, 숫자 간 대소의 상관관계가 없는 변수들에 대해서는 전처리 방법 추가적인 논의 필요

 

2) Top 100 Bestselling Book 

 

장르: 1과 유사한 형식의 분류 필요

2번 데이터셋의 장르를 보고 1을 전처리한 내용 분류에 맞게 전처리된 새로운 컬럼 추가 예정

 

 

 

[다음 주차 논의사항]

 

- 구체적인 전처리 방향 논의

- 제목 등을 분석하는 자연어 처리가 필요할 지 논의

- 각 컬럼에 대한 벡터화 후 결합하는 방법 논의

- 추가적인 데이터셋 탐색