ahrach***
2017-12-19

데이터 분석이나 머신러닝을 공부하기 시작한지는 꽤 됐지만 본격적으로 깊게 공부하지는 못해서 입문서를 주로 보고 있었는데 같이 데이터 분석 책이더라도 책마다 중점적으로 다루는 내용이 조금씩 달라 결국 여러 권의 책을 다 가지고 있게 된다. 이 책도 기존에 내가 가지고 있던 책들과는 주제가 달라서 keep 해놔야 할 것 같다.
‘파이썬 데이터 분석 입문’이라는 책 제목만 보고 데이터 분석에 사용되는 알고리즘을 파이썬으로 구현하는 것을 중점적으로 설명한 책이려니 했는데, 이 책은 알고리즘 보다는 데이터 전처리에 대한 설명이 훨씬 자세히 되어있다.
9개 챕터 중에 무려 4개의 챕터가 CSV, 엑셀, DB 등의 형태로 있는 데이터를 파이썬 프로그램에 로딩하고 분석/계산하기 좋은 형태로 가공하는 것에 대해서 설명하고 있다. 사실 데이터 분석을 공부하게 되면 데이터 분석과 관련된 통계 지식이라든지, 사용하는 알고리즘을 학습하는 데에 시간/노력을 집중하게 되는데, Coursera 등의 MOOC 강의 구성을 참고해보면 Data Science 트랙에서 빠지지 않는 것이 데이터 처리에 대한 내용이다. 지루하고 쉬워 보여서 많은 사람들이 그냥 훑어보고 지나가는 내용이지만 실제로 프로젝트를 하거나 현업에 사용하려고 하면 가장 먼저 수행해야 하는 게 데이터 전처리이기 때문에 사실 가장 노하우가 필요하고, 많이 연습해 보아야 실력이 느는 부분이기도 하다.
어쨌든 4개의 챕터에서 데이터 로딩과 전처리에 대해서 설명하는데, 이 책에서 내용을 설명할 때 좋은 것 중 하나가 일반 파이썬 코드로 작성된 것과 Pandas 패키지를 사용할 때의 차이를 비교해서 설명한다는 것이다. 데이터 분석에서 주로 사용되는 파이썬 패키지에는 Numpy, Pandas 등이 있다는 것은 데이터 분석을 공부해본 사람들이면 익히 아는 내용이지만 왜 저 두 패키지가 많이 사용되는지에 대해서는 많이 고민해보지 않았을 것이다. 책에서는 Pandas를 쓸 때와 쓰지 않을 때의 코드를 비교하면서 쓰지 않았을 때 발생할 수 있는 복잡한 예외 처리를 Pandas를 사용하면 간단하게 해결할 수 있다. 합계나 평균처럼 간단한 통계치를 계산할 때도 Pandas를 사용하는 것이 훨씬 유용하다는 것을 차근차근히 설명해준다. 데이터 분석을 처음 공부하는 사람의 입장에서 비교해서 설명해주면 Pandas를 왜 사용해야 하는지, 데이터 처리를 할 때 어떤 점들을 고려해야 하는지 명확하게 알 수 있어서 도움이 많이 될 것 같다.
책의 중반부까지 데이터 전처리에 대해서 설명하고 그 다음부터는 데이터 시각화와 간단한 알고리즘 등이 설명되어 있다. 데이터 시각화는 간단히 matplotlib로 그래프 그리는 방법, 그래프의 종류, 그리고 자주 사용하는 다른 그래픽 패키지, seaborn, ggplot 등이 소개되었다. 알고리즘은 선형회귀, 로지스틱 회귀 등이 설명되어 있는데, 기본적인 통계 지식이 있는 것을 가정하고 작성된 내용이라서 자세한 내용은 다루지 않고 있다.
전체적으로 이 책은 입문서이긴 하지만 데이터 분석을 이제부터 공부해보려는 사람들에게는 적합하지 않은 것 같고, 대충 데이터 분석을 어떻게 하는지는 알겠는데, 인터넷에서 긁어모은 데이터를 가지고 분석을 어떻게 시작해야 할지 막막한 사람들, 아니면 데이터 전처리에 대한 내용을 인터넷에서 할 때마다 검색해서 찾기는 귀찮고 필요한 내용을 그때그때 찾아볼 책이 필요한 사람들에게 추천한다. 정독할만한 책은 아니고 정말 레퍼런스용으로 적당한 책인 것 같다.