Kaggle Grandmaster인 Srinivas Ramakrishna(SRK)가 자주 사용하는 EDA 패턴
Mercedes-Benz Greener Manufacturing
https://www.kaggle.com/competitions/mercedes-benz-greener-manufacturing/
SRK 노트북의 전체 구조
그의 분석 흐름은 아래 7단계로 정리됩니다.
1. 데이터 로딩
2. Target 분석
3. 변수 유형 분석
4. 범주형 변수 분석
5. 이진 변수 분석
6. 데이터셋 분포 검증
7. Feature Importance 분석
이 구조는 거의 모든 머신러닝 프로젝트에 재사용 가능합니다.
1단계 : 데이터 개요 파악
SRK는 가장 먼저
train.shape
test.shape
head()
를 확인합니다.
확인 내용
- 행(Row)
- 열(Column)
- Train/Test 크기
- Target 존재 여부
일반 프로젝트 적용
항상 가장 먼저 확인
df.shape
df.head()
df.info()
df.describe()
체크리스트
- 샘플 수 충분한가?
- Feature 수 과도한가?
- 결측치 있는가?
- 데이터 타입은 무엇인가?
2단계 : Target 분석
SRK가 가장 먼저 깊게 보는 것은
y
입니다.
사용한 시각화
Scatter Plot
plt.scatter(...)
목적
- 이상치 탐지
Histogram
sns.distplot()
목적
- 분포 확인
일반 프로젝트 적용
예측 모델의 50%는 Target 분석에서 결정됩니다.
반드시 확인
회귀
histplot(y)
boxplot(y)
확인사항
- 정규분포 여부
- 왜도(Skewness)
- 이상치
분류
value_counts()
확인사항
- 클래스 불균형
3단계 : 데이터 타입 분석
SRK는 곧바로
df.dtypes
를 분석합니다.
Mercedes 데이터에서는
object
int64
float64
로 분류
왜 중요한가?
전처리 전략이 달라짐
| 타입 | 처리방법 |
|---|---|
| Numeric | Scaling |
| Categorical | Encoding |
| Text | NLP |
| Datetime | Feature Extraction |
실무 체크
df.select_dtypes(...)
으로
- 숫자형
- 범주형
개수 확인
4단계 : 범주형 변수 분석
SRK가 가장 많이 사용한 기법
sns.boxplot()
예
X2 vs y
X5 vs y
X6 vs y
시각적으로
카테고리별
Target 평균 차이
를 확인
일반 프로젝트 적용
예)
고객 이탈 예측
성별 vs 이탈
지역 vs 이탈
상품 vs 이탈
추천 시각화
boxplot
violinplot
barplot
5단계 : 이진(Binary) 변수 분석
Mercedes 데이터의 핵심
0
1
옵션 변수
SRK는
groupby
mean
으로
0일 때 평균 y
1일 때 평균 y
를 비교
왜 중요한가?
매우 강력한 Feature 발견 가능
예)
X314 = 1
평균 y = 120
X314 = 0
평균 y = 95
이면
중요 변수일 가능성 높음
실무 적용
마케팅 데이터
쿠폰 사용 여부
앱 설치 여부
구독 여부
보험 데이터
흡연 여부
사고 이력 여부
6단계 : Train/Test 분포 검증
이 부분이 SRK 스타일의 핵심입니다.
그는
ID
를 이용해
violinplot
을 그림
목적
Train
Test
분포 차이 확인
왜 중요한가?
실무에서 자주 발생
학습 데이터
운영 데이터
분포가 다름
이를
Dataset Shift
또는
Data Drift
라고 부름
실무에서는 반드시
train.describe()
test.describe()
비교
7단계 : Feature Importance 분석
여기서부터 EDA가 끝나고
모델 기반 분석이 시작됩니다.
SRK는
XGBoost
사용
xgb.train()
이후
plot_importance()
중요 변수 확인
추가로
Random Forest
사용
feature_importances_
두 모델 결과 비교
중요한 통찰
SRK는
모델 성능
보다
어떤 변수가 중요한가?
를 먼저 봅니다.
SRK 스타일 EDA 템플릿
새로운 데이터를 받으면 항상 아래 순서로 진행하면 됩니다.
STEP 1
데이터 개요
shape
head
info
describe
↓
STEP 2
Target 분석
Histogram
Boxplot
Outlier
↓
STEP 3
결측치 분석
Missing Value
↓
STEP 4
변수 유형 분석
Numeric
Categorical
Binary
↓
STEP 5
범주형 변수 분석
Boxplot
Mean Comparison
↓
STEP 6
상관관계 분석
Correlation Matrix
↓
STEP 7
Train/Test 분포 비교
Data Drift
↓
STEP 8
Feature Importance
XGBoost
Random Forest
↓
STEP 9
모델링
AX 실무 관점에서 업그레이드할 부분
SRK 노트북은 2017년 작성본이라 현재 기준으로는 부족한 부분도 있습니다.
추가하면 좋은 분석
| SRK 노트북 | 현재 추천 |
|---|---|
| Histogram | Histogram + KDE |
| Boxplot | Boxplot + Violinplot |
| Correlation | Heatmap |
| Feature Importance | SHAP |
| Random Forest | LightGBM |
| XGBoost | CatBoost 추가 |
| 수작업 EDA | ChatGPT/Claude 활용 |
즉시 실행 가능한 액션 아이템
앞으로 새로운 데이터셋을 받으면 아래 5개 그래프를 반드시 먼저 생성해 보세요.
- Target Distribution
- Missing Value Bar Chart
- Correlation Heatmap
- Top 20 Feature Importance
- Train/Test Distribution Comparison
이 5개만 만들어도 전체 데이터의 70~80% 특성을 빠르게 이해할 수 있으며, SRK가 사용한 탐색적 데이터 분석 방식의 핵심을 대부분 재현할 수 있습니다.