2016.08.01 데이터 사이언스

R을 활용한 데이터 분석 #1 – R, 그것이 알고 싶다!

알파고의 출현 이후, AI와 더불어 빅데이터 기술이 새로운 산업 구조의 변화를 이끌어 나가고 있습니다.

데이터 분야에 종사하거나 해당 분야의 전문가를 꿈꾸는 사람들이라면  ‘R’이라는 언어를 한번쯤 들어본 적 있을 텐데요.

앞으로 3편에 걸쳐 엔씨소프트 데이터분석팀 이은조 팀장이 R은 무엇인지, 뭣 때문에 중한지(!), 그리고 엔씨소프트에서는 R을 어떻게 활용해 데이터를 분석하는지 소개해 드리도록 하겠습니다.  ( ͡° ͜ʖ ͡°)



데이터 분석가들이 가장 선호하는 언어  

R은 통계 분석을 위해 개발한 언어이자, 소프트웨어 도구입니다. 원래 Bell 연구소에서 만든  ‘S’라는 프로그래밍 언어가 있었는데, 로버트 젠틀맨(Robert Gentleman)과 로스 이하카(Ross Ihaka)라는 사람이 S를 참고해서 누구나 자유롭게 사용할 수 있도록 오픈 소스로 구현한 것이 R입니다(*눈치채셨겠지만 R이라는 이름은 S라는 언어에서 비롯되었고 S라는 이름은 Statistics의 S를 뜻합니다).

로스 이하카(왼쪽)와 로버트 젠틀맨(오른쪽) 

로스 이하카(왼쪽)와 로버트 젠틀맨(오른쪽)


R이 처음 공개된 게 1993년이니까, 벌써 20년이 넘은 오래된 언어네요. R은 그동안 일부 통계학자들만 애용하는 마이너한 언어였는데, 최근 데이터 분석 붐이 일면서 3~4년 사이 그 인기가 매우 높아졌습니다.

아래 그림은 2015년, KDnugget(www.kdnuggets.com)라는 사이트에서 데이터 분석가들이 사용하는 도구를 조사한 자료입니다. 보시다시피 R은 데이터 분석가들이 가장 많이 쓰는 도구임을 알 수 있죠.

이 사이트가 전통적인 통계 분석가들보다는 해커 성향(!)의 분석가들이 많이 이용하는 사이트라는 점을 감안하더라도, R이 상당히 대중화된 도구임을 알 수 있습니다.

데이터 분석가들이 가장 많이 사용하는 도구는?

데이터 분석가들이 가장 많이 사용하는 도구는?


여담이지만 엔씨소프트 데이터분석팀에서는 채용 시 지원자들에게 R을 이용한 분석 과제를 냅니다.

과제를 낸 지 2~3년 정도 됐는데, 초기엔 과제를 내는 지원자가 절반도 채 되지 않았지만 요새는 대부분 과제를 너무 잘해오셔서 깜짝 놀랄 때가 한 두 번이 아니랍니다(이참에 과제 난이도를 좀 올려야 ^^;).

요즘은 통계학과에서도 R을 많이 사용한다더군요. 이런 것만 봐도 R이 요즘 대세임은 부인할 수 없는 사실입니다. 취업 검색 사이트 Indeed.com에서 공개한 데이터 분석가 구직 추세 비교 그래프를 보시겠습니다.

R과 대표적인 통계 도구인 SPSS(위)와 SAS(아래)의 수요를 비교한 것입니다 1R과 대표적인 통계 도구인 SPSS(위)와 SAS(아래)의 수요를 비교한 것입니다 2

R과 대표적인 통계 도구인 SPSS(위)와 SAS(아래)의 수요를 비교한 것입니다. R 전문가에 대한 수요(주황색) 가 상대적으로 점점 높아지고 있는 걸 알 수 있습니다.

R의 인기 요인

그렇다면 왜 R은 이토록 인기가 많은 것일까요!? 몇 가지 이유를 꼽아 보겠습니다.

첫째, 데이터 시각화 기능이 다른 언어나 도구에 비해 매우 편리하고 풍부합니다. 통계 분석 도구에서 웬 시각화? 하고 생각하실 분들도 있을 텐데요. 아래 이미지를 보시겠습니다.

천 개의 숫자보다 더 나은 한 개의 그래프.jpg 1
천 개의 숫자보다 더 나은 한 개의 그래프.jpg 2

천 개의 숫자보다 더 나은 한 개의 그래프.jpg


어떤가요? 숫자만 나열한 것보다 그래프가 훨씬 더 직관적으로 와닿지 않나요? 이처럼 실제 데이터 분석을 할 때는 많은 데이터를 적절한 그래프로 표현하는 게 매우 중요하답니다.

둘째, 다양한 통계 분석 라이브러리가 있다는 사실! 일반적으로 널리 사용하는 회귀 분석이나 ANOVA(*분산분석), 기계 학습 알고리즘 등은 물론이고, 전세계의 수많은 통계학자와 개발자 및 분석가들이 자신들이 만든 분석용 알고리즘을 R로 구현해서 공개하고 있죠.

R로 할 수 있는 게 넘나 많은 것...! 

R로 할 수 있는 게 넘나 많은 것…!


특히 최근에는 저명한 학자들이 논문을 통해 발표한 통계 분석이나 기계 학습 알고리즘을 R패키지로 함께 공개하는 경우가 많아 이런 최신 기법들도 R에서 편하게 사용해볼 수 있습니다. 이건 다른 분석 솔루션에서는 얻을 수 없는 R만의 가장 큰 장점이죠.

가장 중요한 세 번째! 공짜입니다!

이런 말로만 공짜 말구요 

이런 말로만 공짜 말구요


물론 공짜인 분석 도구들은 많이 있는데요, R은 성공한 오픈 소스의 장점인 빠른 발전을 통해 나날이 성능과 기능이 향상되고 있어 이젠 웬만한 상용 솔루션보다 나은 면이 많죠.

여기서 잠깐. 물론 장점만 있는 건 아닙니다. R의 가장 큰 단점을 꼽자면, 프로그래밍 언어이기 때문에 프로그래밍 경험이 없는 사람에게는 상당한 진입 장벽이 느껴질 수 있습니다.

프로그래밍 언어를 처음 접하면 이럴 수도...

프로그래밍 언어를 처음 접하면 이럴 수도…


하지만 R은 다른 범용 언어와 달리 통계 분석에 특화된 언어이기 때문에, 초심자가 데이터 분석 목적으로 배울 때는 다른 언어보다는 조금 쉬울 거라고 봅니다(아니라고 하신다면…할 말은 없습니다만, 쿨럭!)

엔씨소프트 데이터분석팀에서는 R을 대부분의 분석 작업에 사용할 뿐만 아니라, 서비스 개발에도 적극 활용하고 있습니다. 최근에 R을 메인 도구로 사용한 대표적인 케이스는 ‘진성 유저 지표’ 작업인데요. 다음 편에서 이에 대한 이야기를 다뤄 보도록 하겠습니다. (*벌써 어렵다고 지친 건 아니죠? 찡끗-)

2편에서도 쉬운(?) 설명으로 돌아오겠습니다 (웨건웨건~)

2편에서도 쉬운(?) 설명으로 돌아오겠습니다 (웨건웨건~)


R이 어떤 언어인지 대략 감이 오셨나요?

2편도 기대 많이해 주세요~ //ㅁ//

TOP