반응형
SHAP은 머신러닝 모델이 왜 그런 예측을 했는지 설명해주는 도구예요.
특히 XGBoost나 LightGBM 같은 블랙박스 모델의 예측 결과를 해석할 수 있게 해줘요.
🧠 SHAP이란?
🔍 SHAP = SHapley Additive exPlanations
- 원래는 게임 이론의 Shapley 값에서 나온 개념이에요.
- "각 피처가 예측값에 얼마나 기여했는가?"를 계산합니다.
- 예:
모델이 전표 A를 "반려 확률 90%"로 예측했다면:- 적요: +40%
- 금액: +20%
- 계정코드: +30%
- → 이런 식으로 기여도를 보여줘요.
📊 어떻게 생겼냐면?
예시 그래프:
예측: 반려 확률 90%
-------------------------
적요 +0.40
계정코드 +0.30
금액 +0.20
거래처 +0.05
부서 -0.05
-------------------------
기본값 (평균) 0.50 → 최종 0.90
이렇게 어떤 피처가 얼마나 영향을 줬는지 직관적으로 보여줍니다.
💡 왜 유용하냐?
- 검인/반려 예측 모델의 신뢰성 확보
- 사람이 "왜 이건 반려되었지?" 하고 물어볼 때 → SHAP이 설명해줌
- 피처 엔지니어링 방향 제시
- 어떤 컬럼이 영향을 많이 주는지 알 수 있음
- 규칙 기반 추천에도 도움
- "이 적요는 전산팀에서 자주 반려함" → SHAP이 그걸 보여줌
✅ SHAP과 XGBoost는 궁합이 좋다
XGBoost는 tree 기반 모델이라서 SHAP 값 계산이 매우 빠르고 정확합니다.
코드도 심플해요:
import shap
explainer = shap.Explainer(model)
shap_values = explainer(X)
shap.plots.waterfall(shap_values[0])
반응형
'AI' 카테고리의 다른 글
Java식 협업 API 스타일이란?(FastAPI) (0) | 2025.03.28 |
---|---|
FastAPI vs Flask (0) | 2025.03.28 |
이진분류를 통한 반려예측모델 구축 (0) | 2025.03.27 |
XGBoost 모델에서의 피처(Feature) 관리 중요성 (0) | 2025.03.27 |
AI 기반 추천 시스템 아키텍쳐와 Python 코드 (0) | 2025.03.25 |