[리뷰] 모두의 R 데이터 분석



길벗 출판사의 "모두의 R 데이터 분석(김도연 저)"를 읽고 작성한 리뷰입니다.

표지


본 도서는 R과 통계를 모르는 입문자들도 쉽게 데이터 분석의 세계에 발을 들여 놓을 수 있도록 도와주는 책으로 R의 기초에서 시작하여 비즈니스 실무에 적용할 수 있을 입문 수준의 지식까지 다룬다.

새로운 IT 기술이 등장할 때마다 보통 “모두의 ooo” 시리즈를 즐겨 찾는다. 1999년 PC를 조립하고 컴퓨터 구조를 이해하는데 무작정 따라하기 시리즈의 책이 내게 워낙 강렬한 인상을 남겼기에 길벗 출판사 책은 믿고 즐겨보는데 몇년 전 부터는 모두의 시리즈 책이 큰 도움이 되고 있다. 대표적으로 알파고 등장 당시 딥러닝 입문에 큰 도움을 받았던 모두의 딥러닝을 예로 들 수 있다.

프로그래머로 십여년 간 활동을 했기에 상대적으로 Python에는 친숙하지만 R과는 약간 거리가 있었다. 마침 R 데이터 분석이 모두의 시리즈로 등장하였기에 R의 기초를 정리해보고 부족한 부분을 채우고자 본 도서를 읽게 되었다.

전체적인 총평을 먼저 내리자면 모두의 시리즈 답게 매우 만족스러웠고, 책 말미에 언급된 저자가 표현한 가장 쉽게 핵심만이라는 구절과 전체 내용이 일맥 상통했다. AI 및 데이터 분석에 관심이 많은 나로써는 집에 R과 관련된 책을 10권 이상 구매하여 보고 있는데 그 중 입문서로 가장 뛰어난 책이라는 생각이 든다.

다른 서적과 비교해 볼 때 어떤 입문서는 R 함수를 하나씩 전부 소개하는 책도 있다. 실습할 때는 쉽고 따라하기 좋은데 전체 프로젝트를 수행할 땐 파편화된 지식을 엮어내는데 고충을 겪는다.

또 어떤 책은 깊은 통계와 수식이 난무한다. 일정 수준 이상 오르면 그 책은 나름대로의 분명한 가치를 지니겠지만 적어도 입문 서적으로는 정말 도움이 안된다. 읽다보면 숲을 잃고 길을 헤매는 느낌이다.

반면 본 도서는 정말 당장 필요한 것만 알려주는 느낌이 들어 만족스러웠다. 핵심만 다룬다는 것이 어떤 의미인지 각 장별로 간단한 소개를 해볼까 한다.

먼저 1 ~ 5장은 기초 과정이다. R의 개요, 설치, 데이터 분석의 의미, 데이터 구조나 변수 및 함수와 같은 프로그래밍에 필요한 왕초보 지식을 담고 있다. 데이터 분석이나 프로그래밍을 알고 있는 사람이라면 건너뛰어도 좋을 수준인데 앞서 언급했듯 대상 독자를 R을 전혀 모르는 독자를 위해 다루는 부분인 듯 하다. 기초


이어지는 6장 ~ 9장이 핵심이라 할 수 있는데 먼저 6장에는 R에서 가장 많이 활용하는 연산자와 함수, 시각화의 기본 등이 등장한다.

7장은 dplyr 패키지를 집중적으로 다루는데 Tabular 구조의 자료를 처리하기에 적합한 패키지이다. Python에 비유하자면 Pandas 패키지를 학습하는 장이라고 생각하면 되겠고 RDBMS와 관련지어 SQL에 해당하는 파트라고 할 수 있다.

데이터 분석의 가장 핵심이 되는 기본을 다루는데 Outer Join을 비롯 처음 접하면 생소한 개념들을 그림으로 굉장히 쉽게 풀어주는 점이 인상적이었다. 특히 SQL을 어느 정도 알고 있는 사람이라면 해당 부분에 1시간 정도만 투자하면 바로 R로 테이블 형태를 조작하는데 전혀 무리가 없을 것이라는 생각이 든다.

8장은 ggplot2를 이용한 시각화 파트이다. 시각화는 정말 R의 꽃이라고 할 수 있다. Python을 주로 활용하는 나로써는 이 부분이 늘 아쉬운 부분이다. Pandas 또한 R의 데이터프레임을 모방했는데 나름대로 약간의 불편함이 있긴 해도 쓸만하다. 반면 시각화를 위한 ggplot2과 Python을 비교하라면 견줄만한 좋은 라이브러리가 딱히 떠오르지 않는다.

때문에 데이터 분석 결과를 실무에 보고하거나 커뮤니케이션 하기 위한 시각화 부분 만큼은 도출된 자료를 토대로 R을 활용하는 일도 종종있다. 다만 ggplot2의 기능이 워낙 방대하고 시각화에 대한 활용 지식이 받쳐주지 않는 다면 이 또한 사용하기 쉽다고 볼 수는 없는데 그간의 경험을 비추어 볼 때 가장 필요한 부분만 적은 분량으로 요약하고 있어 마음에 들었다.

처음으로 데이터 분석을 접하는 사람이라면 이 책이 핵심과 방향을 잡아주는데 큰 도움이 될 것 같다는 생각이 들었다. 또한 어떤 상황에서 어떤 시각화 자료를 이용하는 것이 좋은 방법인지 잘 요약하고 있어 입문자가 빠르게 ggplot2을 익히는 데 이만한 도서도 없겠다는 생각도 들었다. 시각화

앞서 언급했던 7~8장에서 배운 지식을 활용하면 탐색적 데이터 분석(EDA)를 수행할 수 있고 이 과정에서 눈여겨 볼 만한 가설과 인사이트를 얻어낼 수 있다.


책의 내용 중 가장 마음에 들었던 파트가 지금 소개할 9장 멤버십 기획 프로젝트와 8장 뒷부분의 기초 통계 이론과 통계적 가설 검정 파트이다.

먼저 기초 통계 이론과 통계적 가설 검정 파트를 소개하자면 다음과 같은 내용으로 요약할 수 있다.

  • 기술통계 : 요약, 묘사 ex) 성적 평균 등
  • 추론통계
    • 어떤 일이 일어날지 여부를 확률로 예측하는 기법
    • 표본으로 전체(모집단)의 특성을 추론하는 기법
    • ex) 사고발생 횟수 예측, 신약 유효성 검증 등
  • 평균
  • 편차 : 평균에서 떨어진 정도. 편차를 모두 더하면 0이 되어 평균을 구할 수 없다.
  • 분산 : 편차를 제곱합 / 데이터 개수
  • 표준편차 : 분산에 루트를 취한 것. 진정한 의미의 편차 평균.
  • 정규분포
    • 평균을 중심으로 좌우 대칭 모양을 이루는 분포. 전부 합하면 1.
    • ex) 몸무게, 키, 성적, 수익률 등
    • 평균을 중심으로 (+-1.96*표준편차) 범위 내 약 95%의 데이터가 존재.
    • ex) 평균 66kg 몸무게, 표준편차5 기준 56.2kg ~ 75.8kg 내에 95%의 데이터가 존재.
  • 가설검정
    • 귀무가설(H0) : 평소 사실. 차이가 없다.
    • 대립가설(H1) : 우리의 새로운 주장. 차이가 있다.
    • 유의수준 : 검정 통계량이 기각역에 들어갈 확룔. 오차 가능성. 보통 5%
    • 유의확률(p-value) : 귀무가설을 지지하는 정도.
      • 유의확률 < 유의수준 : 귀무가설 기각 -> 대립가설 채택 -> 유의(미)하다.
      • 유의확률 > 유의수준 : 귀무가설 기각 불가 -> 귀무가설 채택 -> 유의하지 않다.
    • t분포와 t검정 정규 분포와 비슷한 모양의 t분포를 이용해 검정하고자 하는 귀무가설(“전체 몸무게 평균은 65kg이다.”)의 65값을 mu값으로 활용하면 p-value를 알 수 있다.

연구에 필요한 통계 기초 지식을 단 몇 페이지에 걸쳐 필요한 내용을 모두 소개하고 매우 알기 쉽게 설명한 책은 처음이다. 처음 데이터 분석을 접할 때 p-value가 직관적이지 않아 애를 먹었던 기억이 있는데 이 단 몇 페이지를 먼저 접했다면 얼마나 쉽게 이후의 과정을 수행할 수 있었을지 아쉬울 뿐이다.

물론 검정과 같은 지식은 빅데이터를 분석하는 현 시점에 그리 자주 활용되지는 않는다. 이미 표본이라 칭하는 데이터가 충분히 방대해서 검정에 큰 의미를 두지 않을 뿐더러 투자 시간대비 확실하고 유익한 인사이트를 도출하기 어렵기 때문이다.

하지만 매우 중요한 상황에서 병행하여 쓰이는 기법이기도 하고 각종 연구 결과를 분석하거나 논문을 해석하는데 필요하기 때문에 반드시 알아두어야 하는 기법이라고 생각하는데 이런 점에서 초보자가 쉽게 p-value를 쉽게 정리할 수 있다는 것은 좋은 기회임을 강조하고 싶다.

마지막으로 본 도서의 꽃인 9장 멤버십 기획 프로젝트 파트를 소개하려 한다. 앞서 총평에서 언급했듯 R의 좋은 기능을 배웠다면 이를 실무에서 활용할 수 있을 수준 즉, 구슬을 꿸 수 있는 지식이 필요한데 본 장이 그 역할을 담당하고 있다고 보면 된다.

음식으로 매출을 올리는 직장에서 고객정보, 주문정보, 예약정보, 제품정보 등 4가지의 테이블 형태의 데이터를 가공하여 멤버십 프로그램의 제도를 만드는 과정으로 실무에서 가장 자주 다뤄지는 실제 사례라고 할 수 있다. 비중있게 다뤄지는 분석을 요약하면 다음과 같다.

  • 빈도, 교차 분석 : 예약건과 예약 완료 비율이 비슷하다는 점, 지점별 매출 구성이 유사하다는 점 등을 도출
  • RFM 분석 : 한번 방문한 고객이 대다이고, 우수 등급 이상 고객의 방문 및 매출 기여도가 높음을 도출
  • 상관 분석 : 스테이크와 와인은 높은 상관관계가 존재함을 도출
  • 의사결정나무분석 : 스테이크를 주문한 고객은 높은 매출의 고객이며 전체 평균 방문 횟수보다 낮다 등을 도출 의사결정트리

이로써 각 파트의 요약을 마칠까한다.

마지막으로 정리하자면 본 도서의 장점은 각종 데이터 분석 과정을 거치며 앞서 배운 R의 단편 지식들이 어떤 방식의 꿰어지는지 충분히 실습할 수 있다는 점이 매력이라 할 수 있겠다. 더불어 저자가 쌓아온 내공 덕분에 도출 결과를 비즈니스로 어떻게 풀어가는지 슬쩍 엿볼 수 있는 계기가 될 수도 있다.

무엇보다 전체 과정의 파이프 라인 흐름에 대해 감을 잡을 수 있으므로 본인이 비록 미숙한 단계일지라도 프로젝트의 숲을 대강이나마 구성할 수 있는 체계적인 시야를 갖출 수 있다는 점에서 초보자의 자신감을 향상시킬 수 있기에 훌륭한 입문서라 말하고 싶다. R로 데이터 분석을 처음 접하고 싶은 입문자라면 꼭 본 도서를 추천하고 싶다.


YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다.






© 2019.04. by theorydb

Powered by theorydb