Offcanvas

개발자 / 빅 데이터 / 클라우드

주피터부터 R스튜디오까지··· ‘데이터 과학’ 필수템 8선

2022.05.10 Peter Wayner  |  CIO
기업들이 비즈니스 가치를 얻기 위해 ‘데이터 과학’에 점점 더 관심을 기울이면서 이를 지원하는 도구도 급증하고 있다. 여기서는 데이터 과학자가 주로 사용하는 도구를 살펴본다. 

데이터 과학 열기가 식을 줄 모른다. 한때 데이터를 수집하고 분석하는 일은 연구소에 있는 소수의 과학자만 할 수 있다고 간주됐다. 하지만 이제는 모든 기업이 데이터 과학을 활용해 조직을 간소화하고 고객을 만족시키고 싶어 한다. 데이터 과학 도구가 이러한 수요를 충족시키기 위해 성장 중이다. 불과 몇 년 전만 해도 데이터 과학자는 명령줄 그리고 몇 안 되는 오픈소스 패키지를 사용했다. 이제는 데이터 과학의 많은 허드렛일(예: 데이터 클렌징 등)을 처리하는 전문 도구가 속속 개발되고 있다. 

규모도 변하고 있다. 원래 데이터 과학은 과학자가 열심히 실험한 후 행하는 숫자 작업에 불과했다. 이제 데이터 과학은 워크플로우의 가장 중요한 부분이다. 오늘날 기업들은 현황을 신속하게 파악하기 위해 비즈니스 보고에 수학적 분석을 통합하고 대시보드를 구축한다. 아울러 속도도 빨라지고 있다. 한때 연간 또는 분기로 이뤄졌던 분석 작업은 이제 실시간으로 실행된다. 기업들은 관리자와 직원이 현명한 결정을 내릴 뿐만 아니라 데이터 과학이 제공하는 모든 것을 활용할 수 있도록 현재 무슨 일이 일어나고 있는지 파악하고 싶어 한다. 

여기서는 끝없는 데이터 흐름 분석에 정확성과 과학을 더하는 도구들을 소개한다. 
 
ⓒGetty Images Bank

주피터 노트북(Jupyter Notebooks)
단어, 코드, 데이터 묶음은 ‘공통어(lingua franca)’가 됐다. 변하지 않는 분석과 콘텐츠로 채워진 정적 PDF는 영구적 기록을 생성하기 때문에 여전히 가치 있지만 데이터 과학자는 하부의 메커니즘을 이리저리 손보고 싶어 한다. 주피터 노트북을 사용하면 단순히 정보를 확인하는 것 이상의 일을 할 수 있다. 노트북은 매스매티카(Mathermatica; 계산용 소프트웨어)의 유연성을 차용하고자 했던 파이썬 사용자에 의해 처음 개발됐다. 오늘날 표준 주피터 노트북은 40개 이상의 프로그래밍 언어를 지원한다(R, 줄리아(Julia), 자바, C 언어가 주를 이룬다). 

노트북 코드 자체는 오픈소스여서 데이터 큐레이션, 학습 지원, 아이디어 공유 등 여러 흥미로운 대규모 프로젝트의 기반이 될 수 있다. 대학에서는 노트북을 활용해 강좌를 진행한다. 데이터 과학자는 이를 사용해 아이디어를 교환하고 전달한다. ‘주피터허브(JupyterHub)’는 인증과 함께 컨테이너화된 중앙 서버를 제공하여 온갖 데이터 과학 아이디어를 제공하는 역할을 담당한다. 따라서 데스크톱에 소프트웨어를 설치하거나 유지관리하거나 또는 컴퓨팅 서버 확장을 고민할 필요가 없다. 

노트북 랩 스페이스(Notebook lab spaces)
주피터 노트북은 단독으로 실행되지 않는다. 데이터가 저장되고 분석되는 본거지가 필요하다. 현재 여러 회사가 홍보 차원에서 또는 명목적 수수료를 받고 이를 지원하고 있다. 구글의 코랩(Colab), 깃허브의 코드스페이스(Codespces), 애저의 머신러닝 랩(Machine Learning lab), 주피터랩스(JupyterLabs), 바인더(Binder), 코캘크(CoCalc), 데이터로어(Datalore) 등이 대표적이다. 하지만 랩 벤치에 자체 서버를 설치하는 일은 그리 어렵지 않다. 

이러한 서비스는 유사하지만 중요한 차이점이 있다. 대부분은 어떤 방식으로든 파이썬을 지원하지만 그 이후에는 로컬 환경 설정이 중요하다는 점이다. 예를 들어 마이크로소프트 애저 노트북(Azure Notebooks)은 이 회사에서 개발한 언어인 F#을 지원한다. 구글의 코랩(Colab)은 텐서플로우를 사용한 머신러닝 프로젝트에서도 지원되는 스위프트(Swift)를 지원한다. 아울러 이러한 랩 스페이스는 메뉴, 여타 소소한 기능에도 차이점이 있다. 

R스튜디오(RStudio) 
R 언어는 작업 데이터 세트를 로드한 다음 데이터를 분석하기 위해 알고리즘을 적용하는 데 최적화되도록 통계학자 및 데이터 과학자에 의해 개발됐다. 명령줄에서 직접 R을 실행할 수도 있지만 대부분 R스튜디오를 사용해 작업을 처리한다. R스튜디오는 수학 연산을 위한 IDE라고 할 수 있다. 

R스튜디오의 핵심은 데이터를 탐색하고 코드를 수정하며 정교한 그래픽을 생성하는 오픈소스 워크벤치다. 사용자의 연산 이력을 추적하기 때문에 롤백이나 동일한 명령 반복이 가능하다. 코드가 실행되지 않을 때는 디버깅을 지원한다. 파이썬을 실행할 수도 있다. R스튜디오 개발사는 공유 데이터 세트에서 협업하려는 팀을 위한 기능을 추가하고 있다. 버전 관리, 역할, 보안, 동기화 등이다. 

스위브(Sweave) 및 니터(Knitr)
레이텍(LaTeX)으로 논문을 쓰는 데이터 과학자는 스위브와 니터의 복잡성이 부담스럽지 않을 것이다. 두 패키지는 R이나 파이썬의 데이터 처리 역량과 텍(TeX)의 형식을 통합하도록 설계됐다. 목표는 데이터를 차트, 표, 그림이 포함된 보고서로 변환하는 단일 파이프라인을 만드는 것이다. 이 파이프라인은 동적이고 유연하지만 궁극적으로 영구적인 기록을 생성한다. 데이터가 정리, 구성, 분석되면 차트와 표가 수정된다. 결과가 완료되면 데이터와 텍스트는 원래 입력과 최종 텍스트를 함께 묶는 하나의 패키지에 저장된다. 

통합 개발 환경(Integrated development environments)
“천재는 99%의 노력과 1%의 영감으로 만들어진다”라고 토마스 에디슨은 말했다. 데이터 과학의 99%도 데이터를 정리하고 분석을 위해 준비하는 것으로 이뤄진다. 여기서 IDE는 C# 등의 주류 프로그래밍 언어, R 등의 데이터 과학용 언어를 모두 지원하는 기반이다. 예를 들어 이클립스 사용자는 자바로 코드를 정리한 다음 R로 전환하여 r자바(rJava)로 분석할 수 있다. 파이썬 개발자는 파이참(Pycharm)을 사용하여 파이썬 도구를 통합하고, 파이썬 기반 데이터 분석을 오케스트레이션한다. 비주얼 스튜디오(Visual Studio)는 주피터 노트북과 전문 데이터 과학 선택지로 일반 코드를 처리한다. 

데이터 과학 워크로드가 증가하면서 몇몇 기업은 데이터 작업에 적합한 로우코드 및 노코드 IDE를 개발하고 있다. 래피드마이너(RapidMiner), 오렌지(Orange), JASP 등은 데이터 분석에 최적화된 도구의 예다. 이는 시각적 편집기를 활용하며, 대부분의 경우 아이콘 드래그로 모든 일을 처리할 수 있다. 물론 약간의 사용자 정의 코드로 이를 보완할 수도 있다. 
 
도메인별 도구(Domain-specific tools) 
오늘날 많은 데이터 과학자는 마케팅 또는 공급망 최적화 등 특정 영역을 전문으로 하며, 따라서 도구도 그에 맞춰 진화했다. 몇몇 도구는 특정 영역에 초점을 맞추고 있으며, 해당 사용자가 직면하는 특정 문제에 최적화돼 있다. 예를 들면 마케터는 고객 데이터 플랫폼(CDP)이라고 하는 수많은 옵션을 가지고 있다. 이는 매장, 광고 포털, 메시징 애플리케이션과 통합돼 고객을 위한 일관되고, 끊임없는 정보 스트림을 생성한다. 내장된 백엔드 애널리틱스는 마케터가 캠페인 효율성을 파악할 수 있는 통계를 제공한다. 

이 밖에 보얀트(Voyant)는 텍스트를 분석하여 가독성을 측정하고 문구 간 상관관계를 파악한다. AWS의 포캐스트(Forecast)는 시계열 데이터를 사용해 비즈니스의 미래를 예측할 수 있도록 최적화됐다. 애저의 비디오 애널라이저(Video Analyzer)는 AI 기술을 활용해 비디오 스트림에서 답을 찾아낸다. 

하드웨어(Hardware)
클라우드 컴퓨팅의 부상은 데이터 과학자에게 신이 내린 축복이었다. 가끔 분석을 하기 위해 자체 하드웨어를 유지 관리할 필요가 사라졌기 때문이다. 클라우드 업체는 사용자가 필요로 할 때마다 (하드웨어를) 빌려준다. 하루 동안만 엄청난 용량의 램(RAM)이 필요하다면 이는 탁월한 선택지다. 하지만 프로젝트가 장시간 분석을 지속적으로 필요로 한다면 자체 하드웨어를 구매하는 게 더 저렴할 수 있다. 

최근에는 병렬 연산에 특화된 옵션이 등장하고 있다(데이터 과학자는 과거 비디오 게임용으로 설계됐던 GPU를 사용한다). 이를테면 구글은 머신러닝 속도를 높이기 위해 전문 TPU(Tensor Processing Unit)를 만들었다. 엔비디아는 자사의 칩을 DPU(Data Processing Unit)라고 부른다. d-매트릭스(d-Matrix) 등의 스타트업은 인공지능에 특화된 하드웨어를 설계하고 있기도 하다. 몇몇 작업은 노트북이면 무난할 것이다. 하지만 복잡한 연산을 해야 하는 대규모 프로젝트라면 이제 훨씬 더 빠른 선택지가 즐비하다. 

데이터(Data)
도구가 아무리 좋다고 해도 데이터가 없으면 쓸모없다. 몇몇 기업은 선별된 데이터 컬렉션을 판매한다. 클라우드 서비스를 파는 기업(AWS, GCP, 애저, IBM)도 있다. 데이터를 환원하는 기업(오픈스트리트맵(OpenStreetMap)도 있다. 미국 정부기관(연방 저장소(Federal repository))은 데이터 공유를 업무의 일부라고 생각한다. 그런가하면 몇몇 기업은 서비스 요금을 청구하고 싶어 한다. 이들 모두는 사람들이 직접 데이터를 찾고 정리하는 수고를 덜어줄 수 있다. ciokr@idg.co.kr

 
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.