>RE::VISION CRM

빅데이터

[빅 데이터] 데이터 사이언티스트가 프로그래밍을 잘 해야하는 이유

YONG_X 2013. 11. 7. 21:12

[빅 데이터] 데이터 사이언티스트가 프로그래밍을 잘 해야하는 이유

>> 전용준 xyxonxyxon@empal.com  2013 

 

 

데이터 사이언티스트는 어디 까지나 데이터 분석가라고 한다면 그들이 프로그래밍을 잘해야 하는 이유는 무엇일까?

프로그램은 프로그래머라는 전담자들이 있는 것 아닌가?

 

프로그래밍 자체는 데이터 분석과는 또 다른 종류의 일이다. 데이터 분석은 데이터 분석을 잘 하는 사람이 잘 할 수 있는 일이다. 당연히, 그러나, ...

데이터 분석을 하다보면 무수히 많은 반복작업을 요구하게 된다. 다양한 경우가 발생되고 그 마다 다른 형태로 데이터를 변환해야만 분석을 진전 시킬 수 가 있다. 전국의 시군구 단위 지역별로 각기 특성에 따라 다른 변수를 고려하여 모델을 만들고 모델에 적합한 변수를 걸러내는 작업을 해야한다고 한다면? 100개 지역에 대해 100번의 모델링용 데이터 준비와 모델링, 그리고 결과 출력, 해석을 위한 시각화... 그리고 나서 실제로 해석하는 작업까지

 

이런 작업들을 사람이 하나씩 하나씩 한다면 시간은 무제한으로 소요될 수 밖에 없는 노릇. 또 시간이 얼마나 걸리는가는 중요하지 않다고 하더라도 똑같은 반복작업을 100번 반복하고 그 안에서 변수 수백개를 일일이 눈으로 보면서 확인해야 한다면... 마치 모던 타임즈에서 찰리 채플린이 공장의 기계처럼 일을 하듯 인간으로서는 참을 수 없는 일을 계속 해야하는 것. 지쳐서 얼마 버티지 못할 것이고.

 

결국, 데이터 분석이라는 작업에 포함되는  data access, data cleaning, exploration, modeling, model test, model interpretation, reporting, documentation 을 손으로는 할 수 없기에 프로그래밍을 하자는 것이 요점. 프로그램으로 로직과 metric을 만들어 넣으면 불필요한 반복 작업은 그것이 단순 처리가 아닌 데이터 분석의 일부분일 지언정 자동화 (Analysis Automation : AA ) 시켜 버릴 수 있기 때문.   

 

게다가 데이터의 양과 종류가 많다면 ... (빅 데이터 시대라고 하니...) 당연히 프로그램을 활용하는 정도에 따라 데이터 분석가의 생산성은 기하급수적으로 차이날 수 밖에 없을 것. 

데이터 분석의 최종 결과를 좌우하는 것은 데이터 분석의 심장인 분석과 해석 자체만이 아니라, 준비에서 마무리까지 전체 과정을 효율화하는 것에 의해 상당히 크게 영향을 받는다는 것.

아무리 좋은 심장도 아무리 좋은 엔진도 바퀴나 연료탱크 없이 아무 쓸모가 없기에...

 

어쩔수 없이 오늘날의 데이터 사이언티스트는 프로그램을 자유자재로 활용하는 것이 필수불가결한 조건일 듯.