| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- Tableau
- 파이썬
- 파이썬시각화
- 로그
- 퍼널분석
- 파이썬라이브러리
- 데이터분석공부
- aarrr
- 코드잇
- amplitude
- 태블로
- 코드잇스프린트
- 탐색적데이터분석
- 데이터전처리
- 로그설계
- SQL
- 지표설계
- 프로덕트데이터
- 데이터분석프로젝트
- 부트캠프
- 결측값
- 데이터분석
- 데이터분석가공부
- 데이터분석가
- 스프린트미션
- 프로덕트분석
- seaborn
- 데이터분석가부트캠프
- retention
- 지표
- Today
- Total
StuDyata.zip
[코드잇 스프린트] Weekly Paper 2 - 나만의 EDA 체크리스트와 인터랙티브 기능 본문
[코드잇 스프린트] Weekly Paper 2 - 나만의 EDA 체크리스트와 인터랙티브 기능
자유를원해 2026. 3. 30. 20:19이 글은 코드잇 스프린트 데이터 분석가 과정 위클리 페이퍼 작성 기록입니다.
Q1.
EDA(탐색적 데이터 분석)를 할 때 '가장 먼저 확인해야 할 것'이 무엇인지 본인만의 체크리스트를 3~5가지 항목으로 만들어 보세요. 각 항목을 선택한 이유도 함께 설명해 주세요.
최근 EDA 관련 스프린트 미션을 진행하면서의 경험을 바탕으로 EDA를 시작할 때 내가 가장 먼저 확인해야 한다고 느낀 항목들을 체크리스트 형태로 정리해 보았다.
EDA(탐색적 데이터 분석) 체크리스트
1. 데이터 구조 파악하기
가장 먼저 해야 할 일은 기본적이지만 데이터의 전체 구조를 확인하는 것이라고 생각한다. 물론 실제 분석에서는 그러면 안되겠지만, 미션이 문제 형식이다보니 문제를 푸는 것에만 집중하여 데이터를 천천히 둘러보는 시간이 많이 부족했음을 느꼈다. 변수가 수치형인지 범주형인지에 따라 확인해야 할 통계량과 적절한 시각화 방법도 달라지고, 컬럼 구성을 먼저 파악해야 어떤 변수가 중요한 역할을 할 수 있을지 어떤 변수들끼리 관계를 볼 수 있을지도 감이 잡힌다. 겉보기에는 가장 기본적이고 당연한 단계처럼 보이지만 이 과정을 건너뛰면 이후 EDA 전체가 비효율적으로 흘러갈 가능성이 크다. 그래서 EDA의 출발점은 데이터 구조를 이해하는 것이라고 생각한다.
2. 결측치·중복치·이상치의 존재 여부를 초반에 확인하기
이 항목도 기본적인 부분이지만, 데이터 구조를 파악한 다음에는 데이터 자체에 어떤 문제가 있는지를 먼저 봐야 한다고 생각한다. 대표적으로 결측치, 중복치, 이상치의 존재 여부를 초반에 확인하는 과정이 중요하다. 이런 값들은 분석 결과를 왜곡하거나 해석을 어렵게 만들 수 있기 때문에 초기에 파악하지 않으면 뒤로 갈수록 과정들이 꼬여서 큰 혼란을 만들 수 있다. 예를 들어 결측치가 특정 컬럼에 몰려 있다면 그 변수는 그대로 활용하기 어려울 수도 있고, 중복 데이터가 많다면 실제보다 특정 패턴이 과장되어 보일 수도 있다. 이상치 역시 그대로 두면 평균이나 분포가 심하게 흔들릴 수 있다. 따라서 EDA를 시작할 때는 단순히 데이터를 보는 것을 넘어서 지금 내 데이터가 얼마나 믿을 만한 상태인지부터 점검해야 한다고 생각한다.
3. 절대 개수보다 전체 대비 비율을 함께 보기
이번 미션을 하면서 특히 크게 느낀 부분은 데이터를 볼 때 단순한 건수만으로 판단하면 생각보다 쉽게 우선순위를 잘못 잡을 수 있다는 점이었다. 예를 들어 어떤 컬럼에서 이상한 값이 2000건 발견되었다고 하면, 숫자만 봤을 때는 굉장히 큰 문제처럼 느껴질 수 있다. 하지만 만약 그 값이 전체 데이터에서 차지하는 비율이 매우 낮다면, 결과에 미치는 영향은 생각보다 작을 수도 있고 굳이 많은 시간을 들여 복잡하게 처리하지 않아도 될 수도 있다. 물론 반대로 절대 개수는 적어 보여도 전체에서 차지하는 비중이 크다면 이것 또한 중요한 문제일 수 있다. 그래서 결측치든 이상치든, 또는 특정 값의 분포를 보든 간에 절대 개수만 보는 것이 아니라 반드시 전체 대비 비율을 함께 봐야 한다고 생각하게 되었다. 결국 EDA는 데이터를 있는 그대로 보는 것에서 끝나는 것이 아니라, 어떤 문제를 우선적으로 다뤄야 하는지 판단하는 과정이기도 하기 때문이다.
4. 이상치는 수치형 변수에만 있다고 생각하지 않기
또 하나 중요하다고 느낀 점은 이상치 확인을 할 때 수치형 변수에만 집중하면 안 된다는 것이다. 보통 이상치라고 하면 너무 크거나 너무 작은 값처럼 수치형 변수에서 나타나는 극단값을 먼저 떠올리게 된다. 하지만 실제 데이터에서는 범주형 변수에도 충분히 비정상적인 값이 존재할 수 있다. 예를 들어 데이터 설명에 없는 코드값이 들어 있거나, 애초에 존재할 수 없는 범주가 포함되어 있거나, 입력 오류로 보이는 값이 섞여 있을 수 있다. 그리거 혹시나 정해진 범위가 없는 범주형 변수는 수치형 변수처럼 크고 작음으로 판단할 수 없기 때문에, 빈도 분석이나 데이터 설명, 그리고 도메인 지식을 바탕으로 확인해야 할 것이다. 만약 범주형 변수의 이상한 값을 초반에 놓쳤다면 뒤에서 해석이 꼬였을 가능성도 충분히 있었을 것이다. 그래서 나는 이상치 탐지를 ‘수치형 변수의 극단값 찾기’ 정도로 좁게 생각하지 않고, 데이터에 존재해서는 안 되는 값까지 넓게 보는 태도가 필요하다고 생각한다.
5. 데이터를 읽기 좋은 형태로 먼저 바꾸기
마지막으로 EDA를 본격적으로 시작하기 전에 데이터를 사람이 읽기 좋은 형태로 정리해 두는 과정이 꼭 필요하다고 느꼈다. 실제로 미션에서 사용했던 데이터셋에는 범주형 변수가 코드값으로 저장되어 있었는데, 이를 미리 바꾸지 않고 차트를 만들거나 관계를 파악하려고 하다 보니 분석 흐름이 자꾸 끊겼다. 차트를 보면서도 이 값이 무슨 의미였지? 하고 다시 데이터 설명을 찾아보게 되었고, 그 과정이 반복되면서 생각보다 시간이 많이 들었다. 물론 코드값 자체는 데이터를 저장하거나 처리하는 입장에서는 효율적일 수 있다. 하지만 EDA는 사람이 데이터를 해석하는 과정이기 때문에, 값의 의미가 바로 드러나도록 정리되어 있어야 훨씬 수월하게 분석할 수 있다. 이 경험을 통해 나는 EDA 이전에 하는 전처리 중에서도 ‘데이터를 읽기 좋게 만드는 작업’이 생각보다 중요하다는 것을 느꼈다. 단순히 보기 좋게 바꾸는 것이 아니라, 분석 과정의 흐름과 해석의 정확도를 높여 주는 준비 단계라고 생각한다.
Q2.
정적인 이미지나 PPT 차트와 달리, Tableau 대시보드는 '필터'나 '액션'을 통해 보는 사람이 직접 데이터를 탐색할 수 있습니다. 이런 인터랙티브 기능이 유용한 실제 상황을 하나 상상해서, 어떤 필터나 상호작용을 넣을지와 그 이유를 설명해 보세요.
인터랙티브 기능이 유용한 실제 상황
인터랙티브 기능이 특히 유용할 것 같은 실제 상황으로는 내가 자주 사용하는 ChatGPT에서의 대화 기록을 다시 탐색하고 활용하는 경우가 떠올랐다. ChatGPT를 한두 번만 사용하는 것이 아니라, 공부, 과제, 글쓰기, 번역, 정보 검색, 일정 정리, 브레인스토밍 등 여러 목적으로 지속적으로 사용하다 보면 대화 기록이 빠르게 쌓이게 된다. 특히 나의 경우, 대화창을 그대로 쓰지 않고 새로 만들어서 쓰는 습관이 있어서 더욱 불편함을 느낀 것 같다. 이게 처음에는 최근 대화 몇 개만 확인하면 되지만, 시간이 지나면 예전에 나누었던 대화 중 다시 참고하고 싶은 내용을 찾기가 점점 어려워진다. 예를 들어 시험기간에, 예전에 물어봤던 개념 설명이나 요약 답변을 다시 보고 싶을 수 있고, 글을 쓸 때는 과거에 받았던 문장 첨삭이나 글 구조 제안을 다시 꺼내 보고 싶을 수도 있다. 또 어떤 사람들은 본인이 ChatGPT를 주로 어떤 용도로 활용하고 있는지, 특정 시기에 어떤 고민이나 질문이 많았는지를 돌아보고 싶을 수도 있다.
이런 상황에서는 지금의 ChatGPT처럼 단순히 대화 목록이 시간순으로 나열된 형태만으로는 한계가 있다. 목록형 기록은 최근 대화를 확인하는 데에는 편리하지만, 대화가 많아질수록 전체 흐름을 파악하기 어렵고, 특정 기준으로 묶어서 정리하거나 탐색하는 데에 불편함이 생긴다. 인터랙티브 대시보드가 있다면, 사용자가 직접 기간이나 주제, 키워드, 대화 유형 등을 바꾸어 가며 필요한 기록을 탐색할 수 있고, 단순히 저장된 대화를 다시 보는 것을 넘어 자신의 활용 패턴과 관심사의 흐름까지 함께 파악할 수 있다.
어떤 필터나 상호작용이 효과적일까?
- 기간 필터
먼저 기간 필터가 꼭 필요하다고 생각한다. 기간으로 틀을 두면 대화를 찾기가 훨씬 쉬워질 것이고, 여기에 더하여 사용자가 이번 주, 이번 달, 최근 3개월, 시험기간, 방학 기간처럼 특정 시기를 선택할 수 있다면, 시기별로 어떤 질문이 많았는지도 훨씬 쉽게 파악할 수 있다. 즉, 시기를 기준으로 탐색할 수 있으면 꼭 필요한 단순 기록 조회를 넘어서 내가 어느 시점에 어떤 도움을 가장 많이 필요로 했는지까지도 한 번 돌아볼 수 있다.
- 주제 필터
주제 필터도 매우 효과적일 것이다. 대화를 공부, 글쓰기, 번역, 일정 정리, 정보 검색 등으로 구분해 두고, 사용자가 원하는 주제만 선택해서 볼 수 있도록 하는 것이다. 이 기능이 있으면 기간을 모르더라도, 대화 기록이 많더라도, 특정 분야의 대화만 골라서 다시 확인할 수 있어 훨씬 효율적이다. 이때 단순히 목록만 보여주는 것이 아니라, 각 대화의 핵심 키워드나 한 줄 요약도 함께 제공된다면 사용자는 필요한 내용을 더 빠르게 찾을 수 있을 것이다.
- 주제별 비중 차트
상호작용 측면에서는 주제별 비중 차트를 클릭하면 해당 주제의 대화 목록이 아래에 상세하게 나타나는 기능을 생각해보았다. 예를 들어 원형 차트나 막대그래프에서 ‘글쓰기’ 비중을 클릭하면, 글쓰기 관련 대화들만 정렬되어 나타나고, 그 안에서 첨삭 요청이 많았는지, 초안 작성 요청이 많았는지까지 한 번 더 구분해 보여주는 식이다. 이렇게 하면 사용자는 전체 패턴을 보다가도, 궁금한 영역을 바로 클릭해서 세부 내용으로 자연스럽게 들어갈 수 있다.
- 질문 유형, 키워드 액션
월별 또는 주별 대화량 그래프를 클릭했을 때, 그 시기의 대표 질문 유형이나 자주 등장한 키워드가 함께 나타나는 액션도 유용할 것 같다. 예를 들어 어떤 달의 막대를 클릭했을 때 그 시기에는 공부 관련 질문이 많았는지, 진로 고민이 많았는지, 혹은 글쓰기 요청이 집중되었는지를 한눈에 볼 수 있게 하는 것이다. 이렇게 하면 사용자는 단순히 대화량이 많았다는 사실을 아는 데서 끝나는 것이 아니라, 왜 그 시기에 대화가 많았는지, 무엇 때문에 많이 사용했는지까지 해석할 수 있게 된다. 이는 자기 패턴을 돌아보는 데에도 도움이 된다.
- 대화 간 연결 추천
더 나아가 대화 간 연결 추천 기능도 상상해볼 수 있다. 사용자가 특정 대화를 클릭했을 때, 비슷한 주제의 다른 대화나 이어서 참고하면 좋은 기록이 함께 나타나는 것이다. 예를 들어 파이썬 관련 오류 해결 대화를 클릭하면, 이전에 비슷한 코드 설명을 요청했던 대화나 같은 프로젝트와 관련된 정리 대화가 함께 추천되는 식이다. 이 기능은 사용자가 하나의 대화만 따로 보는 것이 아니라, 비슷한 맥락의 기록을 묶어서 다시 활용하도록 도와준다는 점에서 인터랙티브 대시보드의 장점을 잘 보여준다.
이러한 기능이 있으면 사용자는 단순히 과거 대화를 저장해 두는 수준을 넘어서, 필요할 때 원하는 기준으로 직접 탐색하고, 자신의 관심사와 활용 방식까지 돌아볼 수 있다. 그래서 ChatGPT와 같은 대화형 서비스의 기록은 인터랙티브 대시보드의 가치가 잘 드러나는 사례라고 생각한다.
'Codeit Sprint > Weekly Paper' 카테고리의 다른 글
| [코드잇 스프린트] Weekly Paper 5 - Amplitude에서 리텐션 분석을 한다면? (0) | 2026.05.12 |
|---|---|
| [코드잇 스프린트] Weekly Paper 4 - 쇼핑몰 앱의 구매 전환 문제 분석과 이벤트 설계 방안 (0) | 2026.05.06 |
| [코드잇 스프린트] Weekly Paper 3 - SQL과 지표 설계를 실무 문제에 연결해 보기 (0) | 2026.04.28 |
| [코드잇 스프린트] Weekly Paper 1 - 결측값 처리와 잘못된 시각화 사례에 대하여 (0) | 2026.03.23 |
