본문 바로가기
데이터사이언스/인공지능을 처음공부하는 사람들을 위한 글

Python vs R 무엇을 배워야 할까?

by 미스터탁 2022. 12. 11.

내가 어떤 직업을 갖고자 하는지가 매우 중요하다. AI/데이터 사이언스 분야에서도 다양한 직업이 존재한다. 아래 글을 참고하자. 

 

https://bluediary8.tistory.com/148

 

데이터 사이언티스트 (Data Scientist) 되기 위해서 / 인공지능 관련 직업

데이터 사이언티스트 (Data Scientist) 가 되기 위해서는 무엇을 전공해야 하고 무엇을 공부해야 할까? 어느정도 시간을 투자하고 얼마나 공부해야 데이터 사이언티스트로서 취업할 수 있을까? 문과

bluediary8.tistory.com

 

당연히 기업에서 요구하는 역할과 내가 원하는 직업에 따라 내가 중점적으로 배워야하는 언어는 달라질 것이다. 

Python과 R은 둘다 데이터 사이언스 쪽으로 특화된 언어라고 할 수 있다. 그래서 많은 사람들이 데이터사이언스를 배우기 위해서는 두언어를 익혀야한다고 말한다. (당연히 가장 좋은 것은 둘 다 하는 것이다)

R은 매우 쉬운 언어이다. 필자가 접해본 언어 중에 가장 쉬운 프로그래밍 언어였고, 직관적이고 초보자가 배우기 매우 쉬운언어이다. 통계 프로그래밍, 웹크롤링, 데이터 분석, 데이터 시각화 등에 장점이 있다. 

 

반면 Python 같은 경우 R에 비해 조금은 배우기 어려운 언어이다. 프로그래밍 언어들끼리는 공통적으로 가지는 특징이 있기 때문에, 하나의 언어를 익혀두면 다른 언어를 배우는 것은 조금 쉬운편이다. Python을 먼저 배우고 R을 하면 조금 쉽게 느껴질수 있고, 반대로 R을 먼저 배우고 Python을 배우면 어렵게 느껴질 수 있다. Python은 앞서 언급한 통계 프로그래밍, 웹크롤링, 데이터 분석, 데이터 시각화 또한 가능하지만, 이보다는 딥러닝 프레임 워크에 초점이 맞춰져 있다. 즉, 딥러닝 프레임 워크인 PyTorch나 Keras를 사용하기 위해서는 Python을 필수적으로 해야한다. 이 얘기는 곧, 딥러닝을 위해서는 파이썬을 해야한다라는 것이다.

 

Python은 단순히 데이터 사이언스 언어가 아니라, 개발 가능한 언어이기 때문에 다양환 환경을 구축하여 서비스 타입으로도 개발이 가능하다. 하나의 예로 강화학습 알고리즘 연구는 주로 Gym환경이나 unity환경 등으로 많이 이루어지는데, 현재로서 R로는 99.99% 불가능하다. 무조건 Python을 사용하여 환경을 구축하고 연구를 진행해야한다.

 

그렇다면, R로는 딥러닝 모델 구축이 불가능 할까? 그렇지 않다. Keras가 R에서도 사용이 가능하기 때문에, R로도 충분히 가능하다. 하지만, 이 또한 백엔드로 python module을 불러와서 사용하는 것이기 때문에, 속도가 python에 비해 느리고, 많은 사람들이 공유하는 딥러닝 오픈 소스로서 Python을 사용하기 때문에, 내가 원하는 모델을 개발할때 참고할 만한 소스가 부족하다.

 

결론을 이야기하면, 

딥러닝(CV, GAN, NLP, 강화학습) - Python

머신러닝, 데이터분석, 데이터시각화, 통계시뮬레이션 - R

이라고 할 수 있다.

 

이는 데이터사이언스, 인공지능을 위한 최소한으로 갖추어야 할 역량이다. 이외에도 Java, SQL,Hadoop 등을 다룰 수 있으면 더 좋다. 

필자의 경우에는 기본적인 데이터 전처리, 머신러닝 모델을 개발 할때에는 R을 사용하고, 딥러닝 모델을 사용할때에는 Python을 활용한다. 

 

 

 

 

반응형

댓글