기술과 산업/AI

AI/ML 기반 데이터 분석 시리즈 4화 - 데이터 수집과 탐색적 분석(EDA)의 전략과 실전

B컷개발자 2025. 5. 4. 11:51
728x90

데이터 분석 프로젝트의 품질은 데이터를 어떻게 ‘얻고’, ‘이해하고’, ‘정제했는지’에서 결정됩니다.

그 시작점이 바로 데이터 수집(Data Acquisition)탐색적 데이터 분석(EDA, Exploratory Data Analysis) 입니다.

이 글에서는 AI/ML 기반 분석 프로젝트를 위한 데이터 수집 전략과 EDA 흐름을 실전 중심으로 정리합니다.

 


 

데이터는 어디서 오는가: 수집 채널의 종류

 

분석 대상 데이터는 다양한 방식으로 수집할 수 있습니다. 주요 채널은 다음과 같습니다.

 

 

1. 공개 데이터셋

 

  • Kaggle Datasets, UCI ML Repository, Data.gov, 공공데이터포털
  • 학습, 연구, 프로토타이핑에 적합

 

 

2. API 기반 수집

 

  • REST API, GraphQL, Web API 활용
  • 예: OpenWeather API, Twitter API, Kakao 지도 API 등
  • Python에서는 requests, httpx, pandas.read_json() 등 활용

 

 

3. 웹 크롤링

 

  • 구조화되지 않은 웹 데이터를 수집할 때 사용
  • BeautifulSoup, Selenium, Scrapy 등 라이브러리 활용
  • 동적 페이지 처리는 Headless 브라우저 필요

 

 

4. 로그 데이터 및 사내 DB

 

  • SQL 기반 데이터베이스(MySQL, PostgreSQL)
  • 로그 분석을 위한 ELK, BigQuery, Amazon Athena 연동

 

 

5. 사용자 입력 & 설문 데이터

 

  • 자체 설문, 유저 행동 기록 등 직접 수집

 

현실에서는 위 방법들을 혼합적으로 활용하는 하이브리드 수집 구조가 일반적입니다.

 


 

탐색적 데이터 분석(EDA)의 핵심 흐름

 

EDA는 단순한 요약 통계를 넘어서 모델링 전 데이터의 본질을 통찰하는 단계입니다.

이 과정은 다음과 같은 질문을 중심으로 이루어집니다.

 

  1. 데이터의 크기, 형태, 타입은?
  2. 결측값은 어느 컬럼에, 얼마나 존재하는가?
  3. 수치 데이터의 분포는 정규성을 따르는가?
  4. 이상치는 어떤 방식으로 처리할 수 있는가?
  5. 컬럼 간 상관관계는 어떤 구조를 보이는가?
  6. 범주형 데이터는 어떤 값 분포를 갖고 있는가?

 

 

EDA 기본 툴킷

도구목적

df.info(), df.describe() 구조 및 요약 통계 확인
df.isnull().sum() 결측값 탐지
sns.histplot, sns.boxplot 분포 및 이상치 시각화
df.corr(), sns.heatmap 상관관계 분석
value_counts(), groupby() 범주 분포 확인

EDA는 분석가의 직관과 가설을 함께 작동시키는 영역이므로, 단순 코드 실행을 넘어서 ‘해석’과 ‘질문’ 중심의 접근이 중요합니다.

 


 

데이터 품질에 대한 판단 기준

 

  • 컬럼별 결측률이 30% 이상이면 삭제 또는 대체 방법 고려
  • 유니크 값이 지나치게 많은 범주형 변수는 이산화 필요
  • 스케일 차이가 큰 수치형 데이터는 정규화 고려
  • 특정 클래스가 절대적으로 적은 경우(Class Imbalance)는 SMOTE 등 처리 기법 사용 고려

 


 

실전 팁: 좋은 EDA란 무엇인가?

 

  • 시각화와 수치를 함께 제시하라
  • 해석 가능한 인사이트로 연결되어야 한다
  • 데이터의 ‘문제 가능성’을 먼저 드러내는 데 집중하라
  • 최종 모델링에 어떤 영향을 줄 수 있는지 메모하라

 

EDA는 보고서가 아니라 분석을 위한 전략적 해석의 시작점입니다.

 


 

결론

 

좋은 데이터는 준비된 분석가에게만 인사이트를 허락합니다.

수집 – 점검 – 통찰이라는 세 단계를 거쳐야만, AI 모델이 제대로 된 학습을 할 수 있습니다.

 

다음 5화에서는 분석의 본격적인 전처리 단계인

결측치/이상치 처리 전략과 코드 실습으로 넘어갑니다.

728x90