下. 경쟁에서 승리한 아나콘다
경쟁에서 승리한 아나콘다
데이터 사이언스라는 단어를 들어보고 공부하는 사람들이 점점 늘어나고 있습니다. 그에 따라 데이터 사이언스 작업 환경을 제공하기 위한 프로그램 혹은 툴킷도 많이 개발되고 있습니다. 그중 하나가 이번 주제인 아나콘다입니다. 지난 '데이터 사이언티스트에게 아나콘다가 인기 있는 이유' 1편에서는 아나콘다가 무엇인지, 그리고 아나콘다가 지니고 있는 장점에는 어떤 것이 있는지를 살펴봤습니다. 하지만 아나콘다가 아닌 다른 데이터 사이언스 툴킷에도 당연히 장점이 존재합니다. 그럼에도 불구하고 아나콘다는 데이터 사이언티스트들이 가장 많이 이용하는 툴킷입니다. 그래서 이번 2편에는 왜 많은 데이터 사이언티스트들이 다른 툴킷이 아닌 아나콘다를 선택하는지 그리고 아나콘다 외 데이터 사이언스 툴킷에는 어떤 것들이 있는지에 대해 알아보도록 하겠습니다.
데이터 사이언티스트들이 아나콘다를 선택하는 이유
분석의 편리성이 우수한 아나콘다
아나콘다의 대표적인 기능은 주피터 노트북(Jupyter Notebook)이라는 분석 환경을 제공한다는 점입니다. 그래서 아나콘다의 우수성은 곧 주피터 노트북의 우수성과 많이 연결됩니다. 그리고 주피터 노트북은 다른 데이터 사이언스 툴킷/플랫폼과 비교해 보았을 때 유저 입장에서 편리성이 매우 우수합니다. 특히 데이터 분석에 있어 상당히 편리한 기능을 많이 제공하는데 그 가장 큰 이유가 코드 작성을 편리하게 만들었기 때문입니다.
앞선 1편에서 살펴보았듯 기본적으로 잡다한 기능을 제외하고 필수적인 내용만 넣은 만큼 주피터 노트북의 디자인은 상당히 깔끔합니다. 필요 없는 내용을 굳이 보여주지 않아 사용자 입장에서 진짜 중요한 내용에만 집중할 수 있도록 도와줍니다. 하지만 그뿐만이 아닙니다. 많은 단축키 기능을 제공해 코드를 작성하는 사람 입장에서 코딩의 속도와 효율을 압도적으로 높여줍니다. 단적인 예로, 주피터 노트북에서 ESC > C를 순차적으로 누르면 그 코드가 순식간에 복사됩니다. 엑셀이나 파워포인트에서 단축키를 자주 이용하는 사람이라면 그 편리함을 잘 이해할 수 있을 겁니다. 그리고 가장 중요한 점으로 아나콘다 환경에서 코딩을 실행하는 것은 빠릅니다. 물론 언어 자체의 특성이 관여한 것이긴 하고 속도만 놓고 보면 아나콘다보다 더욱 빠른 분석 환경이 더 있지만, 웹 화면에서 손쉽게 접할 수 있도록 구성해 놓은 환경임이 믿기지 않을 정도로 빠른 코드 수행 시간을 자랑합니다.
그리고 아나콘다의 주피터 노트북 기능을 이용하는 것은 코드를 통한 소통의 편리성에도 많은 장점을 지닙니다. 대표적인 예로 셀(Cell)이라고 부르는 단위로 코드를 묶어 코딩을 할 수 있게 해 줍니다. 각 칸 별로 나뉘어 적당한 코드를 묶을 수 있기에 문장 단위가 아닌 문단 단위로 코드를 이해할 수 있게 도와줍니다. 구분 없이 쭉 이어져 있는 글과 적당히 문단 구분 및 들여 쓰기가 되어있는 글의 차이라고 보면 됩니다. 그리고 그 셀의 실행 순서를 명확하게 표시하거나 마크다운(Markdown)이라 불리는 기능으로 코드에 대한 설명을 직접적으로 삽입할 수 있게 만든 것도 매우 중요한 요소입니다. 이 코드가 어떤 순서로 작동되고 있는지, 각 코드가 어떤 의미를 지니는지 읽는 사람 입장에서 파악하기 쉽습니다. 그렇기에 주피터 노트북 환경의 작업 결과를 서로 교환한다면 상호 간의 작업 내용을 이해하는 것이 수월해지기에 서로 소통을 하는데 큰 장점을 지닙니다.
아나콘다가 데이터 사이언스 툴킷의 정석으로 굳어버린 문화
그리고 많은 데이터 사이언티스트들이 다른 데이터 사이언스 툴킷이 아닌 아나콘다를 이용하게 된 상황에는 아나콘다 사용 자체가 정석으로 굳어져버린 관습적인 이유도 어느 정도 작용합니다. 고급 레벨에서는 다른 환경을 이용하는 경우도 많지만 보통은 아나콘다를 이용해 처음 데이터 분석을 배우기 시작하며 실무에서도 아나콘다 환경을 이미 많이 구축해 놓은 경우가 많습니다. 그렇기에 자연스레 아나콘다를 이용하는 것이 가장 자연스러우며 익숙한 것이 됩니다. 그동안 이용해왔던 데이터 사이언스 툴킷이 명확한데 굳이 시간과 노력을 더 들여 다른 툴킷 사용법을 배우려면 특별한 동기가 더 필요하게 됩니다.
이와 연관되어 다른 사람들이 어떤 분석 환경에서 작업하느냐 역시 본인의 분석 환경을 선택하는데 매우 중요하게 작용합니다. 보통 사람들은 본인에 맞는 분석 환경을 선택하는 것만 중요하다고 생각하기 쉽습니다. 하지만 다른 사람들이 어떤 언어, 프로그램, 툴킷, 분석 환경을 이용하느냐는 생각보다 중요한 문제입니다. 서로 익숙하지 않은 툴킷을 이용한다면 그 자체로 소통이 어렵게 될 수 있습니다. 프로그래밍 역시 ‘언어’로 불리기 때문에 실제 언어의 학습과 비유한다면 직관적으로 이해하기 쉽습니다. 우리가 영어를 가장 먼저 배우는 이유는 전 세계에서 가장 보편적으로 사용되는 언어로 영어이기 때문입니다. 나만 다른 언어를 사용한다면 그 자체로 많은 불편함을 야기합니다.
실제로 파이썬 언어를 이용할 경우 일반적으로 .py의 이름을 가진 파일을 생성하지만 주피터 노트북 환경을 이용하면 .ipynb의 이름을 가진 파일이 생성됩니다. 물론 서로 다른 분석 환경에서 이 두 파일을 읽는 것이 그리 어려운 것은 아니긴 합니다. 하지만 이런 사소한 사항들이 겹치기에 남들이 이용하는 툴킷을 나도 이용하는 것이 곧 시간 절약과 사용성, 편리성으로 작동하게 됩니다. 그래서 어느 순간부터는 아나콘다가 가장 많이 이용되는 플랫폼인 것 자체로 많은 사람들이 아나콘다를 본인의 데이터 사이언스 툴킷으로 선택하고 있습니다.
아나콘다 외 데이터 사이언스 툴킷
물론 데이터 사이언스 생태계에는 아나콘다를 제외하고도 많은 툴킷이 있습니다. 아나콘다처럼 다양한 프로그램들을 제공한다고는 볼 수 없어 툴킷이라는 표현보다는 분석 환경이라는 표현이 더 적합할 수는 있지만 전통적으로 그리고 트렌디하게 이용되는 많은 분석 환경이 있습니다. 이 분석 환경에 대해 간단히 인지하고 있는 것만으로도 데이터 사이언티스트들과의 소통이 한 차원 수월해지기도 합니다.
R Studio
사실 파이썬이라는 언어로 한정한다면 아나콘다의 이용률이 매우 높지만, R이라는 언어를 놓고 보면 여전히 R Studio라는 분석 환경이 가장 인기가 높습니다. R Studio는 R 언어를 수행하기 위한 가장 전통적인 분석 환경입니다. 기본적으로 R Studio는 아래 화면처럼 코드 창, 코드 실행 창, 분석 환경 창, 파일 창으로 나뉘어 화면이 구성되어 있습니다. 단순히 코드 창과 코드 수행 결과만을 보여주었던 주피터 노트북과는 차이를 보이는 부분입니다. R 언어에 한정한다면 가장 기본 분석 환경으로 문화가 굳어져 있다는 점, 화면을 구성하는 레이아웃들을 본인의 취향에 맞게 구성할 수 있다는 점 때문에 여전히 많은 사람들이 R Studio를 이용합니다. 다만, 최근 데이터 사이언스 분야에서는 R보다는 파이썬 언어가 대세로 자리 잡아 그 인기가 예전만 못한 경향은 있습니다.
Google Colab
최근, 아나콘다를 위협하는 분석 환경을 하나만 뽑으라면 단연코 구글 코랩(Google Colab)입니다. 코랩은 기본적으로 구글에서 클라우드 서비스로 제공하는 데이터 분석 환경입니다. 가장 큰 특징으로 주피터 노트북의 화면 구성, 기본적인 작동 원리 및 단축키 기능을 그대로 가져왔다는 점입니다. 그래서 아나콘다가 지닌 장점을 그대로 흡수하면서도 아나콘다에 익숙해진 사람이라면 쉽게 구글 코랩에도 적응할 수 있도록 만들었습니다. 구글 코랩의 가장 큰 장점이라고 한다면, 구글에서 GPU를 포함한 강력한 컴퓨팅 파워를 제공한다는 점입니다. 무료로도 일반 개인이 구매하기에는 부담스러운 수준의 기능을 제공하며 월 구독 서비스를 추가적으로 신청해, 더 좋은 컴퓨팅 파워를 제공받을 수도 있습니다. 그래서 하드웨어 측면이 중요한 인공지능, 딥러닝 분야 종사자들도 많이 애용하고 있는 분석 환경이기도 합니다.
Kaggle Notebook
마지막으로, 캐글(Kaggle)에서 제공하는 캐글 노트북(Kaggle Notebook) 역시 많은 인기를 끄는 데이터 사이언스 분석 환경입니다. 캐글은 기본적으로 데이터 사이언스 경진대회를 주기적으로 개최하는 플랫폼입니다. 다만, 이 플랫폼 자체에 캐글 노트북이라는 분석 환경 기능을 제공하여 많은 이용자들이 캐글에서 데이터 경진대회를 진행하며 바로 같은 플랫폼에서 분석을 진행할 수 있도록 합니다. 물론 캐글에서 진행하는 경진대회 참여가 아니더라도 캐글 노트북 기능은 이용할 수 있습니다. 구글 코랩과 마찬가지로 주피터 노트북의 디자인과 기능을 그대로 구현했으며, 어느 정도의 컴퓨팅 파워를 클라우드 서비스로 기본 제공해줍니다. 컴퓨팅 파워가 구글 코랩보다 다소 약하기는 하지만 캐글이라는 플랫폼 자체의 영향력이 워낙 높아 자연스레 유명해진 데이터 사이언스 분석 환경입니다.
데이터 사이언스 툴킷/플랫폼 사용에 있어 정답은 없습니다.
이렇듯 데이터 사이언스를 위한 툴킷은 생각보다 많이 존재하고 각각마다 장점도 뚜렷합니다. 이제는 데이터 사이언스라는 개념이 등장한지도 꽤 시간이 지났기 때문에 환경적인 측면에서 많은 발전이 있던 것도 사실입니다. 그래서 사용자 입장에서는 내 입맛에 맞는 툴킷을 골라 사용만 하면 되는 편안한 환경이 구성되어 있습니다. 물론 그 안에서도 여러 이유로 아나콘다가 가장 기본적이면서도 유명한 데이터 사이언스 툴킷으로 자리 잡았으며, 그에 따라 많은 분석 환경들이 아나콘다를 표방하고 있습니다. 그렇기에 ‘나는 어떤 환경에서 데이터를 분석하면 좋을까?’ 고민하는 사람이 있다면 기본적으로는 아나콘다를 이용해보고 그 이후에 다양한 분석 환경을 접해보기를 추천합니다. 아나콘다라는 기본적 틀에 적응이 되었다면 이를 응용한 구글 코랩, 캐글 노트북 등 다양한 환경에서 내 입맛에 맞는 것을 선택하기만 하면 됩니다.
어떤 환경이 나에게 잘 맞는지, 사람들이 많이 이용하고 있는지를 잘 파악해야 합니다. 데이터 사이언스 툴킷이나 분석 환경에 대한 논의는 늘 하나의 뜨거운 토픽입니다. 누군가는 특정 툴킷을 선호하고 누군가는 그 툴킷에 불편함을 느낍니다. 여기서 생각하면 좋은 것은 결국에는 나에게 잘 맞는 환경을 선택하는 것, 다른 사람들도 많이 이용하는 환경을 선택하는 것입니다. 접근성, 컴퓨팅 파워, 디자인 등 데이터 사이언스 분석 환경을 선택하는 데는 다양한 고려 요소가 있을 수 있기에 본인이 중요하다고 생각하는 점에 초점을 맞추면 됩니다. 다만, 다른 사람과의 편리한 소통은 물론 내가 모르는 문제가 생겼을 때, 질문할 수 있는 사람을 찾는 것 역시 매우 중요한 문제입니다. 때문에 해당 툴킷 혹은 분석 환경이 다른 사람들도 많이 이용하고 있는지에 대해서는 꼭 함께 고려해 가장 본인 상황에 적합한 분석 환경을 찾아내시기 바랍니다.