본문 바로가기

DEVELOP/IT

[데이터] R 프로그래밍 언어란?

반응형

머신러닝, 딥러닝, 인공지능 등등 빅데이터부터 시작해서, 특히나 작년 알파고 이후로 엄청나게 자주 접할 수 있는 키워드다. 수요도 계속 증가하고 있다. 실제로 구인 공고를 자주 보다보면 관련 능력을 요구하는 곳들도 쉽게 볼 수 있다. 그만큼 기본이 되는 R이나 파이썬을 학습할 수 있는 기회도 많다.


파이썬이 역시나 범용적이긴 하지만, 아무래도 통계 분석을 전문으로 하는 데에는 R이 대세다. 애초에 통계 지식을 활용한 데이터 분석만이 목적이라면 파이썬에 비해 학습 속도가 빠르기 때문이다. 기본 문법을 먼저 익히고 Pandas 같은 통계 라이브러리를 배워야 하는 파이썬에 비해 그냥 R을 배우는 게 곧 데이터 분석 툴을 배우는 것이다.




그럼 대체 R이 무엇이냐. 프로그래밍 언어의 일종이다. 근데 통계에 특화되어 있다. 프로그래밍 언어하면 보통 C++과 자바를 떠올린다. 하지만 목적에 맞게 무수히 많은 언어가 있다. R도 그 중 하나다. 파이썬은 애초에 통계를 목적으로 개발된 것은 아니지만, 라이브러리를 활용해 통계에 활용하기 쉬워서 자주 활용된다.


애초에 R을 만든 사람부터가 통계학자다. 뉴질랜드의 오클랜드 대학교 통계학 교수 2명이 만들었다고 한다. 아무래도 기존 상용 통계 분석 툴을 쓰다가 답답해서 만들지 않았나 싶다. 원래 머리 좋은 사람들은 기존에 쓰던 거 맘에 안 들면 자기가 막 만들고 그러더라.


R은 오픈 소스다. 이게 R의 폭발적인 인기의 원인이라고 한다. 기존의 주요 통계 분석 툴은 SPSS나 SAS였다. 이건 기업에서 만든 유료 프로그램이다. 보통 이런 건 몇백만원씩 하니깐 교수랑 기업 연구원 아니면 쓸 엄두도 못 낸다. 내가 1,2학년 때만 해도 통계학과 친구들이 이거 배운다고 컴퓨터실에서 수업하고 그랬던 게 기억난다. 시험 공부하려면 집이나 도서관 못 가고 학교 컴퓨터실 가야해서 불쌍하게 여겼던 것 같다.


최근의 통계학과 친구들은 파이썬을 배우더라. 사실 학교에서 R 쓴다는 얘기는 못 들어봤다. 우리 학교는 파이썬을 가르치나보다. 아마 다른 학교 통계학과는 R 가르치는 데도 있겠지. 약 6,7년 전과 차이점이 있다면 R은 오픈 소스라 자기 컴퓨터로도 공부할 수 있다. 학교 문 여는 시간에, 집에서 나와서 굳이 컴퓨터실에 가서 공부할 필요가 없다는 거다. 내 노트북으로 언제 어디서나 카페에서든 집에서든, 새벽에도 공부할 수가 있다. 좀 비유적이지만, 오픈 소스의 자유도를 보여주는 사례이다.


좀 더 직접적으로 오픈 소스의 자유도가 주는 이점은, 원하는 기능을 모두 구현할 수 있다는 것이다. 엄밀히 말해 직접 필요한 기능을 구현하려면 꽤나 실력이 필요하다. 하지만 세상은 넓고 나보다 똑똑한 사람이 만들어서 배포한 걸 쓰면 된다. SPSS 같은 툴은 제조사에서 업데이트를 해주기 전까지는 방법이 없다. 심지어 대규모의 업데이트는 다시 유료로 구매해야 한다. 하지만 오픈 소스는 전세계의 천재들이 만든 패키지들이 실시간으로 업데이트 된다. R 프로젝트에서 그걸 또 엄밀히 심사해서 승인한 것만 1만개가 넘는다고 한다. 승인받지 못한 건, 비록 좀 더 불안정할 순 있지만 훨씬 많다. 새롭게 통계 분석 기법이 개발되었는데 불과 며칠 만에 그 기법을 활용할 수 있는 패키지가 올라온다면 거의 실시간이라 할 수 있다.


이 장점 덕분에 R은 1993년 개발된 이후 점유율을 빠르게 성장시킬 수 있었다. R로 데이터 마이닝, 크롤링, 이미지나 사운드 패턴 분석 등이 가능하다. 페이스북에서 내 얼굴 찾는 거 처음에 엄청 놀라웠던 기억이 있다. 딥페이스에서 R을 썼는지는 모르겠지만, 그런 일들을 가능하게 해주는 도구인 것이다.


굳이 데이터 분석 전문가가 아니더라도, 기획자에게도 좋은 도구라고 생각한다. R 정도는 다룰 줄 알아서 스스로 간단한 데이터 분석 정도는 할 수 있다면 꽤나 유용할 것 같다. 기획력은 아이디어도 필요하지만, 근거가 있다면 더욱 강해진다. 인사이트가 데이터에 기반해있다면 그만큼 설득력 있는 아이디어도 없다. 가볍게 공부하는 것도 좋을 것이다. 

반응형