데이터 전처리 대전
1
데이터 분석 혹은 머신러닝을 공부하거나 실제 서비스에 적용하기 위해서 가장 먼저 진행하는 과정은 데이터를 깔끔하게 정리하는 일이다.
나는 대학원생이자 직장인이라서 어쩔 수 없이 R
과 Python
을 모두 사용한다. 논문이나 다른 연구원들과 함께 작업할 경우 R
을 사용해서 진행하는 경우가 많고, 회사나 다른 프로젝트는 Python
을 사용한다.
대부분의 경우 데이터 전처리가 끝나면 Python의 tensorflow
나 scikit-learn
등을 사용하거나 R
의 경우 e1071
이나 CARAT
등을 사용하지만, 나는 CUDA
의 도움을 받아야 되는 경우가 많고 Python
이 편하기 때문에 tf
나 scikit-learn
등을 활용한다.
문제는 데이터 전처리의 경우 생각보다 손이 많이 가고, 모든 작업을 ‘자동화’할 수 없기 때문에 어쩔 수 없이 R
과 Python
관련 데이터 처리 라이브러리를 함께 사용해야 한다. 다행스럽게도 Python
에서 사용하는 Pandas
와 R
에서 주로 사용하는 data.table
의 사용용법이 거의 비슷해서 큰 어려움이 없지만 그래도 미묘하게 다른 점이 있다.
2
이 책의 가장 큰 특징은 Pandas
와 data.table
두 가지 모두를 다루고 있으며, 비슷한 업무나 작업을 해야 할 경우 관련 사항을 한 번에 확인할 수 있어서 좋았다. 그리고 SQL
관련 내용도 추가로 제공하고 있기 떄문에 데이터 클리닝 작업을 하는 개발자나 관련 업무 종사자에게 굉장히 추천할만한 책이라 할 수 있다.
SQL
만 사용하는 분들이 Pandas
를 사용할 경우에도 약간의 도움이 된다. 데이터베이스에서 실시간으로 작업을 하는 연구자, 개발자에게 좋은 참고 자료가 될 것으로 생각된다.(하지만 나는 대부분의 데이터를 CSV로 작업한다). 왜냐하면 이 책의 경우 Pandas
를 기준으로 놓고 보자면 기초적인 내용부터 차근 차근 다루고 있기 때문에 Pandas
초보자가 보기엔 전혀 무리가 없다. 따라서 책에서 다루는 언어(Python
, R
, SQL
) 중 하나 정도를 어느 정도 알고 있다면 책에서 소개하는 내용만 차근차근 따라하면 별 문제없이 배울 수 있다.
3
하지만 Python
을 전혀 모르거나, R
을 함께 사용하고 있지 않다면 아쉽지만 책의 분량에 비해서 소개하는 내용이 조금 모자랄 것으로 생각된다. 특히 그래프 관련해서 Pandas
나 R
책에 비해서 내용이 많이 부족하기 때문에 전문적인 내용이 필요하시면 다른 교재도 함께 참고하셔야 됩니다. 그리고 그래프 부분이 조금 부족한 점이 조금 아쉽네요.