최고의 데이터 과학 도구의 경쟁에서 Python과 R은 각각 장.단점이 있습니다. 다른 하나를 선택하는 것은 사용 사례, 학습 비용 및 기타 필요한 공통 도구에 따라 달라집니다.


 

DataCamp 에서 조사한바에 따르면 학습자들이 자주 묻는 질문중에 하나가 일상적인 데이터 분석 작업을 위해 R과 Python 중 어느 것을 사용해야하는지 여부를 자주 묻는다고 합니다. 이 사이트에서는 주로 대화식 R 자습서를 제공하지만, 항상 이러한 선택이 학습자들이 직면 한 데이터 분석적 도전의 유형에 달려 있다고 대답한다고 합니다.

아시다시피 Python과 R은 모두 통계를위한 유명한 프로그래밍 언어입니다. R은 통계학자를 염두에두고 개발되었지만 강력한 데이터 시각화 기능을 제공하고 있고, Python은 초보자에게 이해하기 쉬운 구문으로 높이 평가됩니다.

이 글에서는 R과 Python의 차이점과 데이터 과학 및 통계 세계에서 이들이 어떻게 다른지 살펴 보겠습니다. 이에 대한 인포그래픽을 참고하시기 바랍니다.

”Data Science Wars: R vs Python” by DataCamp

 

R 소개

뉴질랜드 오클랜드 대학의 로버트 젠틀맨(Robert Gentleman)과 로스 이하카(Ross Ihaka)는 1995 년에 S 프로그래밍 언어의 구현으로 오픈 소스 언어 R을 만들었습니다. 데이터 분석, 통계 및 그래픽 모델을 수행 할 수있는 보다 사용자 친화적 인 방법을 제공하는 데 중점을 둔 언어를 개발하는 것이 목적 이었습니다. 처음에는 R이 학문과 연구에 주로 사용되었지만 요즘 기업에서 R 을 점덤 더 많이 사용하고 있습니다. 이것은 R이 기업에서 가장 빠르게 성장하는 통계 언어 중 하나가되게합니다.

R의 가장 큰 장점 중 하나는 메일링 리스트, 사용자 제공 문서 및 매우 활발한 Stack Overflow 그룹을 통해 지원을 제공하는 거대한 커뮤니티입니다. 사용자가 쉽게 기여할 수있는 R 패키지의 거대한 저장소인 CRAN 도 있습니다. 이 패키지는 처음부터 모든 것을 개발할 필요없이 최신 기술과 기능에 즉시 액세스 할 수있게 해주는 R 함수 및 데이터 모음입니다.

만일 숙련된 프로그래머라면 R에 익숙해지는데 그렇게 크게 어려움을 겪지 않을 것입니다. 그러나 초보자는 가파른 학습 곡선으로 진입장벽이 있을 수 있습니다. 하지만, 최근엔 수많은 MOOC(Coursera, Udaciy, Edx, KMOOC 등)을 통해 공짜로 쉽게 접할 수있는 수많은 훌륭한 학습 자원이 있습니다.

 

Python 소개

 

1991년 Guido Van Rossem에 의해 만들어진 Python 은 생산성과 코드 가독성을 강조했습니다. 데이터 분석이나 통계 기법 적용을 원하는 프로그래머는 통계 목적으로 Python을 사용하는 주요 사용자 중 일부입니다.

엔지니어링 환경에서 일할 때 Python을 더 선호 할 가능성이 커집니다. 참신한 것을 하기에 좋은 유연한 언어입니다. 가독성과 단순성에 중점을두고 학습 곡선이 상대적으로 낮습니다.

Python에도 R과 같은 패키지가 있습니다. PyPi 는 Python 패키지 색인이며 사용자가 기여할 수있는 라이브러리로 구성됩니다. R과 마찬가지로 Python은 훌륭한 커뮤니티를 가지고 있지만 일반 목적의 언어이기 때문에 조금 더 산재되어 있습니다. 그럼에도 불구하고, 데이터 과학을 위한 Python은 더 많은 지배적 인 위치를 차지하고 있습니다. 기대가 커지고 더 혁신적인 데이터 과학 응용 프로그램이 여기에서 시작됩니다.

 

숫자로 본 R 과 Python

인터넷에서 R 과 Python의 채택 및 인기를 비교하는 많은 기사를 찾을 수 있습니다. 이 수치는 컴퓨터 과학의 전반적인 생태계에서이 두 언어가 어떻게 진화하고 있는지를 잘 보여 주지만 나란히 비교한다는 것은 쉽지 않습니다. 주된 이유는 데이터 과학 환경에서만 R을 발견할 수 있기 때문입니다. Python은 범용 언어로서 웹 개발과 같은 많은 분야에서 널리 사용되고 있습니다.

 

R 을 언제, 어떻게 사용해야 하나

R 은 주로 데이터 분석 작업이 개별 서버에서 독립형 컴퓨팅 또는 분석을 요구할 때 사용됩니다. 탐색 작업에 적합하며 수많은 패키지와 손쉽게 사용할 수있는 테스트로 인해 신속하게 준비하고 실행하는데 필요한 도구를 제공하기 때문에 거의 모든 유형의 데이터 분석에 편리하게 사용할 수 있습니다. R 은 대용량 데이터 솔루션의 일부일 수도 있습니다.

R 을 시작할 때 좋은 첫 번째 단계는 훌륭한 IDE인 RStudio를 설치하는 것입니다. 이 작업이 끝나면 다음과 같은 인기있는 패키지를 살펴 보는 것이 좋습니다.

  • dplyrplyr, data.table 패키지는 데이터를 쉽게 조작 할 수 있습니다
  • stringr 패키지는 문자열 조작에 유용합니다
  • zoo 패키지는 정기적이고 불규칙한 시계열로 작업하기 유용합니다
  • ggvislattice, ggplot2 패키지는 데이터 시각화를 위해 널리 사용됩니다
  • caret 패키지는 머신러닝을 위해 유용합니다

 

Python 을 언제, 어떻게 사용해야 하나

 

데이터 분석 작업을 웹 애플리케이션과 통합해야하거나 통계 코드를 프로덕션 데이터베이스에 통합해야하는 경우 Python을 사용할 수 있습니다. 완전한 프로그래밍 언어이기 때문에 프로덕션 용도로 알고리즘을 구현하는 훌륭한 도구입니다.

과거에는 데이터 분석을위한 Python 패키지의 초기 단계가 문제였지만, 수년 동안이 부분이 크게 향상되었습니다.Python 을 데이터 분석에 사용할 수 있도록 NumPy / SciPy (과학 계산용) 및 pandas (데이터 조작용)를 설치하십시오. 또한 그래픽을 만들기 위해 matplotlib 를 살펴 보고 기계 학습을 위해 scikit-learn 을 익히시기 바랍니다.

R과 달리 Python에는 명확한 뚜렷한 IDE가 없습니다.SpyderIPython Notebook, Rodeo를 보고 어떤 것이 본인에게 가장 적합한 지 확인하는 것이 좋습니다.

 

 

R 과 Python: 데이터 과학에서의 숫자

데이터 분석에 사용되는 프로그래밍 언어에 초점을 둔 최근의 여론 조사를 보면 R이 분명히 승자 입니다. 특히 Python과 R의 데이터 분석 커뮤니티에 집중한다면 비슷한 패턴이 나타납니다.

위의 수치에도 불구하고 더 많은 사람들이 R에서 Python으로 전환하고 있다는 신호가 있습니다. 또한 적절하게 두 언어의 조합을 사용하는 데이터 분석가가 증가하고 있고, 데이터 과학 분석가들 에게도 이 방안을 권장합니다.

데이터 과학 분야에서 경력을 쌓으려고한다면 두 언어 모두에서 능숙해야 합니다. 직업 동향으로 보자면, 두 기술 모두 수요가 증가했고 임금은 평균 이상으로 높습니다.

 

R의 장점과 단점

장점1 : 그림이 수천 단어 이상을 표현한다.

시각화된 데이터는 원시 숫자 만 사용하는 것보다 더 효율적이고 효과적으로 이해 될 수 있습니다. R 과 시각화는 완벽하게 궁합이 맞습니다. 시각화 패키지로는 ggplot2, ggvis, googleVis 및 rCharts 등이 사용 됩니다.

장점2 : R 생태계

R 은 최첨단 패키지와 활발한 커뮤니티로 구성된 풍부한 생태계를 갖추고 있습니다. 패키지는 CRAN, BioConductor 및 Github에서 제공됩니다. Rdocumentatio에서 모든 R 패키지를 검색 할 수 있습니다.

장점3 : 데이터 과학의 만국 공통어 R

R 은 통계학자가 통계학자를 위해 개발한 언어 입니다. 그들은 R 코드와 패키지를 통해 아이디어와 개념을 전달할 수 있습니다. 입문하려면 반드시 컴퓨터 과학 배경이 필요하지 않습니다. 또한, 점점 학계 밖 산업계에서도 채택되고 있습니다.

단점1 : 느린 속도

R 은 통계학자의 삶을 컴퓨터의 연산 속도보다 더 쉽게하기 위해 개발되었습니다. 종종 잘못 작성된 코드로 인해 느려지기도하지만, pqR, renjin, FastR, Riposte 등과 같은 R패키지로는 성능 향상을 기대할 수  있습니다.

단점2 : 가파른 학습 곡선

R의 학습 곡선은 특히 통계 분석을 위해 GUI를 사용하는 경우 중요하지 않습니다. 패키지를 찾는 것도 익숙하지 않으면 시간이 오래 걸릴 수 있습니다.

 

Python의 장점과 단점

장점1 : IPython Notebook

IPython Notebook은 Python과 데이터로 작업하기가 더 쉽습니다. 노트북을 설치하지 않고도 동료와 손쉽게 공유 할 수 있습니다. 이렇게하면 코드, 출력 및 메모 파일 구성의 오버 헤드가 크게 줄어들고 실제 작업을하는 데 더 많은 시간을 할애 할 수 있습니다.

장점2 : 범용 언어로서의 Python

Python은 쉽고 직관적인 범용 언어입니다. 무엇보다 비교적 평평한 학습 곡선을 필요로하며, 프로그램을 작성할 수 있는 속도를 높입니다. 즉, 코드 작성 시간을 줄여주며 테스팅 프레임 워크를 활용하여 코드를 재사용 할 수 있고 신뢰할 수 있습니다.

장점3 : 다목적 언어로서의 Python

Python은 서로 다른 배경을 가진 사람들을 모으게합니다. 프로그래머가 알고 있고 통계 학자가 쉽게 습득 할 수있는 공통적으로 이해하기 쉬운 언어로서 워크 플로우의 모든 부분과 통합되는 단일 도구를 구축 할 수 있습니다.

단점1 : 시각화

시각화는 데이터 분석 소프트웨어를 선택할때 중요한 기준입니다. Python에는 Seaborn, Bokeh 및 Pygal과 같은 멋진 시각화 라이브러리가 있지만 선택할 수있는 옵션이 너무 많습니다. 또한 R에 비해 시각화가 일반적으로 더 복잡하며 유려하지 않은 단점이 있습니다.

단점2 : R의 도전자로서의 Python

Python은 R에 대한 도전자입니다. 수백개의 필수 R 패키지에 대한 대안을 제공하지 않습니다. 따라 잡고는 있지만 사람들이 R을 포기하게 만들지는 아직 불분명합니다.

 

그렇다면 승자는…

여러분들에게 달려 있습니다! 데이터 과학자로서 과제에 가장 잘 맞는 언어를 고르는 것이 당신의 임무입니다. 당신을 도울 수있는 몇가지 질문들은 다음과 같습니다.어떤 문제를 해결하고 싶습니까?

  1. 언어 학습을위한 순 비용은 얼마입니까?
  2. 귀하의 분야에서 일반적으로 사용되는 도구는 무엇입니까?
  3. 다른 사용 가능한 도구는 무엇이며 어떻게 공통적으로 사용되는 도구와 관련이 있습니까?

 

DataCamp 소개

DataCamp는 온라인 대화 형 교육 플랫폼으로 데이터 과학 및 R과 Python 프로그래밍 과정을 제공합니다. 각 과정은 특정 데이터 과학 주제를 중심으로 구축되며 비디오 지침과 브라우저 내 코딩 문제를 결합하여 수행함으로써 학습 할 수 있습니다. 원할 때마다 언제 어디서나 무료로 모든 과정을 시작할 수 있습니다.

 

연관기사

 

소스: R vs Python for Data Science: The Winner is …