잡상들

데이터 엔지니어링 공부를 시작해야겠다

KmkmKim 2023. 1. 15. 15:20

Inflearn을 통해 수강하던 머신러닝 기초 강의 수강을 끝냈다. 전체 시간은 15시간이지만, 공부에 대한 몰입 부족 및 이해 부족 등으로 생각보다 시간이 소요됐다. 크게 분류 모형, 회귀 모형, 군집 모형을 기준으로 머신러닝을 돌려보는 방법에 대해서 배운 것 같다. 이걸 이제 회사 업무에 적용해보고 유의미한 것들은 리포팅이나 공개적으로 적용해봐야겠다.

 

머신러닝을 배우면서 왜 모든 데이터 작업에서 전처리 단계까지가 중요하다고 하는지 실감할 수 있었다.

 

우선 제대로 된 데이터를 확보하는 것도 중요하다. 아티클을 찾아보면 데이터 사이언티스트들이 우스갯소리로 "회사에서 데이터 분석을 하려고 시도하면, '사용할 수 없는 데이터만 존재'하거나 '데이터가 없을 것'이다"라고 말한다. 처음에 전문가들의 허세인가 생각했는데, 실제로 겪어보니 무슨 말인지 이해가 됐다.

 

일례로 최근에 어떤 부서의 대시보드 제작 및 데이터 분석 요청을 받아서 살펴보던 중, 실무자가 성과보고에 올린 수치, ERP에 올린 수치, Clickhouse에 연동한 DB 수치가 모두 달라서 뜨악했던 적이 있다. 이런 경우가 발생했던 이유는 실무자는 성과를 위해서 다른 곳에서 포함시킬 수 있는 수치를 가져와서 더한 것이고, Clickhouse에 연동된 수치가 다른 것은 기획자가 이런 경우에만 적재해달라고 요청했던 탓이다. 이런 경우가 '사용할 수 없는 데이터로 존재'하는 경우였다.

 

심지어 이런 전처리 및 정합성을 맞추는 과정도 시간 소요가 적지 않은데, 머신러닝을 위해서는 EDA 이후에 Feature Engineering이라는 작업을 추가로 진행하게 된다. Feature Engineering은 머신러닝을 위해서 전처리를 하는 작업이다. 범주형 데이터를 수치형으로 변경하거나, 가중치 설정을 위해서 범위를 설정하는 등 머신러닝을 위한 전처리 작업이 들어간다. 이런 Feature Engineering 작업이 모두 끝나야 비로서 머신러닝을 사용할 수 있는 준비가 된다.

 

우선 현업에서 머신러닝을 개발하는 분들은 다를 수 있지만, 우선 데이터를 준비하고 나면 모델에 넣고 돌리는 것 자체는 생각보다 오래걸리지 않는다. 향후 모델을 고도화하는 수준이라면 엄청난 지식과 내공이 필요하겠지만, 나처럼 초짜단계에서는 수집부터 전처리까지가 더 이슈라는 느낌을 받았다.

 

그래서 데이터 분석을 잘하기 위해서는 머신러닝에 대한 공부와 함께 데이터 엔지니어링에 대한 기초지식이 필요할 것 같다는 생각을 했다. 데이터가 어떤 형태로 적재되는지 알고, DB에 대한 설계나 적재 방식을 개선하는 작업에 참여할 수 있다면 실제 필요한 분석 작업을 잘할 수 있을 것 같다는 생각을 했다.

 

데이터엔지니어와 관련된 로드맵을 보니 해야할 것들이 엄청 많다는 것을 느낀다. 우선 1월까지 머신러닝 강의 들은 것들을 계속 복습하고, 2월부터 분석을 위한 통계 공부와 함께 업무와 연관이 있을 것으로 판단되는 APIs, RDB, DataWarehouse와 같은 것들에 대해서 공부를 해봐야겠다.