R vs Python

2020. 1. 19. 14:15BIG DATA/Big Data

반응형


출처 : https://medium.com/@InDataLabs/r-vs-python-729ceaa15620#.r2lkjj362

R과 Python 무엇이 다른가요?

R과 PYTHON의 비교

R과 Python은 프로그래밍 언어로, 본인이 학습하고자 하는 분야의 최종 목적(강의 수강 계기)과 결과물을 머릿속에 그려보고(혹은 업무 적용이 가능한가를 가늠해보고), 그것들이 R로 작성되었을 때와 Python으로 작성되었을 때 확장성과 활용성 측면에서 어느 언어와 툴이 더 유리한지를 판단하는 것이 중요합니다.

또한, 프로그래밍 언어가 다르다고 해서 데이터 사이언스 자체의 이론이나 Theory가 변하는 것은 아니니 한 가지를 중점적으로 학습해 놓으면 다른 프로그래밍 언어를 학습하시기에 매우 수월합니다.

R

R은 연구 목적의 업무에 최적화되어있지만 웬만한 종류의 데이터 분석에도 매우 용이합니다. 왜냐하면 R은 방대한 양의 패키지와 즉시 사용 가능한 테스트 SET을 제공하기 때문이죠. 이는 R의 최대 강점이기도 합니다.

R을 처음 만든 목적 자체가 ‘데이터 분석, 통계학 그리고 시각화를 하기 위해 더 좋고 친근한 방법을 만들어 보자!’입니다. 그만큼 R은 강력한 데이터 시각화 기능을 자랑하죠. 의미 전달이나 보고가 목적이라면 R을 활용하세요.

R의 또 다른 강점은 그래픽 기능으로 수학 기호를 포함할 수 있는 출판물 수준의 그래프를 제공하는 것이다. (Wikipedia).

RStudio는 R의 가장 큰 단점인 손이 가지 않는 고전적인 디자인인데요, 이 단점을 커버하고 RStudio는 R을 조금 더 편하게 사용할 수 있도록 예쁜 디자인과 섬세한 기능들을 제공합니다. – ‘이토록 쉬운 통계 & R’, 임경덕 저

PYTHON

Python은 초보자부터 전문가까지 사용자층을 보유하고 있습니다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여 대학을 비롯한 여러 교육기관, 연구기관 및 산업계에서 이용이 증가하고 있습니다. 또, Python은 순수한 프로그램 언어로써의 기능 외에도 다른 언어로 쓰인 모듈들을 연결하는 풀언어(glue language)로써 자주 이용됩니다. 실제 Python은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자 처리에도 능합니다. (Wikipedia)

필요한 패키지나 라이브러리를 불러오고 조합하여 분석 목적에 맞는 작업을 수행할 수 있습니다. 또한 직관적인 프로그래밍 언어로 초보자도 쉽게 배울 수 있다는 강점이 있습니다. 2018년 기준으로 파이썬은 머신러닝에 가장 많이 사용되고 있는 프로그래밍 언어로 자리잡았다. 최신 머신러닝 오픈소스는 대부분 파이썬 인터페이스를 지원하고, 전 세계에서 가장 규모가 큰 머신러닝 경진대회인 캐글에서도 가장 인기가 많은 언어는 단연 파이썬으로 꼽을 수 있다. 2015년부터 급격히 증가하는 머신러닝 관련 채용 포스팅에서는 항상 파이썬이 1등으로 나타나고 있다. – ‘머신러닝 탐구생활’, 정권우 저

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

출처 : http://media.fastcampus.co.kr/knowledge/dataanalysis-python-r/

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

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

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

Python을 써야 할까요? 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같은 도구가 당신의 데이터 분석에 있어서는 더 적합하지 않은가?

ToRead
R vs. Python (Dec 11, 2015)

반응형