brunch

You can make anything
by writing

C.S.Lewis

by 점심메뉴고민 Aug 18. 2022

데이터 분석은 뭘까

중요한건 해당 산업군에 대한 지식이 아닐까..

 데이터 분석이 굉장히 핫한 단어로 떠오르고 있다. (사실 떠오른 지는 엄청나게 오래된 듯 하다)


 데이터 분석이 뭔지.. 참 거창해보이는 말인데, 결국 파고 보면 그냥 무언가를 분석할건데, 데이터를 갖고 분석한다는 걸 데이터 분석이라 하더라.


그럼 분석을 해서 뭘 하려는걸까? 


 물건을 만들어서 파는 사람들은, 더욱 물건이 많이 팔릴 수 있게끔 효율적인 마케팅 채널에 더 많이 자원을 투입해서 많은 사람들이 자기네 물건을 접하고 구매할 수 있게끔 할 것이다. (광고 <> 어트리뷰션 툴의 존재 이유)

 특정 서비스를 만들어서 배포한 사람들은, 더 많은 사람들이 자사 서비스를 이용하고 좋은 경험을 겪게 만들어 지속적으로 사용하게끔 만드는 것이 목적일 것이다.(앱 내 사용자 행동 분석 <> Amplitude와 같은 데이터 분석 툴의 존재 이유)



 굉장히 뭉퉁그려서 말하긴 했지만, 결국 데이터 분석이라는 것은 뭔가를 개선시키고 목적을 달성하기 위한 수단 그 자체인 것이다. 제조업에서 자사 부품의 불량률을 예측하거나, 인공지능이 특정 이미지를 판별하는 기술이 적용된 자율주행 등에 활용되는 AI, 머신러닝과 같은 기술적인 부분은 아니니 태클 걸지 않도록 하자. 기술의 사용 목적 자체가 다른것이니까. 근데 보면 데이터분석 자체에 목 매는 사람이 굉장히 많을 것 같다는 생각이 든다.


 DACON이라는 민간 데이터 분석 경연대회 사이트에서, 취업 전까지 취미로 참가했었던 신용카드 사용자 연체 예측 AI 경진대회에 참가했었다. 성별, 자차보유여부, 부동산, 자녀 수, 수입, 수입원, 교육수준, 가족구성원, 신용카드 발급 경과일수와 y값인 신용카드 연체 수준 (0, 1, 2)등 굉장히 여러가지 데이터의 컬럼이 있었는데, 이러한 것들을 train 데이터로 활용하여 주어진 test 데이터의 신용등급(credit) 수준 (0, 1, 2)를 맞추는 머신러닝 알고리즘(모델)을 개발하는 내용이다. 


 머신러닝이 참 좋은게, 해당 분야에 해박한 지식이 없더라도 데이터를 컴퓨터에다가 밀어 넣으면 알아서 학습하고 예측 해 준다는 점에서 굉장히 편리하다. 그런데 그 예측의 질을 올리기 위해선, 밀어넣을 데이터를 어떻게 전처리할 지, 어떤 머신러닝 모델을 사용할 지, 하이퍼파라미터는 어떻게 조정할 지, 과적합은 어떻게 방지할 지 등 여러가지 신경써야 할 부분들 무지하게 많다. 그래서 대학원 과정도 있고, 정답이란게 없는 분야라는 점에서 매력적이다.


 각설하고, 나는 초반에 누군가가 올려준 베이스라인을 바탕으로 코드를 짜고 순위권까진 들어갔는데, 적절하게 독립변수들을 조작할 생각을 안하고 무지성으로 '1차원적인 전처리'에만 집중하는 바람에 크게 결과물의 개선이나 악화를 불러 일으키지 못했다.(개인적으로 어떤 조작을 통해 결과물이 악화되는 것도 큰 결실이라 본다. 이렇게 하면 안되겠다 라는 걸 알게되는 거니까. 제일 안 좋은건 이것저것 많이 바꾸고 돌렸는데 결과물이 크게 다르지 않을 때다.. 정확성이나 logloss가 별 차이 없게 나온다든지,, 등등..)


 근데 이제 취업하고 정신없이 일 배우다가 얼마전에 이 대회가 끝난걸 알게 되었는데, 많은 사람들이 도전했었고 다양한 의견들이 오고갔었다. 이 train 데이터에 중복값이 참 많은것 같다, 이 중복데이터를 어떻게 처리할지가 관건이다 등에 대한 의견도 있었고. 아무튼 내가 찾지 못한 여러가지 포인트들이 있었다. 근데 가장 신기했던것은, 1등한 팀의 데이터 전처리 방식이 굉장히 단순하면서도 효과적이었다는 점에서 놀라웠다. 중복 데이터가 문제라면, 각각의 컬럼을 전처리 할 게 아니라 중복을 최소화할 수 있는 방향으로 컬럼을 조합하여 새로운 컬럼으로 만들어버리는 것이었다.


 얼핏 보면 One-Hot Encoding이랑 비슷해보이지만, 다른 결과를 나타낸 듯 싶다. 원핫인코딩은 각각의 독립변수 특징을 기준으로 유무를 나누어 0,1로 판단하는거고, 저 방식은 아예 새로운 컬럼을 만들어버리는거니까. 보자마자 굉장히 단순하면서도 효과적인 방법이 아닌가 라는 생각이 들었고, 결국 데이터를 분석하는 것은 사람이고 그 생각은 굉장히 어려운 알고리즘을 만드는 데 있는 것이 아닌 단순한 생각 하나하나가 모여야 하는 것이 아닐까 하는 생각이 들었다.


 굉장히 거만하고 하룻강아지같은 생각일 수 있지만, 결국 데이터 분석의 주체는 '사람'이고, 그 데이터 분석의 객체 또한 사람이 살고 있는 '세상' 이기 때문에, 그 세상을 얼마나 잘 이해하고 있는지가 데이터 분석의 방법론적인 부분보다 더 중요하다 라는 생각이 든다.


 그래서 데이터 분석을 도와주는 통계학이나 머신러닝 같은 도구들이 있지만, 결국 유의미한 인사이트를 발견하고 사업의 방향성을 결정하는 것은 그 데이터를 가지고 산업군(버티컬)을 이해하는 '사람'에 달려 있다는게 조금씩 느껴진다. 아무리 통계학을 잘하는 사람을 데려다 앉혀도, 산업군을 모르고 수익원을 모르고 비즈니스모델을 모르는 사람이라면, 아무리 데이터를 갖다 바쳐도 유의미한 분석을 해낼 수 없을 것이라는 생각이 든다. 그래서 결국 IT업종에서도 버티컬과 산업군에 대한 이해가 굉장히 중요하다는 것이다. 


작가의 이전글 뭔가 해결하려고 엄청 고민할 때
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari