Search
Duplicate

01. 데이터 과학 첫 걸음

Created
2024/03/04 05:35
Tags
데이터
데이터분석
통계
안녕하세요, 알음입니다.
최근 몇 년에 걸쳐 데이터 분석 - 대규모 언어 모델(LLM) - 생성형 AI 등의 개념이 사회 전반에 걸쳐 선풍적인 인기를 거치면서 ‘데이터 리터러시’, ‘데이터 분석’에 대한 관심이 높아졌습니다. 이에 따라 ‘데이터 분석’과 관련된 직업에 관심을 가지는 학생의 숫자도 폭발적으로 증가했습니다. 저 또한 지난 2018년, 국비지원 데이터 분석가 양성 과정인 ‘데잇걸즈’ 2기를 수강한 이후로 꾸준히 IT와 직/간접적인 연관을 가진 일을 해오면서 ‘데이터 분석에 관심은 가지고 있는데 어느 것부터 공부해야 하는지 조언을 부탁한다’는 이야기를 종종 듣고 있습니다.
이번 글은 그 모든 질문에 답하면서 이야기를 주고 받았던 내용을 기반으로 ‘데이터 과학’에 대해 처음으로 접하는 분을 위한 기초 개념에 초점을 맞추고 작성한 글입니다. 최대한 쉽게 풀어서 쓰고자 노력하였으나 부족한 부분이 있는 점은 이해를 부탁 드리며, 관련 질문은 댓글로 남겨주시면 감사하겠습니다.
본 글이 길어져서 데이터 과학 분야 입문 추천 자료 리스트는 ‘부담 없이 시작하는 데이터 과학 공부’라는 별도의 포스팅으로 분리하였습니다. 경제적 부담을 최대한 줄일 수 있도록 각종 도서와 무료 강의 위주로 리스트를 작성했으니 많은 분들께서 참고해주시면 감사하겠습니다.
목차
1.
데이터 / 데이터 분석의 정의는 무엇일까요?
1-1. '데이터'란 무엇일까요?
‘데이터 과학’에 대한 이야기를 하기 전에, ‘데이터란 무엇인가?’에 대한 이야기부터 해보고자 합니다. 우선 그림을 하나 보겠습니다.
상기 그림에서 설명된 바와 같이 데이터란 ‘사실의 나열’일 뿐입니다. 즉, 원시 데이터(Raw-data)의 상태인 ‘데이터’는 아무런 정리/해석을 거치지 않았기 때문에 (’정보’ 이상에 해당할 수 있는) 어떠한 ‘의미’도 가지지 않습니다. 그렇기 때문에 ‘데이터’로부터 ‘의미’에 해당하는 ‘정보’를 찾는 직업인 ‘데이터 분석가’가 존재하는 것입니다. 이를 간단한 예시를 통해 설명하면 다음과 같습니다.
데이터 : 직장인 100명의 2024년 상반기 카드 거래 내역
정보 : 직장인 100명의 카드 거래 내역을 분석한 결과 (ex. 100명 중 70명은 평일 매일 오전 8시 30분 경에 커피 상품을 구매한다.)
지식 : ‘정보’로부터 좀 더 일반화 가능한 가치를 도출한 결과 (ex. 직장인 중 절반 이상은 매일 아침 출근길에 커피 상품을 구매한다.)
지혜 : ‘지식’을 일반적인 패턴으로 정리한 결과 (ex. 상당수의 직장인은 아침 출근길에 커피를 산다. → 해당 시간대에 가격 할인을 시행하면 매출이 증가할 수 있다.)
참고로, 한동안 ‘빅데이터’라는 개념이 유행했지만 꼭 크기가 커야만 ‘데이터’인 것도 아닙니다. 예를 들어, 제가 매일 휴대전화 어플리케이션에 기록하고 있는 식단 정보, 제 손목에 늘 차고 있는 애플워치가 자동으로 기록하는 운동량 정보도 좋은 ‘데이터’가 될 수 있습니다. 심지어 그 두 가지 ‘데이터’를 조합하면 저의 일일 칼로리 섭취량과 소모량에 대한 데이터 분석을 통해 체중 변동 추이를 예측하는 통계 모델을 만들 수도 있습니다. (+ 저는 이 작업을 시도해 본 적이 있습니다.)
1-2. 데이터 분석이란 무엇일까요?
앞서 ‘데이터’의 개념을 간단히 정리하면서 ‘데이터’가 진정한 가치를 지닌 ‘정보’(혹은 ‘지식’)이 되기 위해서는 ‘정리’와 ‘해석’의 과정을 거쳐야 한다고 말씀드렸습니다. 데이터 분석을 최대한 단순하게 정리하면 이 ‘정리’와 ‘해석’의 과정입니다. 이에 대해 깔끔하게 정리한 글을 하나 인용하겠습니다.
데이터 분석은 데이터를 정리하고, 변환하고, 조작하고, 검사함으로써 지저분한 원시 데이터에서 유용한 인사이트를 도출하는 작업입니다. 데이터에서 얻은 인사이트는 차트, 그래프 또는 대시보드와 같이 시각적인 형태로 표현됩니다. 이러한 통찰력은 기업이나 조직의 발전에 도움을 줄 수 있습니다. 예를 들어, 의사 결정권자는 실행 가능한 결론에 도달하고 올바른 비즈니스 결정을 내릴 수 있습니다. 또한, 원시 데이터에서 얻은 지식은 회사와 조직이 고객 기반을 확장하고 성과를 개선하면서 수익을 증대로 이어지는 조처를 하도록 도움을 줍니다. 데이터 분석의 핵심은 트랜드를 식별하고 예측하며, 수집 가능한 모든 데이터로부터 패턴과 상관관계를 파악하여 복잡한 문제에 대한 해결책을 찾는 것입니다. - 출처 : 요즘IT 블로그
앞서 예시로 말씀 드린 ‘카드 거래 내역’ 데이터의 사례를 다시 가져오면, ‘카드 거래 내역’이라는 원시 데이터(Raw-data) 만으로는 아무 의미도 찾을 수 없습니다. 그 안에서 찾을 수 있는 ‘정보’는 ‘각 개별 카드 사용자가 언제 어디서 무엇을 구매했는가?’에 대한 답일 뿐입니다. 하지만, 데이터 분석가가 적절한 정리/변환/조작/검사(이것을 보통 ‘전처리’라고 부릅니다.)의 절차를 거쳐 데이터의 행간에 숨어 있는 의미를 찾으면 그때부터는 다양한 해석을 더할 수 있게 됩니다. 앞서 예시로 든 각 시간대별 구매 패턴 분석 뿐만 아니라 특정 시기별(ex. 계절별) 소비 패턴을 찾을 수도 있고, 더 나아가 그러한 패턴이 발생한 원인에 대한 추론 또한 가능해집니다.
실제로 (하단에 소개할 예정인) 데이터 분석가의 필수 역량 중에는 ‘Domain Knowledge’가 있습니다. 이는 데이터 분석가의 업무 범위 내에 ‘카드 거래 내역’ 데이터로부터 ‘소비 패턴’을 찾는 것 뿐만 아니라 그러한 소비 패턴의 ‘발생 원인’을 추론하는 것도 포함되기 때문입니다.
1-3. 데이터를 통한 문제 해결 절차
그렇다면 ‘데이터 분석’은 어떤 절차로 이루어질까요?
(상당수의 다른 사무직 직업이 그러하듯이) 데이터 분석가의 일도 ‘문제 해결의 필요’로부터 출발합니다. 이 ‘문제’는 ‘매출/수익 감소’, ‘이탈율 증대’와 같은 기업의 비즈니스 관련 ‘문제’일 수도 있고, ‘정부 지원 사업 예산 사용의 비효율성 증대’와 같은 정부(및 비영리 조직)의 문제일 수도 있고, ‘최근 들어 자꾸 살이 찐다’는 지극히 개인적인 문제일 수도 있습니다.
문제 해결 주체의 크기(개인/기업/정부 등), 문제 그 자체의 크기 등과 관계 없이 대부분의 데이터 분석은 다음과 같은 절차를 따릅니다.
상기 절차에 대한 설명은 유명 데이터 과학자인 김진영님께서 쓰신 ‘헬로 데이터 과학’이라는 도서에 잘 정리되어 있습니다.
참고헬로 데이터 과학’은 데이터 과학 분야 입문서 중 제가 가장 추천 드리고 싶은 도서이지만 아쉽게도 인쇄본과 e-book 모두 현재 절판 상태입니다.
2016년 최초 출간 이후 약 10년 동안 데이터 분석 분야는 기술적으로 눈부시게 발전했지만, 초보자의 눈높이에 맞는 ‘데이터 과학’ 분야에 대한 접근 방식을 제시한다는 측면 만큼은 여전히 이 책이 가장 뛰어나다고 생각합니다. 단, 이 책이 최초 출간되던 2016년 당시에는 국내 데이터 분석 분야에서 R이 차지하던 위상이 지금의 그것보다 더 높았기 때문에 본 도서의 데이터 분석 실습 파트도 R을 기반으로 저술된 점이 현재 이 도서가 절판된 사유일 것이라고 개인적으로는 추정하고 있습니다.
본 도서의 경우 중고 서적이 가끔 알라딘, 예스24에 올라오기 때문에 데이터 분석가의 길을 고민하고 계시는 분이라면 꼭 한번 구해서 읽어보시기를 추천 드립니다. 또한 만약에 본 도서가 복간/재출간이 되는 경우, 댓글로 알려주시면 하기 내용은 모두 삭제할 예정입니다.
1.
문제 정의
a.
문제 정의하기 (’헬로 데이터 과학’, 김진영, 한빛미디어, p.117)
문제의 목표는 무엇인가?
문제의 범위는 정확히 어디까지인가?
문제 해결의 성공 및 실패의 척도는 무엇인가?
문제 해결에 있어서 제약 조건(시간/비용 등)은 무엇인가?
b.
데이터 정의하기 (’헬로 데이터 과학’, 김진영, 한빛미디어, p.118)
문제와 관련된 데이터에 포함되어야 하는 속성은 무엇인가?
문제 해결에 필요한 데이터를 어떻게 수집할 수 있는가?
데이터 처리 및 분석을 위한 최적의 방법과 도구는 무엇인가?
최종 결과물은 어떤 형태로 누구에게 전달되어야 하는가?
c.
연구 질문 / 가설 정의 : ‘본 문제 해결을 통해서 무엇을 알아낼 것인가?’ (연구 질문) & 연구 질문에 대한 ‘잠정적인 해답’ (가설)
2.
데이터 수집
3.
데이터 정제/가공
4.
데이터 분석 → 해결책 도출 (’헬로 데이터 과학’, 김진영, 한빛미디어, p.113)
a.
탐색적 데이터 분석 (EDA) : 주어진 데이터를 탐색하며 다양한 패턴을 발견하고 가설을 세우는 단계
b.
통계적 추론 : 현상에 대한 가설을 다양한 실험으로 검정해보는 단계
c.
기계학습 : 우리가 관심을 가지는 현상을 예측하는 단계
5.
해결책 구현
6.
데이터 스토리텔링 : 이해관계자 대상 커뮤니케이션
위의 절차에 대한 예시를 적용하면 다음과 같습니다.
[ CU광화문대로점 평일 오전 시간대 매출 상승 방안 도출을 위한 데이터 분석 (예시) ]
1.
문제 정의
a.
문제 정의
문제의 목표 : CU 광화문대로점(참고 : 없는 지점입니다!)의 시간대별 매출 차이 관련 문제 해결
문제의 범위 : CU 광화문대로점의 평일 오후~야간 시간대의 매출은 인근 점포보다 20% 이상 높지만 평일 오전 시간대의 매출이 인근 점포에 비해 20% 이상 낮음
문제 해결의 성공/실패 척도 : CU광화문대로점 평일 오전 시간대 매출의 30% 이상 상승 유무
문제 해결 시 제약 조건 : CU광화문대로점 내 현재 판매 품목 종류 변경 불가, CU 자체 생산/판매 제품(PB 상품) 외 상품에 대한 가격 변동 및 프로모션 행사 시행 불가
b.
데이터 정의
데이터에 포함되어야 하는 속성 : CU광화문대로점 내 매출 발생 내역 → 판매 내역 관련 정보 : 품목, 수량, 1개 당 금액, PB 상품 여부, 프로모션(1+1 등) 진행 여부
데이터 수집 방법 : 2024년 1~6월 CU광화문대로점 POS 기기 기준 매출 내역 (= 바코드를 찍은 후 ‘매출’로 기록된 데이터) → 반품/환불 처리 내역 제외
데이터 처리/분석 방법 및 도구 : 판매 내역의 카테고리별 판매 패턴(시간대, 판매 수량/횟수 등) 분석 → 파이썬 / 판다스 활용
최종 결과물 : CU광화문대로점 평일 오전 시간대 매출 개선 방안, 해당 지점 점주 및 CU 본사 내 이해관계자(지점 관리 담당자 및 상위 보고 라인 일체)
c.
연구 질문 및 가설
연구 질문 : CU광화문대로점 평일 오전 시간대 매출 상승을 이끌어낼 수 있는 핵심 판매 상품, 해당 상품이 가장 많이 팔리는 이유
가설 : CU광화문대로점은 사무실 밀집 지역에 위치해 있기 때문에 평일 오전 시간대에는 직장인의 커피 수요가 많을 것이며, 저렴한 가격을 중요시할 것이다.
2.
데이터 정제/가공
정제 : 거래 내역 전체 원시 데이터(Raw-data) 중 반품/환불 처리 내역 관련 데이터 및 불필요한 정보 값 제거, 프로모션 상품의 개 당 실제 판매 가격 계산 등
가공 : 상품 카테고리별, 시간대별 판매 내역 분류
상품 카테고리 : 커피, 주류, 기타 음료류, 라면, 냉장 식사류, 냉장 간식류, 상온 식사류, 상온 간식류, 빙과류, 문구, 생활용품, 담배 등
시간대별 : 10분 단위, 30분 단위, 1시간 단위 등
3.
데이터 분석 : 카테고리/시간대별 판매 내역 분석 → 각 시간대 별 최다 판매 카테고리 : 카테고리 내 상품별 판매 횟수, 1회 판매 당 판매 수량, 개당 판매 가격 등
4.
해결책 구현
데이터 분석 결과
평일 오전 시간대 내 최대 매출 시간 : 8시 30분 ~ 9시 30분
해당 시간대 내 최다 판매 카테고리 : 커피류
해당 시간대 커피류 내 최다 판매 상품 Top 3 (판매 수량 기준)
1.
CU 드립 커피 500ml : 결제 1회 당 1개 구매 / 개당 1,500원 / 평일 오전 시간대 기준 일 평균 30개 판매 (8:30 ~ 9:30 내 25개 판매)
2.
레쓰비 170ml : 결제 1회당 2개 구매 / 개당 1,200원 / 1+1 프로모션 중 / 평일 오전 시간대 기준 일 평균 20개 판매 (8:30 ~ 9:30 내 17개 판매)
3.
TOP 블랙 아메리카노 200ml : 결제 1회당 1개 구매 / 개당 1,300원 / 2+1 프로모션 중 / 평일 오전 시간대 기준 일 평균 15개 판매 (8:30 ~ 9:30 내 10개 판매)
특이사항
CU광화문대로점의 반경 20m 내에 저가 커피 전문점 3개 위치 : 아이스 아메리카노 750ml 기준 1,500원 판매 중
커피류 판매 패턴 : CU 드립 커피의 경우 1~3월에는 Hot 상품이 더 많이 판매되었으나 (Hot:Ice = 7:3), 4~6월에는 Ice 상품이 더 많이 판매됨 (Hot:Ice = 2:8)
해결책 실행 시 CU광화문대로점 내 시행 예상 시점 : 7월 말 ~ 8월 중순
해결책 : 실행 예상 시점(7월 말)을 고려 → CU 드립 커피 Ice 상품의 1+1 프로모션 진행 (1,000ml = 1,500원 : 인근 경쟁 저가 커피 전문점 대비 가성비 확보)
5.
데이터 스토리텔링
파이썬 시각화 라이브러리(Matplotlib, Seaborn) 활용 : 데이터 시각화 → 시간대/카테고리별 매출 순위, 커피 카테고리 내 각 상품의 시간대별 판매 수량 및 매출 등
파이썬 지도 시각화 라이브러리(Folium) 활용 : 경쟁 저가 커피 전문점 정보 시각화 (위치, 상품 가격 및 용량)
시각화 자료 활용 : CU광화문대로점 점주 및 CU 본사 내 이해관계자 대상으로 상기 ‘해결책’(= 평일 오전 시간대 매출 개선 방안)의 필요성, 효과 설득 진행
1-4. 데이터 과학을 시작하는 방법
이 주제에 대해서도 김진영님께서 ‘헬로 데이터 과학’을 통해 탁월한 정리를 제시해 주셨기 때문에 먼저 해당 내용을 소개 드리고자 합니다. (’헬로 데이터 과학’, 김진영, 한빛미디어, p.28)
1.
문제 정의에서 시작하라.
“만약 나에게 문제 해결을 위해 한 시간이 주어진다면, 나는 55분 동안 문제에 대해 생각하고 5분 동안 해결책에 대해 생각하겠다.” (알버트 아인슈타인)
2.
스몰데이터로 시작하라.
3.
주변에 있는 도구로 시작하라.
4.
간단한 분석 기법으로 시작하라.
최근 4~5년에 걸쳐서 ‘빅데이터’, ‘대규모 언어 모델’ 등의 개념이 언론을 통해 자주 언급되고 있지만 데이터 과학(분석)의 시작점만큼은 자신의 삶에 가장 밀접하게 맞닿아 있는 문제로 시작하기를 추천드립니다. 예를 들자면, 앞서 예시로 들었던 ‘최근 들어 자꾸 살이 찐다’는 문제에 대해 칼로리 섭취량 대비 운동량 데이터를 분석해서 식이/운동 계획을 조절하는 것 또한 훌륭한 데이터 과학의 시작점이 될 수 있습니다.
데이터 과학(분석)을 처음 시작하는 시점에는 데이터를 다루는 방법, 데이터 분석 도구를 사용하는 방법, 분석 기법 중 무엇 하나 손에 익은 것이 없기 때문에 해결 대상인 ‘문제’와 문제 해결을 위해 사용하는 ‘데이터’조차 자신에게 익숙한 것이 아니라면 데이터 분석의 난이도가 지나치게 높아질 수 있고, 이는 데이터 분석 분야에 대한 흥미를 잃게 하는 주요 원인이 될 수 있습니다.
즉, 처음부터 대규모의 데이터를 활용해서 Python/Pandas/Numpy를 사용해야 한다는 생각을 잠시 내려놓으시길 추천 드립니다. 우선 자신을 현재 가장 괴롭히는 문제가 무엇인지 정의하고, 해당 문제에 가장 관련된 데이터를 작은 규모로 확보한 후, 평소에 익숙한 프로그램(ex. Microsoft Excel)으로 데이터를 분석해서 해결책을 찾는 것이 더 좋은 ‘데이터 과학의 시작점’이 될 수 있습니다.
(참고로 저는 몇 년째 ‘편한가계부’ 어플리케이션에 저의 모든 지출 내역을 기록하며, 해당 어플리케이션의 ‘통계’ 탭을 활용해서 월별/지출 항목 분류별 지출액 변동 추이를 매 월 급여일에 확인하는 습관이 있습니다. 이 경우 데이터 ‘전처리’와 ‘시각화’라는 기술적 영역은 어플리케이션이 대신 수행해주지만, ‘분석’을 포함한 문제 해결을 위한 사고는 온전히 저의 몫이기 때문에 일종의 ‘생활 속 문제 해결’을 위한 데이터 활용의 사례라고 볼 수 있을 듯 합니다.)
2.
데이터 분석 관련 직무에는 무엇이 있을까요?
이 글의 첫 번째 파트에서는 ‘데이터 리터러시’의 측면에 초점을 맞춰서 ‘데이터 분석’에 대한 개괄적인 소개를 드리는 것에 집중했습니다. 하지만, 단순히 ‘상식’ 수준의 데이터 리터러시를 넘어서 ‘데이터 분석가’라는 일에 대해서 관심을 가지고 이 글을 찾아오신 분도 꽤 계실 것 같습니다.
실제로 이 글의 서두에 말씀 드렸던 ‘데이터 분석에 관심은 가지고 있는데 어느 것부터 공부해야 하는지 조언을 부탁한다’는 질문을 저에게 주신 분 중 상당수는 직업으로서의 데이터 분석을 염두에 두고 질문을 주신 분이었는데요. 두 번째 파트는 그런 분을 위해 ‘데이터 분석가’라는 직업에 대해서 알아보고자 합니다.
2-1. 데이터 분석가란 어떤 직무일까요?
후술하겠지만, ‘데이터 분석 관련 직무’에는 ‘데이터 분석가’ 뿐만 아니라 ‘데이터 엔지니어’, ‘데이터 사이언티스트’ 등의 다양한 범주가 있습니다. 한동안 마케팅 분야에서 인기를 끌었던 ‘그로스 해커’라는 직무 또한 데이터 기반의 마케팅 효율 증대를 추구한다는 측면에서 넓은 의미의 ‘데이터 분석 관련 직무’에 포함할 수 있을 듯 합니다.
그럼에도 불구하고 ‘데이터 분석 관련 직무’에 대해서 많은 분들께서 ‘데이터 분석가’를 떠올리시는 이유는 (신입/주니어 레벨의 채용이 가장 자주 발생한다는 현실적인 이유도 있지만) 데이터 분석가가 관련 직무 대부분의 첫 걸음이기 때문이라고 생각합니다.
그렇다면 데이터 분석가는 어떤 직무일까요? 이에 대해서는 ADsP, SQLD, 빅데이터분석기사 등의 데이터 분석 관련 자격증을 시행하고 있는 ‘한국데이터산업진흥원’의 자격 검정 관련 홈페이지인 K-data에서 힌트를 찾을 수 있습니다.
데이터분석 전문가란 데이터 이해 및 처리 기술에 대한 기본지식을 바탕으로 데이터분석 기획, 데이터분석, 데이터 시각화 업무를 수행하고 이를 통해 프로세스 혁신 및 마케팅 전략 결정 등의 과학적 의사결정을 지원하는 직무를 수행하는 전문가를 말한다. - 출처 : K-data 데이터자격검정 홈페이지
표현이 다소 어렵게 느껴지실 수 있으니 풀어서 설명 드리면, 앞서 소개 드린 ‘데이터를 통한 문제 해결 절차’를 반복하여 기업이 비즈니스 관련 문제를 해결하기 위해 필요한 실행안을 도출하는 과정을 돕는 직무가 ‘데이터 분석가’입니다.
좀 더 직설적인 예시를 들자면, 앞서 ‘1-1. ‘데이터’란 무엇일까요?’ 파트에서 소개 드렸던 ‘직장인 100명의 2024년 상반기 카드 거래 내역’ 데이터로부터 ‘상당수의 직장인은 아침 출근길에 커피를 산다. → 해당 시간대에 가격 할인을 시행하면 매출이 증가할 수 있다.’라는 결론을 도출하는 직업이 데이터 분석가라고 보셔도 무방합니다.
2-2. 데이터 분석가 외의 데이터 분석 관련 직무는 무엇이 있을까요?
앞서 말씀 드린 것처럼 데이터 분석 관련 직무에는 ‘데이터 분석가’ 외에도 ‘데이터 엔지니어’, ‘데이터 사이언티스트’ 등의 다양한 세부 영역이 존재합니다. 그렇다면 이러한 직무와 ‘데이터 분석가’의 차이는 무엇일까요? 이 질문에 대해서는 데이터 분석 관련 기술 블로그를 운영하고 계신 ‘박정재’님과 몇몇 현업자 분의 블로그에 잘 정리된 글이 있어서 해당 글을 소개하는 것으로 구체적인 설명을 갈음하겠습니다.
2-3. 데이터 분석가에게 필요한 역량은 무엇일까요?
사실 이 글을 쓰기 시작한 계기는 ‘데이터 분석가에게 필요한 역량은 무엇일까요?’라는 질문을 너무 많이 받았기 때문이라고 해도 과언이 아닐 것 같습니다. 그만큼 종종 받았던 질문이고, ‘데이터 분석가’를 직업으로 고려하고 계신 분들께는 중요한 부분일텐데요. 이 질문에 대해서는 ‘업계의 고전’이라고 할 수 있을 정도로 유명한 그림이 있으니 해당 그림부터 소개 드리겠습니다.
① Computer Science
데이터 분석가의 필수 역량은 일종의 다리 3개 있는 식탁과 같아서, 상기 세 가지 요소 중 하나라도 부족하면 정상적인 데이터 분석 진행이 상당히 어려워집니다.
개인적인 이야기를 나누자면, 저 또한 데이터 분석을 처음 공부하던 시기에는 ‘Computer Science’에 대한 어려움을 겪었습니다. 프로그래밍이 처음이 아니었음에도(초등학생 시절에 Basic과 C를 독학한 적이 있습니다.), 파이썬 Python / 판다스 Pandas / 넘파이 Numpy 사이에 갇혀서 ‘이 코드가 왜 작동하지 않지?’라는 질문을 하루에도 열 번 넘게 했던 시기가 있었습니다. 프로그래밍을 하시는 분들은 다음의 ‘밈’이 익숙하실 것 같은데요, 데이터 분석 공부라고 예외는 아닙니다. (웃음)
저도 동일했지만, 데이터 분석가의 길을 준비하시게 된다면 가장 먼저 학습하는 영역 또한 ‘Computer Science’입니다. 이는 데이터 분석 도구로서의 파이썬 Python과 데이터베이스 관련 도구(MySQL 등), 시각화 도구(Tableau 등의 상용 솔루션 포함)에 대한 기술적 이해도를 의미합니다.
이 분야의 경우, 데이터 분석 관련 파이썬 라이브러리의 종류가 워낙 많고 파이썬 외의 기술도 다양하게 활용하기 때문에 이 글에서 설명 드리기는 어렵고 별도의 글을 통해 보시는 것이 필요합니다. 이와 관련하여 독자 여러분께서 참고하실 수 있는 사이트는 다음과 같습니다. (’’ 버튼을 눌러서 전체 리스트를 체크하세요! )
데이터 수집 : Python, 관계형 데이터베이스 (RDBMS)
데이터 정제/가공 : 스프레드시트(엑셀), Python, R
통계분석 (통계패키지) : Python, R, SPSS, SAS, Stata, Matlab, Minitab
데이터 시각화 (BI) : 스프레드시트(엑셀), Python, R, Tableau, Power BI
참조 : Python vs. R (written by Claude 3)
② Domain Expertise
저의 경우 데이터 분석을 공부하기 전에 대학에서 경영학과를 졸업한 후 경영지원 분야에서 (그 때 당시 기준) 5~6년 간 일한 경험이 있기 때문에 감사하게도 ‘Domain Expertise’에 대해서는 ‘저는 전문 지식이 있는 영역이 하나는 있다!’고 주장할 수 있는 정도는 됐습니다.
하지만, 한국어로 굳이 번역하자면 ‘분석 대상 영역에 대한 전문 지식’ 정도로 번역할 수 있는 ‘Domain Expertise(또는 Domain Knowledge)’가 부족한 것도 데이터 분석가에게는 심각한 문제가 될 수 있습니다. 이 경우 데이터에 대한 기술적인 처리(전처리 작업 등)는 능숙하게 할 수 있지만 분석을 위한 ‘문제 정의’와 분석 결과의 ‘해석’이 어렵기 때문인데요. 앞서 예시로 들었던 ‘직장인 100명의 2024년 상반기 카드 거래 내역’ 예시를 다시 한번 가져와서 설명 드리면 다음과 같습니다.
‘문제 정의’의 어려움
카드 거래 내역 데이터를 통해서 어떤 ‘정보’를 얻을 수 있고 이를 통해 어떤 ‘문제’를 해결할 수 있는지에 대한 감을 아예 못 잡는 경우입니다.
즉, ‘카드 거래 내역 데이터’라는 요리 재료는 있는데 ‘오전 시간대 매출 증대 방법 도출’이라는 요리의 ‘완성품’을 떠올리지 못하는 상황입니다.
‘해석’의 어려움
카드 거래 내역 데이터에 대한 전처리는 깔끔하게 끝냈는데 그 뒤에 읽어내야 하는 ‘맥락’에 대해서 찾지 못하는 경우입니다.
즉, ‘직장인 100명 중 70명은 평일 매일 오전 8시 30분 경에 커피 상품을 구매한다.’는 패턴(= 통계적 분석 결과)을 찾았음에도 ‘해당 시간대에 가격 할인을 시행하면 매출이 증가할 수 있다.’는 최종 결과에 도달하는 것에 실패하는 상황입니다.
이를 뒤집어서 생각해보면, 컴퓨터 공학(인공지능 관련 학과 포함)이 아닌 다른 학문을 전공한 후 데이터 분석가가 되면 가장 유리한 지점이 ‘Domain Expertise’입니다. 즉, 기존에 완전히 다른 영역을 이미 한번 전공했기 때문에 해당 영역에 대한 ‘전문 지식’을 가지고 있다는 의미인데요. 실제로 소비자의 행동 패턴을 분석해야 하는 기업 소속 데이터 분석가의 경우 (소비 패턴의 기저에 깔린 의식/무의식 상의 심리를 분석하기 위해) 심리학과 출신 데이터 분석가가 활약하고 있는 경우가 종종 있습니다.
즉, (과거의 저와 비슷하게) 컴퓨터 공학 비전공자 출신으로 데이터 분석가의 길을 고민하고 계신 독자분의 경우 기존 전공을 ‘Domain Expertise’로 활용할 수 있는 산업군을 선택해서 데이터 분석가로 첫 걸음을 내딛는 것도 적극적으로 고려해보시길 추천 드립니다. (참고로 저의 경우에는 ‘만약 그 때 데이터 분석가가 됐다면 기존 직무를 살려서 재무/인사 분야 데이터 분석가가 됐을 것 같다’는 생각을 한 적이 있습니다.)
③ Math & Statistics
제가 처음 데이터 분석가로 전직을 준비했던 2018년 당시, 1년 가까이 시간을 할애하여 데이터 분석을 공부하고도 결국 전직을 선택하지 않은 이유가 ‘수학’이었습니다.
저는 고등학교 2학년 때 소위 말하는 ‘수포자’의 길을 선택한 이래 대학 전공을 ‘경영학과’로 선택했음에도 ‘수학이 너무 싫다’는 일념 아래 통계학입문과 재무관리 과목을 4학년까지 미루고 또 미루다가 졸업 직전에 간신히 낙제만 면하는 학점을 받아서 졸업한 전례가 있는데요. 졸업 후에 대기업 공채를 통해 회계팀에 입사했음에도 ‘수학이 싫다’는 생각은 그다지 변한 것이 없었습니다. (TMI : 일반적인 이미지와 달리 회계는 수학적 성격이 별로 없습니다. 회계는 굳이 정의하자면 ‘숫자’라는 언어로 표현한 ‘논리학’에 가까운 분야입니다.)
그런데 데이터 분석가로 전직을 하려고 마음 먹고 보니 수학(특히 통계!)을 해야 하는, 그것도 꽤 잘해야 하는 상황이 됐습니다. 그래서 뒤늦게 수학 공부를 다시 시작했는데, 저에게는 ‘Computer Science’ 영역보다 ‘통계/수학’ 영역이 훨씬 어려워서 1년 만에 유의미한 성취를 이루지 못했습니다. 파이썬/판다스/넘파이 삼총사는 1년쯤 지지고 볶으니 어느 정도 적당히 친해진 느낌인데, 통계/수학은 여전히 ‘장님이 코끼리 다리 만지는 기분’에 준하는 상황이었습니다.
문제는, ‘Computer Science’ 영역과 ‘Domain Expertise’ 영역에 대해 기초 실력이 갖춰져도 통계/수학에 대한 이해가 부족하면 다양한 데이터 분석 기법을 깊이 있게 이해하고 활용하기가 어렵다는 점입니다. 데이터 분석 방법론에 대해 공부는 계속 하고 공부할 당시에는 이해한 것 같은데, 막상 실제 데이터를 보면 어떤 분석 기법을 활용해야 하는지 선택하기가 너무 어려운 상황이 반복됐습니다.
결국 이 지점에서 (그때 당시) 저의 한계를 인정했고, ‘데이터 리터러시’를 잘 갖춘 경영지원 담당자(또는 기획자)의 길로 돌아가게 됐습니다. 그리고 몇 년 후, (향후 데이터 분석가로 전직할지 여부는 결정하지 않았지만) 통계/수학에 대해 다시 도전하기 위해 한국방송통신대학교 통계/데이터과학과 복수전공을 시작해서 지금도 직장과 학업을 병행하고 있습니다.
문과 출신, 특히 고등학교 시기 미적분을 전혀 배우지 않으신 분의 경우 데이터 분석을 직업으로 삼기 위해 공부를 시작하면 필연적으로 한번은 통계와 수학의 벽 앞에서 좌절하게 됩니다. 그러므로 데이터 분석 공부를 시작하시는 시점에 ‘Computer Science’에만 모든 시간을 투자하기 보다는 초반부터 기초 수학(=중고등학교 과정) 복습을 시작해서 꾸준히 수학 공부를 이어 나가시기를 추천 드립니다.
독자 분들께서 참조하실 수 있도록 데이터 분석 분야에서 주로 활용되는 기초 통계 개념을 정리하자면 다음과 같습니다. (’’ 버튼을 눌러서 전체 리스트를 체크하세요! )
추정 : 표본, 모집단, 신뢰도, 신뢰구간
통계량 : 평균, 중앙값, 최빈값, 사분위수, 분산, 표준편차
그래프 : 산점도, 히스토그램, 상자 수염 그림, 이상치
회귀분석 : 상관관계, 독립변수, 종속변수, 회귀계수, 상호작용, 다중공선성
확률분포 : 정규분포, 중심극한정리
혼동행렬 : 정확도, 정밀도, 재현율, 민감도, 특이도
기타 참고 자료
마지막으로, 본 글을 준비하는 과정에서 Claude 3에게 통계 관련 개념을 몇 가지 질문한 결과를 덧붙이자면 다음과 같습니다. (참고로 저는 Claude 3 유료 사용자입니다.)
“데이터 분석가는 왜 통계와 수학을 공부해야 해?”라고 Claude 3에게 질문했습니다.
“데이터 분석가에게 필요한 주요 통계 지식을 알려줘”라고 Claude 3에게 질문했습니다.
“데이터 분석가가 자주 활용하는 통계 개념 항목들에 대해서 1~2줄 정도의 분량으로 짧게 정리해달라”고 Claude 3에게 요청했습니다.
3.
부록 : 파이썬 관련 자료
앞서 제가 ‘통계/수학’과 관련된 실패의 경험을 기반으로 한 인사이트를 소개 드렸지만, 데이터 분석가가 되기 위한 공부를 시작하는 시점에서 현실적으로 가장 어려운 부분은 ‘Computer Science’ 영역에 해당하는 파이썬 Python에 대한 이해일 것입니다. 파이썬은 데이터 분석 뿐만 아니라 Back-end 개발 등에서도 널리 사용되기 때문에 인터넷 검색 시 당황하실 가능성이 있어서 주요 개념을 따로 모아서 다음과 같이 소개 드립니다. (’’ 버튼을 눌러서 전체 리스트를 체크하세요! )
주요 라이브러리
데이터 로딩
데이터 분석 : Pandas, Numpy, SciPy
데이터 시각화 : matplotlib, seaborn, plotly
빅데이터 : Spark, Hadoop, Hive
인공지능
파이썬 Python 기반 데이터 분석 시 활용하는 프로그램 (IDE) : Jupyter Notebook (anaconda3), PyCharm, Visual Studio Code, Google Colab
본 글은 독자 여러분의 이해와 준비를 돕기 위한 글로, 본 글의 작성자는 본 글의 내용상 오류나 누락에 대해 어떠한 책임이나 의무도 부담하지 않습니다.
본 블로그의 모든 글에 대한 저작권은 저에게 귀속되나, 내용의 수정 없이 출처를 밝히고 공유하는 것은 가능합니다. 글을 공유하실 때에는 공유해가신 곳을 각 글의 리플로 남겨주시면 감사하겠습니다.
Last updated 2024.08.17
Copyright ⓒ2024, 알음(이은지) All Rights Reserved.