데이터 전처리 대전

데이터 분석을 위하여!

1

데이터 분석 혹은 머신러닝을 공부하거나 실제 서비스에 적용하기 위해서 가장 먼저 진행하는 과정은 데이터를 깔끔하게 정리하는 일이다.

나는 대학원생이자 직장인이라서 어쩔 수 없이 RPython을 모두 사용한다. 논문이나 다른 연구원들과 함께 작업할 경우 R을 사용해서 진행하는 경우가 많고, 회사나 다른 프로젝트는 Python을 사용한다.

대부분의 경우 데이터 전처리가 끝나면 Python의 tensorflowscikit-learn 등을 사용하거나 R의 경우 e1071이나 CARAT등을 사용하지만, 나는 CUDA의 도움을 받아야 되는 경우가 많고 Python이 편하기 때문에 tfscikit-learn등을 활용한다.

문제는 데이터 전처리의 경우 생각보다 손이 많이 가고, 모든 작업을 ‘자동화’할 수 없기 때문에 어쩔 수 없이 RPython 관련 데이터 처리 라이브러리를 함께 사용해야 한다. 다행스럽게도 Python에서 사용하는 PandasR에서 주로 사용하는 data.table의 사용용법이 거의 비슷해서 큰 어려움이 없지만 그래도 미묘하게 다른 점이 있다.

2

가장 큰 특징

이 책의 가장 큰 특징은 Pandasdata.table 두 가지 모두를 다루고 있으며, 비슷한 업무나 작업을 해야 할 경우 관련 사항을 한 번에 확인할 수 있어서 좋았다. 그리고 SQL 관련 내용도 추가로 제공하고 있기 떄문에 데이터 클리닝 작업을 하는 개발자나 관련 업무 종사자에게 굉장히 추천할만한 책이라 할 수 있다.

SQL만 사용하는 분들이 Pandas를 사용할 경우에도 약간의 도움이 된다. 데이터베이스에서 실시간으로 작업을 하는 연구자, 개발자에게 좋은 참고 자료가 될 것으로 생각된다.(하지만 나는 대부분의 데이터를 CSV로 작업한다). 왜냐하면 이 책의 경우 Pandas를 기준으로 놓고 보자면 기초적인 내용부터 차근 차근 다루고 있기 때문에 Pandas 초보자가 보기엔 전혀 무리가 없다. 따라서 책에서 다루는 언어(Python, R, SQL) 중 하나 정도를 어느 정도 알고 있다면 책에서 소개하는 내용만 차근차근 따라하면 별 문제없이 배울 수 있다.

3

하지만 Python을 전혀 모르거나, R을 함께 사용하고 있지 않다면 아쉽지만 책의 분량에 비해서 소개하는 내용이 조금 모자랄 것으로 생각된다. 특히 그래프 관련해서 PandasR 책에 비해서 내용이 많이 부족하기 때문에 전문적인 내용이 필요하시면 다른 교재도 함께 참고하셔야 됩니다. 그리고 그래프 부분이 조금 부족한 점이 조금 아쉽네요.

Written on November 25, 2019