데이터 분석, R로 시작할까 파이썬으로 시작할까?

SHARE

데이터 분석 입문, R로 시작할까 파이썬으로 시작할까?

데이터 분석은 이제 시대의 키워드이자 흐름입니다. 데이터 사이언스 분야 종사자 뿐 아니라 마케팅, 금융 등 모든 비즈니스에서 데이터를 분석해 숨겨져있던 인사이트를 찾는 것은 선택이 아닌 필수죠. 더 이상 검증할 수 없는, 감에 의존한 의사결정은 가치가 있다고 보기 어렵습니다.

시작하지 않으면 큰일 날 것 같은 데이터 분석, 본격적으로 시작하려는 사람이라면 누구나 마주하는 문제가 있을 텐데요, 바로 ‘어떤 툴을 활용해 공부해야 하지?’입니다. 대표적으로 파이썬과 R이라는 두 가지 툴이 있는데요, 고민하고 계신 분들을 위해 준비했습니다. 파이썬이냐, R이냐! (원본 출처: KDnuggets, R vs Python for Data Science; The winner is …)

*혹시 데이터 분석 입문자라면, ‘통계’를 먼저 공부하시기를 추천드립니다.
참고: 데이터 분석하고 싶은데, 통계 공부도 꼭 해야 하나요?


 

 파이썬을 써야 할까요? R을 써야 할까요?

패스트캠퍼스의 데이터 사이언스팀이 정말 많이 받는 질문입니다. 아쉽게도, 명확한 대답을 드리기가 어렵습니다. 마주하고 있는 데이터의 종류와 과제의 성격에 따라 다르기 때문이죠.

통상적으로 R은 통계학자들에 의해 만들어졌기 때문에 보다 통계학적인 요소가 잘 스며 들어있는 툴이라고 하고, 파이썬은 이해하기 쉽고 유연한 문법으로 좋은 접근성을 가지고 있다고 합니다. 어떤 상황에 어떤 툴을 활용해야 할지, 각 툴의 장단점은 무엇인지 분석해 봤습니다!

 

언제, 어떻게 R을 사용하는가?

R은 연구 목적의 업무에 최적화되어있지만 웬만한 종류의 데이터 분석에도 매우 용이합니다. 왜냐하면 R은 방대한 양의 패키지와 즉시 사용 가능한 테스트 SET을 제공하기 때문이죠. 이는 R의 최대 강점이기도 합니다. 많은 양의 메일 리스트, 문서, 그리고 엄청나게 활발한 스택 오버 플로우(궁금한 점을 묻고 답하는 프로그래밍계의 네이버 지식인)처럼  그룹의 도움을 언제든지 받을 수 있습니다. 쉽게 말해 잘 설명되어 있는 방대한 R 패키지 저장소가 있다는 겁니다. 누구나 쉽게 자료를 접할 수 있을 뿐 아니라 자기 의견도 낼 수 있죠.

처음 R을 시작한다면 RStudio IDE를 설치하는 것이 가장 현명한 방법입니다. R의 통합 개발 환경으로, 프로그램 소스의 편집, 실행, 출력을 하나의 프로그램을 통해 수행할 수 있죠. 이후에는 다양한 R의 패키지들을 살펴보면 됩니다. 다음과 같은 것들이 있습니다.

* 패키지들을 쉽게 다루기 위한 dplyr, plyr, data table
* 문자열을 처리하기 위한 stringr
* 시계열 분석을 위한 zoo
* 데이터 시각화를 위한 ggvis, lattice, ggplot2
* 머신러닝을 위한 caret

 

언제, 어떻게 파이썬을 사용하는가?

파이썬은 주로 데이터 분석 결과를 다른 웹 애플리케이션에 접목하거나 통계적인 코드를 데이터베이스에 포함시켜야 할 때 사용합니다. 필요한 패키지나 라이브러리를 불러오고 조합하여 분석 목적에 맞는 작업을 수행할 수 있습니다. 또한 직관적인 프로그래밍 언어로 초보자도 쉽게 배울 수 있다는 강점이 있습니다.

R에 비해 패키지가 초기 발전 단계라는 점이 지적되긴 하지만, 최근 몇 년 사이 눈에 띄게 발전했습니다. NumPy/SciPy, pandas와 같은 패키지들을 꼭 설치하세요. 그래픽을 만들고 싶다면 matplotlib, 머신러닝을 구현하고 싶다면 scikit-learn을 살펴보시기 바랍니다.

 

R의 장단점

장점 1 : 데이터 시각화
시각화된 데이터는  Raw 데이터 보다 훨씬 효과적으로 그 의도를 전달할 수 있습니다. R을 처음 만든 목적 자체가 ‘데이터 분석, 통계학 그리고 시각화를 하기 위해 더 좋고 친근한 방법을 만들어 보자!입니다. 그만큼 R은 강력한 데이터 시각화 기능을 자랑하죠. 의미 전달이나 보고가 목적이라면 R을 활용하세요. 대표적인 시각화 패키지에는 ggplot2, ggvis, googleVis, rCharts등이 있습니다.

장점 2: 생태계
R은 정말 풍부한 최첨단 패키지와 활발한 커뮤니티를 자랑합니다. 말 그대로 ‘R의 생태계’를 이루고 있죠. R 함수와 데이터들의 모음인 패키지, 이를 통해서 언제나 쉽게 최근의 테크닉과 기능에 접근할 수 있습니다. 자료를 찾느라 밤을 지새우지 않아도 되는 거죠!

장점 3: 데이터 사이언스의 통용어
R은 통계학자들에 의해, 통계학을 위해 개발되었습니다. 그래서 통계학자들은 그들의 아이디어와 개념들을 R의 코드와 패키지 등을 통해 공유하죠. 그래서 R을 활용한다면 데이터 사이언스를 시작하기 위해 꼭 컴퓨터 공학을 배워야 할 필요가 없습니다!

단점 1: 느린 속도
말씀드렸듯이 R은 통계학자들이 좀 더 쉽게 연구하려고 만든 언어이기에 컴퓨터를 효율적으로 활용하는 방법은 그리 깊게 고려하지 않은듯합니다. 다시 말해 R은 읽기 어려운 코드 때문에 좀 느릴 수 있습니다. 하지만 그런 단점을 상쇄해줄 수 있는 pqR, renjin, FastR, Riposte 등의 패키지가 있죠! R의 패키지 생태계는 정말 대단하네요.

단점 2: 어렵다
R을 배우는 것은 그리 쉬운 일이 아닙니다. 풍부한 패키지가 있지만 그걸 사용하는데 익숙하지 않다면 활용하는데 시간이 꽤 오래 걸릴 겁니다. 입문자가 처음부터 R을 활용해 원하는 분석을 할 수는 없습니다. 꾸준한 학습이 필요하죠.

 

파이썬의 장단점

장점 1: IPython Notebook
IPython Notebook은 파이썬을 가지고 하는 데이터 작업을 훨씬 쉽게 만들어줍니다. 따로 부가적인 설치도 할 필요 없이, 동료들과 메모와 작업을 공유할 수 있습니다. 이를 통해 코드, 결과물, 메모 파일들을 정리하는데 필요한 비용을 획기적으로 줄여주죠. 진짜 해야 할 일에 집중할 수 있습니다.

장점 2: 특정 주제나 용도에 국한되지 않은 배우기 쉬운 언어
파이썬은 특정 분야를 위한 언어가 아니라 비교적 쉽고, 직관적입니다. 데이터 사이언스 말고도 다양한 분야에 많이 쓰이죠. 그만큼 배우기 쉽습니다. 코드를 익히고 쓰는데 드는 시간을 줄일 수 있습니다.

장점 3: 다양한 용도의 언어
파이썬은 다양한 백 그라운드의 사람들이 모두 사용할 수 있는 언어입니다. 이해하기 쉬운 언어이기 때문에 통계 백 그라운드를 가진 사람들도 배울 수 있죠. 워크플로우의 모든 부분을 통합시킬 하나의 도구를 만들 수도 있습니다.

단점 1: 시각화
R 에겐 장점이었던 것이 파이썬에겐 단점입니다! 시각화는 데이터 분석 소프트웨어를 고르는데 매우 중요한 판단 기준이지만, 아쉽게도 파이썬은 시각화 기능이 R에 비해 떨어지죠. Seaborn, Bokeh and Pygal과 같은 시각화 라이브러리를 가지고 있긴 하지만, 너무 선택사항이 많은 감이 들기도 합니다. 더욱이 R과 비교하면 파이썬의 시각화는 난해한 모습을 하고 있는 경우가 많습니다. 그래서 시각화된 결과가 썩 만족스럽지 않을 때도 있죠.

단점 2: 파이썬은 도전자다
데이터 분석 툴에 있어서 R이 파이썬보다 선구자입니다. 파이썬은 도전자죠. 그래서 R이 수백 개에 달하는 기본적인 패키지들의 대체자가 되기에는 아직 많이 부족합니다. 파이썬이 최근 핫하게 떠오르고는 있지만, 여전히 사람들이 방대한 패키지를 자랑하는 R을 포기할 만큼인지는 미지수입니다.


 

어떤가요? 각 툴의 특징과 장단점을 읽어보니 내 업무에 어떤 툴을 써야 할지 감이 오시나요? 아직 오지 않는다면, 아래 질문에 답을 내어본 후 한번 더 생각해보시길 바랍니다.

– 당신이 풀기 원하는 문제가 무엇인가?
– 언어를 배우기 위한 순수 비용은 무엇(시간, 백그라운드 등등) 이 있는가?
– 당신의 필드에서 일반적으로 쓰이는 도구가 무엇인가?
– 엑셀이나 spss같은 도구가 당신의 데이터 분석에 있어서는 더 적합하지 않은가?

혹시 아직도 감이 안 잡힌다면, 패스트캠퍼스에 문의하세요! 기초 통계 강의부터 R, 파이썬을 활용한 데이터 분석 강의까지 데이터 사이언스의 모든 것을 담은 강의들이 기다리고 있습니다.


대한민국 데이터 사이언스 교육의 리더, 패스트캠퍼스 데이터 사이언스 >>> [클릭]

Facebook Comments