Top

R로 만드는 추천 시스템 [고객의 취향을 예측하는 추천 시스템 만들기]

  • 원서명Building a Recommendation System with R (ISBN 9781783554492)
  • 지은이수레시 고라칼라(Suresh K. Gorakala), 미셸 우수엘리(Michele Usuelli)
  • 옮긴이김동섭, 윤병도, 김현돈, 박정현
  • ISBN : 9791161750309
  • 18,000원
  • 2017년 07월 31일 펴냄
  • 페이퍼백 | 196쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

넷플릭스, 애플 뮤직, 아마존은 어떻게 나의 취향을 정확히 파악했을까? 빅데이터 시대에 들어서 기업들은 날로 정교하게 고객의 취향을 파악하려 노력한다. 정보의 홍수 속에 고객이 원하는 것을 가장 빠르고 쉽게 찾게끔 돕는 것은 이제 선택이 아니라 필수가 됐다. 이 책은 최근 가장 각광받는 언어이자 오픈소스 프로그램인 R을 이용해 추천 시스템을 설명한다. 책을 따라 추천 시스템의 기법, 성능평가, 실제 실습의 과정을 지나고 나면 어느새 아마존이 어떻게 나의 취향을 파악하고 있는지, 우리는 고객에게 어떻게 상품을 추천해줘야 하는지를 차츰 이해하게 될 것이다.

이 책에서 다루는 내용

■ 추천 시스템의 핵심 이해
■ 다양한 데이터 마이닝 기법과 데이터 처리 방법
■ 추천 알고리즘의 최적화 및 평가
■ 추천 모형 설계를 위한 데이터 구조화 등의 준비 작업
■ R의 직접 실행을 통한 추천 시스템 기법별 차이
■ 추천 시스템에 쓰이는 다양한 평가 기법
■ R의 대표적인 추천 시스템 패키지인 recommenderlab에 대한 소개와 고성능의 추천 시스템을 만들기 위한 최적화 방법

이 책의 대상 독자

이 책은 R과 머신 러닝에 대한 배경지식을 가진 사람들을 대상으로 한다. 추천 시스템을 만들어보고 싶었다면 이 책이 적합할 것이다.

이 책의 구성

1장. '추천 시스템 시작하기'에서는 이 책의 구성을 설명하고 추천 시스템의 실제 적용 사례를 알아본다.
2장. '추천 시스템에서 사용되는 데이터 마이닝 기법'에서는 추천 모델을 만드는 데 필요한 R의 기초를 살펴보고 데이터 처리와 머신 러닝 기법들을 알아본다.
3장. '추천 시스템'에서는 많이 사용되는 몇 가지 추천 시스템들을 설명하고 R을 사용해 어떻게 만드는지 알아본다.
4장. '추천 시스템의 평가'에서는 추천 시스템의 성능을 평가하고 최적화하는 방법을 알아본다.
5장. '사례 연구: 나만의 추천 시스템 만들기'에서는 비즈니스 과제를 해결하기 위해 어떻게 추천 시스템을 만들고 최적화하는지 알아본다.

저자/역자 소개

지은이의 말

추천 시스템은 사용자 구매와 선호도를 예측하는 머신 러닝(Machine Learning) 기법이다. 이러한 추천 시스템은 온라인 쇼핑 사이트나 동영상 공유 사이트에 여러 형태로 적용돼 있다. 이 책은 R을 사용해 어떻게 추천 시스템을 만드는지 보여준다. 먼저 추천 시스템에 관련된 데이터 마이닝(Data Mining)과 머신 러닝 개념을 살펴본다. 그런 다음 R을 사용해 추천 모델을 만들고 최적화하는 방법과 가장 많이 사용되는 추천 기법에 대한 개요를 설명한다. 마지막으로, 추천 시스템을 만드는 실용적인 사용 사례를 보여준다. 이 책을 읽고 나면, 자신만의 추천 시스템을 만드는 방법을 알게 될 것이다.

지은이 소개

수레시 고라칼라(Suresh K. Gorakala)

데이터 분석가이자 데이터 마이닝, 빅데이터 분석, 시각화 도구 전문 컨설턴트며 2013년부터 자신의 블로그에 데이터 과학에 관한 글을 쓰고 있는 블로거다(http://www.dataperspective.info).
인도 안드라대학교(Andhra University)의 SRKR 공과대학(SRKR Engineering College)에서 기계공학 학사 학위를 취득했고 데이터 도구 제작과 아이디어 창출, 교육, 사진, 여행을 좋아한다.

미셸 우수엘리(Michele Usuelli)

대용량 데이터 및 머신 러닝 분야의 전문 데이터 과학자이자 작가며, R의 열성적인 팬이다. 현재 2015년 4월 마이크로소프트가 인수한 R 기반 기업인 레볼루션 애널리틱스(Revolution Analytics)에서 근무하고 있다. 수학공학을 전공했으며 과거에는 빅데이터 스타트업과 출판사에서 일했다. 팩트출판사에서 펴낸 『R Machine Learning Essentials』(2014)의 저자이기도 하다.

옮긴이의 말

이 책은 자율형 연구소인 '모두의연구소'에서 추천 시스템을 연구해 얻은 첫 결과물이다. 이 책은 부담 없는 분량으로 추천 시스템 전반에 대한 내용을 포괄적으로 담고 있어 입문자가 보기에 적당하다. 다만, 머신 러닝에 대한 이론에서 저자가 한정된 지면에 많은 내용을 담고자 했기에 어느 정도 배경지식을 필요로 한다는 점을 미리 밝혀둔다. 이 책으로 추천 시스템에 관심을 갖게 됐거나 함께 연구하고 싶다면 '모두의연구소(http://www.modulabs.co.kr)'로 문의해주길 바란다. 현재 2기가 활동 중이며, 필요에 따라 수시로 연구원을 모집하고 있다. /윤병도

이 책은 R로 추천 시스템을 구현해보려 할 때 가장 많이 접하게 되는 recommenderlab 패키지를 사용해 추천 시스템을 구현해보는 아주 간결한 형식의 자습서다. 비록 추천 시스템에 대한 지적 호기심을 한껏 충족시켜주지는 못할지라도, 이론적 배경지식부터 추천 모델의 생성 및 평가, 그리고 학습한 내용을 바탕으로 자신만의 추천 시스템을 만들어보는 사례 연구까지 다루고 있으므로, 추천 시스템에 대한 전체적인 얼개와 흐름을 한눈에 파악할 수 있도록 압축해서 보여주는 것에 의의가 있다고 생각한다. 감히 말하길, 독자 제현들이 이 책을 처음부터 끝까지 차근차근 따라 하다 보면 누구나 쉽고 빠르게 추천 시스템의 기본 개념을 잡을 수 있을 것이다.
/김동섭

오랜 기간 동일한 분야에서 개발 업무를 담당해오다가 매너리즘에 빠진 자신을 발견하고 새로운 분야를 탐색해보고자 모두의연구소 추천 시스템 연구실에 참여하게 됐다. 이 책은 초보자도 R을 이용해 직접 코드를 실행하면서 추천 시스템의 기초를 익힐 수 있게 해준다. 나는 이 책의 3장, ‘추천 시스템’을 번역했다. 필요한 부분만 축약한 이 책의 구성 덕분에 완독하는 데 많은 시간이 걸리지 않을 뿐 아니라 지루해서 읽다 포기하는 일은 결코 없을 것이라 확신한다. 이 책이 추천 시스템을 이해하는 데 조금이라도 도움이 되길 바란다. /김현돈

옮긴이 소개

김동섭

경북대학교에서 지능형 에이전트로 석사 학위를 받았다. 2006년부터 수년간 일본 동경에 있는 ORIX 그룹(ORIX Group), NTT COMWARE, 캐논 마케팅 재팬(Canon Marketing Japan)에서 시스템 분석 및 설계, 개발 업무를 담당했고 현재는 NHN Technology Services에 재직 중이다. 번역서로는 『PHP+MySQL 웹 개발 마스터 북』(남가람북스, 2016)이 있다. 홈페이지(http://www.abreqadhabra.com)를 운영한다.

윤병도

숭실대학교에서 경영학 학사를 취득했으며, 이후 한국방송통신대 정보통계학과에 편입해 통계학과 컴퓨터공학을 수학 중이다. 참좋은여행에서 여행 상품 추천 시스템 모형 설계, 데이터 기반 상품 분석, 고객 정보 통합 업무 등을 담당했고, 현재는 쿠팡 여행사업부에서 분석가로 재직 중이다. 자율형 연구소인 '모두의연구소'에 추천 시스템 연구실을 만들어 운영하고 있다.

김현돈

일본 국비(문부성) 장학생으로 교토대학교(Kyoto University)에서 로봇 청각 시스템으로 박사 학위를 취득했다. 이후 4년간 LG전자 전자기술원 미래IT융합연구소에서 가전 및 휴대폰에 사용되는 음성 인식 시스템의 전처리 기술 연구 및 상용화 개발을 담당했다. 현재는 음성을 이용한 생체 인증과 딥러닝을 사용한 차세대 전파감지기 개발 업무를 맡고 있다.

목차

목차
  • 1장. 추천 시스템 시작하기
    • 추천 시스템의 이해
    • 이 책의 구성
    • 협업 필터링 추천 시스템
    • 콘텐츠 기반 추천 시스템
    • 지식 기반 추천 시스템
    • 하이브리드 시스템
    • 평가 기법
    • 사례 연구
    • 다음 단계
    • 요약

  • 2장. 추천 시스템에서 사용되는 데이터 마이닝 기법
    • 데이터 분석 문제 해결하기
    • 데이터 전처리 기법
      • 유사도 측정
        • 유클리디안 거리
        • 코사인 거리
        • 피어슨 상관 계수
      • 차원 축소
        • 주성분 분석
    • 데이터 마이닝 기법
    • 클러스터링 분석
      • K-평균 클러스터링
        • 서포트 벡터 머신
    • 의사결정 나무
    • 앙상블 기법
      • 배깅
      • 랜덤 포레스트
      • 부스팅
    • 데이터 마이닝 알고리즘 평가
    • 요약

  • 3장. 추천 시스템
    • 추천 시스템을 위한 R 패키지: recommenderlab
      • 데이터 세트
        • Jester5k, MSWeb, MovieLense
      • 평점 매트릭스를 위한 클래스
      • 유사도 매트릭스 계산
      • 추천 모델
    • 데이터 탐구
      • 데이터 특징 탐구
      • 평점 값 탐구
      • 조회된 영화 탐색
      • 평균 평점 탐색
      • 매트릭스 시각화
    • 데이터 준비
      • 가장 적절한 데이터 선택하기
      • 가장 적절한 데이터 탐색
      • 데이터 정규화
      • 데이터 이진화
    • 아이템 기반 협업 필터링
      • 트레이닝 및 테스트 세트 정의
      • 추천 모델 생성
      • 추천 모델 탐색
      • 테스트 세트에 추천 모델 적용
    • 사용자 기반 협업 필터링
      • 추천 모델 생성
      • 테스트 세트에 추천 모델 적용
      • 이진 데이터에 대한 협업 필터링
      • 데이터 준비
      • 이진 데이터에 대한 아이템 기반 협업 필터링
      • 이진 데이터에 대한 사용자 기반 협업 필터링
      • 협업 필터링에 대한 결론
        • 협업 필터링의 한계
    • 콘텐츠 기반 필터링
    • 하이브리드 추천 시스템
    • 지식 기반 추천 시스템
    • 요약

  • 4장. 추천 시스템의 평가
    • 모델 평가를 위한 데이터 준비
      • 데이터 분할
      • 데이터 부트스트랩
      • k-fold를 사용해 모델 확인
    • 추천 결과 평가
      • 예측 평점 평가
      • 추천 결과 평가
    • 가장 적합한 모델 식별
      • 모델 비교
      • 가장 적합한 모델 식별
      • 매개변수 최적화
    • 요약

  • 5장. 사례 연구: 나만의 추천 시스템 만들기
    • 데이터 준비하기
      • 데이터에 대한 설명
      • 데이터 불러오기
      • 평점 매트릭스 정의하기
      • 아이템 속성 추출하기
    • 모델 만들기
    • 모델 평가 및 최적화
      • 모델을 평가하는 함수 만들기
      • 모델 매개변수 최적화
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.102 : 2행]
IBCF와 비교할 때 분포도의 꼬리가 길다. 즉, 다른 영화들보다 훨씬 더 자주 추천되는 영화가 있음을 의미한다.
->
영화 대부분은 단 몇 번만 추천됐으며 몇 편의 영화는 추천 횟수가 많았다. 가장 인기있는 영화가 무엇인지 확인해본다.

[p.108 : 2행]
IBCF와 비교할 때 분포도의 꼬리가 길다. 즉, 다른 영화들보다 훨씬 더 자주 추천되는 영화가 있음을 의미한다. 최댓값은 29며 IBCF는 11로서 대비된다.
->
IBCF와 비교할 때 분포도의 꼬리가 길다. 즉, 다른 영화들보다 훨씬 더 자주 추천되는 영화가 있음을 의미한다.
(*삭제: 최대값은 29이며 IBCF는 11로서 대비된다.)