|
데이터 과학, 통계 등을 시작하고자 할 때 어떤 언어를 선택할지에 대한 기로에 놓이게 된다. 파이썬과 R은 데이터과학 분야에서 주로 사용되는 언어이기도 하다. 보통 다양한 생태계를 이야기할 때는 파이썬을 통계 패키지를 좀 더 사용하고자 한다면 R을 추천하는 편이다. 서로 어떤 언어가 좋고 나쁘고를 떠나서 각 장점을 이해하고 사용하면 좋겠다는 생각을 해왔다. 주로 파이썬을 사용하는 입장에서 R관련 패키지에도 관심을 갖고 있으며 판다스의 주요 기능들이 R에서 영향을 받은 것이 많다는 것도 익히 들어왔다. 이 책은 데이터 과학을 위한 파이썬과 R을 비교해서 설명하고 있다. 이런 책 꼭 필요하다고 생각하고 있었는데 한빛미디어의 나는 리뷰어다를 통해 읽어보게 되었다. 해들리위컴의 tidy data 등의 여러 저널 자료와 ggplot의 철학을 통해 시각화를 이해하는데도 많은 도움이 되었다. 그럼 파이썬 사용자를 위한 R이라면 어떤 내용을 비교하면서 봐야 할까? 이미 파이썬을 통한 데이터과학 패키지 사용경험이 있는 사람이라면 다른 도구를 접했을 때 오히려 혼란스러울 수 있는데 이런 부분을 정리해 주고 있는 점이 좋았다. 또, 반대로 R사용자를 위해 파이썬을 사용할 때 어떤 점을 고려해야하는지에 대한 내용을 읽으면서 반대로 R을 이해하는데도 도움이 되었다. 파이썬과 R은 데이터과학에 사용되는 대표적인 언어로 이 두 언어가 서로 어떤게 더 좋다 나쁘다를 이야기하기 보다 서로의 장점을 이해하고 시너지를 낼 수 있는 방법에 대한 내용도 좋았다. 각 언어로 만들어진 도구마다 장점을 고려해서 사용할 수 있게 알려주고 있다. 시대별 마일스톤을 정리해 준 표가 인상적이었는데 중요한 출판자료, 중심언어, 핵심패키지, 재단과 기업 등을 한 눈에 살펴볼 수 있게 정리한 부분으로 시대적 흐름을 볼 수 있다. 각 데이터의 특성에 따라 어떤 처리를 해주어야 하는지에 대한 내용도 한눈에 볼 수 있다. 테이블 형식, 이미지, 텍스트, 시계열, 공간 정보에 따라 각 언어별 주요 패키지를 비교하고 있다. 데이터 멍잉, EDA, 머신러닝, 딥러닝, 데이터 엔지니어링, 보고서 작성에 대해서 비교한 표이다. 각 패키지별 유사한 기능을 하는 도구에 대한 이해를 돕는다. 두 언어를 한 번에 같이 사용하기보다는 절차를 통해 데이터 파일을 공유하는 형태로 각 언어의 장점을 활용하는 것을 추천하고 있다. 이 부분을 어떻게 설명할지 책을 읽기 전에 궁금한 부분이었는데 데이터 파일 형태로 파이프라인을 만드는 것이 프로세스상 혼란을 줄일 수 있는 방법일 것이라는 것에 동의한다. 요즘은 ChatGPT를 통해 파이썬 코드를 R로 변경해 달라 혹은 반대로 해달라 해도 척척 알아서 언어를 잘 바꿔준다. 하지만 여전히 오류가 많고 해당 지식을 이해하고 있다면 좀 더 시너지를 낼 것 같다는 생각이 드는데 이 책에 이러한 부분이 잘 정리되어 있다. 두껍지 않은 분량에 두 언어의 핵심을 비교하는 내용을 잘 담고있다. 두 언어를 모두 깊게 사용해 보지 않으면 쉽게 정리하기 어려운 내용인데 저자의 내공이 느껴지는 책이었다. 주로 파이썬을 사용하지만 나 또한 R과 관련된 저널이나 관련 패키지의 철학에 대해서는 공감하는 부분이 많은데 이 책을 통해 그러한 부분을 좀 더 잘 정리해볼 수 있는 계기가 되었다. 이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다. |
|
첫 장을 넘기면 표지 설명이 있다. 이 책의 표지는 '오징어'이다. 오라일리 표지에 등장하는 동물은 대부분 멸종 위기종이라고 한다. 멸종되어 가는 동물에 대한 경각심을 가지게 하는 메시지를 전하고 있다.
이 책의 머리글에서 읽었던 글 중에 가장 맘에 와닿았던 부분이다. 시간이 변해도 불변하는 것은 '강력한 기초' 이 책은 첫 머리에도 있지만 파이썬과 R에 대한 기초 지식이 있거나, 파이썬 또는 R에 대한 기초를 알고 있을 때 내용을 이해하기 쉽다. 언제부턴가 R도 공부를 해둬야 겠다 생각했지만 뜻대로 되지 않았다. 이 기회에 파이썬과 R을 비교해가며 공부해보고 싶었지만 시간을 내기 어려웠다. 이 책에서 좋은 점은 아래와 같은 설명이다. 요소에 대한 설명을 이해하기 쉬운 비유를 통해 하고 있다. 함수나 객체를 설명할 때 유용할 것 같다.
또한, 기본 데이터에 대한 설명을 파이프라인으로 정리되고 설명되어 기초를 다듬게 된다. 파이썬과 R의 패키지 비교는 두 언어를 이해하기 충분하다. 책의 마무리는 데이터 과학의 사례로 데이터 기초부터 시각화 , 머신러닝까지 해 볼 수 있는 예제가 실려있다. 데이터 불러오기 부터 머신러닝까지 프로세스를 익히기는 좋은 것 같다. 이 책은 파이썬과 R 두 언어에 대해 이해하고 결합해서 사용하는 내용이지만 파이썬이나 R에 대한 기초가 없다면 이 책에서 전하고자 하는 메시지는 달성하기는 어려울 듯 하다. 두 언어 중 한 가지만이라도 사용해 보았다면 두 언어가 어떻게 워크플로우를 작동하는지와 각 언어를 공부하면서 이걸 왜 이렇게 하지? 라는 의문에 대한 저자의 설명이 돋보이는 책이다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." |
|
시간이 너무나 빨리 지나갑니다. 어느덧 나는 한빛 리뷰어다!의 두 번째 책이 도착하였거든요. 이번 책 역시 제목을 보고 많은 기대를 했기에 도착하기만을 손꼽아 기다렸습니다. 하지만, 밑의 서평에 자세히 쓰겠지만서도 이번 책은 저의 기대를 완벽하게 충족시켜주진 못했습니다. 책의 잘못은 아니고요, 확실히 이런 얇은 가이드 라인에 가까운 책들은 주인을 잘 만나야 하는 것 같습니다. 얇다는 것은 축약했다는 것이고, 축약했다는 것은 독자가 이미 책이 다루는 내용에 어느정도 통달한 사람이라는 가정을 깔고 있습니다. 저는 그런 사람이 아니었기에 이 책이 제공하는 정보를 다 받아들이지 못한 것 같습니다. 저와 같은 불상사가 생기지 않게 하기 위해 책의 내용을 최대한 잘 정리하고, 정말로 필요한 독자들이 누군지 나름대로 정의해보고자 합니다. <데이터 과학을 위한 Python과 R>은 R과 Python을 동시에 사용하며 두 언어의 장점을 활용하는 방법을 설명하는 책입니다. 이 책은 두 언어를 활용하는 방법에 대한 간단한 예제와 함께 실습을 제공하여 독자가 각 언어의 핵심 패키지의 장단점을 더 잘 이해할 수 있도록 합니다. 이 책의 시작은 파이썬이나 R을 아는 사람이라면 재미있게 읽을 수 있는 부분으로, 모든 작업을 선호하는 언어(R or 파이썬)로만 해야 한다는 편견을 깨고 두 언어를 함께 사용하는 방법을 알려줍니다. 또한 두 언어 모두에 대한 이론적, 실용적 접근 방식을 다루고 있어 각자의 상황에 맞춰 어떤 언어를 선택하고, 혹은 특정 언어를 연습하기 위해 어느정도의 시간과 노력을 투자해야 하는지를 알려주는 장이라고 보면 좋을 듯 해요. 2장 에서는 Python 사용자를 위한 R, R 사용자를 위한 Python의 환경 구분하여 설명하여 독자가 새로운 언어를 시작하는 데 도움을 줍니다. 이 섹션에서는 각 언어의 기본 기능 및 사용법에 대해 제한적이지만 그 중 유용한 가이드를 제공하는 부분도 있습니다. 3장 에서는 데이터 형식과 워크플로 컨텍스트로 나누어 각 언어가 강점을 가진 영역을 설명합니다. 파이썬은 이미지와 텍스트 처리 및 분석에 강하고, R은 시계열과 공간 정보에 능하다고 하네요. 워크플로우 맥락에서는 EDA와 보고서 작성은 R의 강점이고, 머신러닝, 딥러닝, 데이터 엔지니어링은 Python의 강점이라고 설명하고요. 마지막 4장은 R 진영의 레티큘레이트와 파이썬 진영의 rpy2 모듈 등 파이썬과 R 간의 상호 운용성을 구현하는 데 필요한 패키지를 소개합니다. 그런 다음 미국 농무부에서 제공하는 산불 데이터 세트를 사용하여 RStudio IDE에서 R과 Python을 올바르게 활용하는 방법을 보여줍니다. 얇은 책임에도 마지막에는 직접 연습할 수 있는 사례를 넣었으니 있을건 다 있다고 봐야겠죠....? 그러나 서두에 밝혔다시피 일부 독자분들은 이 책이 특정 측면에서 부족하다고 평가할 수 있을 것입니다. 나만의 느낌일 수도 있기에 다른 서평들도 살펴보았습니다. 역시 설명이 매우 요약적이고 친절하지 않기에, 이 책은 이미 R 또는 Python에 익숙한 데이터 과학 분야의 실무자에게 더 적합하다고 말씀하신 분들이 꽤 있었습니다. 또 책의 전체적인 방향이 R 사용자를 위한 Python과 Python 사용자를 위한 R에 맞춰져 있어 각 도구를 깊게 파고드는 목적이 있는 분들은 적합하지 않다는 의견도 있었네요. 물론 이러한 의견에도 불구하고 이 책은 R과 Python을 상호 운용하는 방법을 배우고자 하는 독자에게 꽤 유용할 겁니다. Python과 R을 함께 사용하는 방법에 대한 힌트를 제공하는 몇 안되는 책이기도 하고요. 두 언어의 강점을 활용하여 생산성을 더 높은 수준으로 끌어올릴 수 있는 방법이 궁금하신 분들이라면 충분히 도움이 될 것입니다. 나름의 결론을 내리자면, '데이터 과학을 위한 Python과 R'은 R과 Python을 함께 사용하는 방법을 배우고자 하는 모든 사람에게 나쁘지 않은 책입니다. 이 책에 단점이 없는 것은 아니지만, 두 언어를 함께 사용할 수 있는 실용적이고 이론적인 접근 방식을 제공하므로 읽어 볼 만한 가치가 있습니다. (물론 제가 지금까지 언급한 독자의 실력에 많이 좌우된다는 점을 꼭 잊지 마시길!) |
|
현재 데이터 분석에서 가장 많이 사용되는 언어는 Python과 R이다. 오랜 역사와 높은 신뢰도를 가진 R과, 머신러닝 분석이 쉬운 파이썬의 빠른 성장은 두 언어 중 어느 하나를 선택하기 어렵게 한다. 하지만 데이터 분석 실무를 수행하다보면, 데이터의 성격과 분석기법 등 여러가지 여건에 따라서 두 언어를 병행하거나 하나의 언어의 강점을 교차해서 이용하고 싶을 때가 많다. 이 책은 바로 그럴 때 집어들기 좋다. 파이썬과 R의 기술적 유사점과 차이점에 대해서 모두 설명하며, 두 언어 중에 하나를 사용하는 학습자가 다른 언어를 살펴보기에 최적의 구성이기 때문이다.
R와 Python의 기원과 발전 역사, 그리고 두 언어간의 경쟁에 대해서 정리한다.
R언어 입문과 파이썬 언어 입문이다. 단순히 프로그래밍 문법 설명에서 그치는 것이 아니라, 실제로 효율적으로 구성할 수 있는 다양한 환경과 작업 도구 및 설정을 알려준다.
- CHAPTER 4 데이터 포맷 컨텍스트 이미지/텍스트/시계열 데이터와 공간정보 데이터를 다뤄보고, 머신러닝 프로젝트의 전체적인 워크플로를 체험해본다.
- CHAPTER 6 파이썬과 R의 시너지 효과 파이썬과 R을 함께 사용했을 때의 시너지 효과에 대해서 알아보고, 간단한 예제에 대한 데이터 분석/시각화/머신러닝 실습을 해볼 수 있다.
이 책의 백미이다. 패키지관리부터 타입, 속성, 함수, 인덱싱까지 파이썬과 R을 상호 대칭으로 제시하여, 문법을 비교해보고 궁금한 내용을 찾아볼 수 있게 배치했다.
파이썬과 R을 모두 다루는데도 아주 간결한 책이다. 부담없이 가볍게 훑으면서 개념 잡기에 좋다. 아무래도 현실의 데이터는 머신러닝 입문서의 예제만큼 잘 정리되고 정형화되어있지 않다. 데이터의 성격과 연계도구와 분석용량 및 주어진 시간 등의 상황에 따라서 적절한 도구를 선택해야 한다. 이 책은 파이썬 사용자를 위한 R 입문과, R 사용자를 위한 파이썬 입문이 모두 가능하다는 뛰어난 장점을 갖고 있다. 둘 중 어느 언어로도 작업할 수 있도록 서로의 기초를 가볍게 흝어보기가 좋아서 만족스러웠다.
|