최근 1:1 데이터 분석 레슨과 멘토링을 사이드잡으로 진행중인데, 3월 서평단 도서 목록 중 <데이터 과학을 위한 파이썬과 R> 이라는 제목을 보자마자 고를 수 밖에 없었습니다. 인공지능을 공부하는 사람들에게 파이썬은 기본이 되는 도구이지만, 데이터 분석 분야에서는 R 또한 주류로서 많이 사용되는데요, R을 사용해본 경험이 거의 없다보니 이번 기회에 R이 파이썬보다 더 잘하는 것이 무엇일까 배워보기로 했습니다. 데이터 분석 멘토링 요청을 해오시는 분들 중 파이썬은 모르는데 R 사용 경험은 있는 분들도 계시다는 점이 흥미롭기도 해서, 이번 기회에 데이터 분석 멘토링 실력을 보완해보기로 했습니다.

<데이터 과학을 위한 파이썬과 R> 표지 -한빛미디어

이 책의 특징

이 책의 특징은 파이썬과 R 언어 중 한개만 알고 있는 사람들을 위주로 타겟팅하여, 원래 익숙한 언어에서 쉽게 다른 한개의 언어로 지식을 확장시킬 수 있는 데 포커스를 맞추었습니다. 따라서 파이썬과 R을 아예 처음 접하는 사람이라면 어느정도 프로그래밍 경험, 또는 데이터 분석 경험이 있으면 조금 더 직관적으로 이해하는데 도움이 될 것 같습니다. 그럼에도 불구하고 어쨌든 기초 지식을 위주로 작성된 서적이어서 큰 어려움은 없을 듯 합니다.

데이터 분석에서 R과 Python이 활약하는 방법

R: 태초부터 통계 분석을 위해 태어난 프로그래밍 언어.

파이썬 (Python): 사용하기 편리한 문법을 바탕으로 광범위하게 사용되겠다는 분명한 목적을 두고 만들어진 프로그래밍 언어.

탄생한 목적에 맞게 파이썬은 웹 개발, 게임, 시스템 관리, 데이터 과학, 딥러닝 엔지니어링 등 현재 수많은 분야에서 활약하고 있습니다. 필자는 파이썬으로 데이터 분석으로 많은 인기를 끄는 것은 온전히 데이터 과학에 사용되는 기능 때문만이 아니라, 범용 언어로써 기존 역할에 부분적으로 ‘편승’하여 데이터 과학 분야로 진입했다고 봅니다. 그러니까, 이미 파이썬을 사용하고 있던 엔지니어들에게 접근성이 좋기 때문에 원활한 커뮤니케이션을 위해서 파이썬을 선택하는 사람들이 많았다는 뜻입니다. 배열 데이터를 처리하기 위한 파이썬 패키지는 2005년 numpy가 등장한 이후부터서야 천천히 데이터 과학에서의 자리를 확고히 잡아가기 시작했다고 합니다.

R과 파이썬 모두 high-level 프로그래밍 언어로써 배우기가 쉽고 사용이 편리하다는 공통점이 있습니다. 각각의 장단점이 있어서 둘 중에 무엇을 사용해야한다는 절대적인 룰은 없으나, 전문적으로 데이터 분석을 하는 분석가라면 두 언어 다 익혀서 양단의 장점을 극대화시키면 분석 스킬을 끌어올리는 데 큰 도움을 받을 수 있을 것 같다는 생각이 들었습니다.

분야별 승리자 알아보기

데이터 EDA는 R이 승자: EDA는 데이터 분석의 필수 기본 단계인데, 데이터 시각화를 훌륭하게 수행하는 R이 EDA에서는 파이썬을 제칩니다. 파이썬을 이용자라면 알지만, 꽤 발전해왔다 하더라도 matplotlib을 사용해 데이터를 플로팅 하는 것은 꽤나 번거롭고 덜 직관적이죠. 반면 R의 ggplot2, leaflet, plotly 등 데이터 시각화 패키지는 단 몇줄의 코드만으로 시각화 작업을 쉽고 간단히 수행한다고 합니다.

머신러닝에서는 파이썬이 승자: 최근 데이터 과학은 거의 머신러닝과 동일한 언어로 쓰일 정도인데, 딥러닝이 유명해지면서 scikit-learn 패키지와 함께 파이썬의 ML 생태계는 급성장을 이루었습니다. 몇줄의 코드만으로 데이터를 불러오고, 파라미터 초기화에 더불어 모델 피팅까지 효과적으로 수행할 수 있고, 직관적인 문법을 따르기 때문에 다큐먼트를 찾을 시간을 줄이고 코드 작성에 더 집중할 수 있게 도와줍니다.

이 외에 Task 단위로 보면, 이미지 데이터와 텍스트 데이터의 처리는 파이썬이 더 뛰어나고 시계열 데이터와 공간 정보의 처리는 R이 뛰어나다고 합니다. 상호 보완되는 부분이 명확하다보니, 여기까지 알게된 전문 데이터 분석가라면 어떤 것 하나 놓치기가 너무 아쉬울 것 같습니다.

마치며

<데이터 과학을 위한 파이썬과 R> 서적을 통해 파이썬과 R이 데이터 과학 분야에서 서로 상호 보완되는 장점들을 알아볼 수 있었습니다. 전문 데이터 분석가가 아닌 저도 딥러닝 연구자로써 욕심이 나는데요, 특히 EDA에 꼭 써먹어봐야겠다는 생각이 듭니다. 내용이 직관적으로 잘 정리되어 있고 설명도 쉽게 쓰인 책으로, 파이썬과 R의 차이가 궁금하고, 데이터 분석 역량을 기르고 싶은 분석가들에게 추천하고 싶은 책입니다.

“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

Jaein Kim

I'm a Computer Science PhD candidate from South Korea, currently based in Beijing, China. My academic journey is dedicated to pioneering research in Natural Language Processing and Knowledge Graphs, striving to break new ground in these dynamic fields.

Recommended Posts

생물을 사랑하는 AI 박사생 이야기

요즘 듣고 있는 Coursera 뇌과학 강좌에 대해 쓰려다가 에세이가 되버린 생물을 사랑하는 AI 박사생의 이야기입니다. 🙃 지금 NLP를 공부하는 AI 박사과정 학생이지만, 제 관심사는 언제나 다른 곳을 향해 있었습니다. 어릴 때부터 지금까지 살아오면서 언제나 무언가를 키우고 있을 정도로 생물에 대한 관심이 참 […]

Entity Alignment 태스크 및 벤치마크, 데이터셋 알아보기

오늘은 Knowledge Graph (KG) 관련 태스크 중 Entity Alignment (EA)에 대해 보다 자세히 알아보겠습니다. KG 개념에 익숙하지 않으시다면 지난 글을 읽고 오시면 도움이 됩니다. 지난 글에서 간단히 소개했듯, EA는 다른 두 개 (혹은 그 이상의) KG가 가진 엔티티들 중, 실세계에서 같은 객체를 […]

지식 그래프 (Knowledge Graphs) 개념과 관련 태스크, 그리고 NLP와의 관계성

이번 글에서는 지식 그래프의 기본 개념에 대해 알아보고, 관련된 대표적인 태스크로 어떤 것들이 있는지 간단하게 알아보겠습니다. 또 KG와 NLP와의 관련성에 대해서도 간단히 소개하며 마무리하겠습니다. Knowledge Graph (KG) 기본 개념 KG는 real-world의 객체 (entity) 사이의 관계 (relation)를 그래프 형태로 모델링한 것으로, 구조화된 데이터의 […]

AI 박사생의 연구 삽질 여정 (현재 진행형)

이번 글은 한탄과 다짐이 섞인 근황 이야기입니다. 개인 웹사이트에서는 처음 쓰는 사적인 이야기인 것 같습니다. 저는 베이징 소재 공대의 컴퓨터 공학부에서 AI를 공부하고 있는 박사 과정 학생입니다. 저는 언제나 AI를 “연구”한다고 표현하지 않고 “공부”한다고 표현하는데 그건 제가 아직도 한참 삽질의 여정을 보내고 […]