메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

PYTHON+SQL+R로 동시에 배우는 데이터 전처리

tee***

|

2019-12-15

데이터 전처리 대전

데이터 분석의 품질에 큰 영향을 미치는 데이터 전처리는 매우 중요한 작업이다. 전처리 공정을 전체적으로 이해하려면 프로그래밍 언어에 관한 이해뿐만 아니라 통계학이나 머신러닝에 관한 기반 지식이 필요하지만 이를 포괄적으로 설명하는 책은 없었다.

  • 저자 : 모토하시 도모미쓰
  • 번역 : 윤준
  • 출간 : 2019-11-01

 

[개요]

 

인공지능이 휩쓸고 있다. 어떤 문제를 해결하기 위해서 알고리즘과 절차를 만드는 것이 아니라, 딥러닝 모델을 돌리기 위한 데이터를 수집하는 게 더 중요하게 되어가는 느낌마저 들 정도이다.

 

수집된 데이터는 전처리가 필요하다. 전처리는 제대로 된 분석 결과물을 만들기 위해서 반드시 수행해야 하는 작업이다. 좋은 결과를 위해서는 다양하면서도 충분한 양이 확보된 데이터와 편향되지 않은 샘플링을 사용하는 것이 무엇보다도 중요하기 때문이다. 

 

그러나 전처리는 잡일이다. 잘못된 데이터를 정리하고 데이터가 내포한 각종 오류를 잡는 작업과, 잘못 수집된 데이터를 걸러내고 없는 데이터를 보완하는 일에는 엄청난 시간이 들기 때문이다. 

 

그래서 전처리는 실제 데이터 분석에 드는 시간의 대부분을 차지하지만, 문제의 유형이 너무나도 다양해서 오히려 이에 대한 실무적인 내용을 배울 수 있는 책이나 교재는 드물다. 

 

[내용]

 

Part 1에서는 전처리 개요를 설명한다. 데이터와 전처리의 역할, 흐름, 데이터 셋, 기초 사용 방법을 배울 수 있다. 

 

Part 2는 데이터 구조 전처리이다. 추출, 집약, 결합, 분할, 생성, 전개의 유형으로 나눠서 각 데이터를 조작해서 원하는 결과를 뽑아내는 법을 설명한다. 

 

Part 3는 데이터 내용에 따라 달라지는 전처리 기법에 대해 다룬다. 수치형, 범주형, 날짜/시간형, 문자형, 지리 정보형 데이터를 전처리할 때 중요한 점과 자주 쓰이는 기법들을 알게 된다. 

 

마지막 Part 4는 연습 문제로 구성되었다. 앞에서 다뤘던 내용을 모아서 실습해보는 내용이다. 

 

[장점]

 

이 책에서 가장 좋았던 점은 하나의 문제에 대해서 SQL, R, Python 세 언어를 모두 사용해서 풀어본다는 점이다. 

 

그리고 각 언어별 해결책에는 Awesome과 Not Awesome이 표기되어 있어서, 이를 통해 어떤 상황에서 어떤 언어로 작업을 하는 것이 유리한 지 직관적으로 알 수 있다. 

 

고수는 도구를 가리지 않는다고 하지만, 데이터 전처리를 본격적으로 진행할 때, 상황에 따른 언어의 취사선택에 상당히 도움이 될 것으로 생각한다.

 

[단점]

 

SQL을 배우기 위한 DB로 Amazon RedShift를 이용한다. 부록에서 초기 설정을 제공하기는 하지만, AWS에 익숙하지 않다면 초기 설정 과정이 꽤 길고 번거롭게 느껴진다. 

 

게다가 레드쉬프트는 최초 2개월 이후에는 유료이다. 클라우드 DB보다는 PostgreSQL 같이 간단한 로컬 DB 계열로 진행했어도 될만한 내용이라 조금 아쉬웠다. 실제로 레드쉬프트의 SQL문은 PostgreSQL과 호환되므로 내용 이해에는 별로 문제가 없었다. 

 

[결론]

 

데이터 실무자의 경험과 노하우를 배울 수 있는 책이다. 한글 번역이 유려한 데다, 세 가지 언어로 작업해보면서 어떤 언어가 어떤 과정에서 더 효율적인지 감을 잡는데 도움이 되었다.

 

초급 데이터 분석 책이지만 각 프로그래밍 언어에 대한 지식은 이미 어느 정도 있다고 가정한다. 언어의 문법이나 코딩기법에 대한 상세한 설명이 생략되어서 데이터 전처리에 대한 내용만 빠르게 훑어볼 수 있어서 좋았다. 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?