본문 바로가기
Dev/데이터 분석

SHAP 분석 완벽 정리: 머신러닝 모델 해석부터 교육 전략 수립까지

by bodi 2025. 6. 24.
728x90

SHAP 분석이 뭐길래?

최근 2025 원티드 하이파이브 컨퍼런스에 다녀왔습니다. 컨퍼런스 내용 중 여러 기업들이 SHAP 분석을 활용해 중요 피처를 발굴하고 그걸 핵심 지표로 정의하는 사례들을 다수 소개했습니다.

그만큼 SHAP은 단순한 설명 도구를 넘어서 모델 해석 → 전략 수립 → 실제 액션 도출까지 이어지는 실용적인 도구가 되고 있다는 걸 세션을 들으며 느꼈습니다. 

이번 글에서는 SHAP 분석이 무엇인지, 어떻게 해석해야 하는지, 제가 있는 교육 서비스에서 실제로 어떻게 활용할 수 있는지를 구체적인 예시와 함께 정리해 보았습니다.

 

 

SHAP이란?

  • SHAP (SHapley Additive exPlanations)은 머신러닝 모델의 개별 예측값을 설명하기 위한 도구
  • 게임 이론에서 유래된 Shapley 값을 기반으로, 각 특성이 예측값에 얼마나 기여했는지를 정량적으로 계산
  • 즉, 모델이 어떤 판단을 내렸는지를 ‘해석 가능하게’ 만드는 XAI(Explainable AI) 기법 중 하나

 

핵심 개념 정리

  • Additive Feature Attribution : 예측값 = 기준값 + (각 피처의 기여도 합계)
  • Local Explanation : 전체 모델이 아니라 개별 예측값에 대한 설명이 가능
  • Consistency : 피처의 영향력이 커질수록 SHAP 값도 커져야 함

 

사용 방법

파이썬에서 아주 쉽게 사용 가능합니다. 모델을 학습한 뒤 Explainer 객체에 데이터를 넣으면 각 피처별 SHAP 값을 얻을 수 있고 다양한 플롯으로 시각화도 가능합니다 

import shap
explainer = shap.Explainer(model)
shap_values = explainer(X)
shap.plots.waterfall(shap_values[0])

 

주의사항

제가 초반에 가장 헷갈렸던 부분은 SHAP도 모델이라고 생각했었던 것인데요

⚠️ SHAP은 모델이 아닙니다 이미 학습된 모델을 해석하는 프레임워크입니다

 

SHAP vs 로지스틱 회귀

SHAP이 마치 로지스틱 회귀의 업그레이드처럼 보일 수 있지만 둘은 서로 다른 역할을 합니다.

구분 로지스틱 회귀 SHAP
역할 예측 모델 모델 해석 도구
출력 전체 피처의 계수 (일반적 경향) 개별 예측값에 대한 피처별 기여도
대상 선형 모델 중심 어떤 모델이든 가능 (트리, NN 등 포함)

 

예시로 보는 차이

  • 로지스틱 회귀 결과 :
    • age 변수의 계수 = +0.3 → 나이가 많을수록 수료 확률 증가
  • SHAP 결과 (개별 수강생 A) :
    • age SHAP 값 = +0.12 → 이 수강생의 수료 예측값 중 0.12는 나이 덕분

로지스틱 회귀는 전체적인 경향을 SHAP은 개별 케이스에서의 정량적 해석을 제공합니다.
결국 어떤 것을 활용할까를 보면 전체적인 경향을 봐야하는 경우와 개별 케이스를 봐야하는 경우를 나눠서 생각해야합니다.

 

예시 : 부트캠프 수료 예측 모델

예측 목적

  • 수강생이 과정을 수료할 가능성 예측
  • 결국 데이터 분석가는 주변 사람들에게 설명하는 것도 중요하기 때문에 단순히 예측 정확도뿐 아니라 왜 그런 결과가 나왔는지 해석하는 것이 핵심입니다

 

주요 입력 피처

Feature 설명
age 수강생 나이
pre_test_score 사전 테스트 점수
attendance_rate 출석률
project_score 중간 프로젝트 점수
slack_activity 슬랙 활동 빈도
feedback_sentiment 수업 피드백 감성 점수
study_hours 하루 평균 공부 시간

 

로지스틱 회귀의 한계

  • 회귀 계수 예시:
    • attendance_rate: +2.5
    • project_score: +1.2
    • age: -0.7

→ 전체적으로 출석률이 수료에 긍정적, 나이는 부정적 영향을 준다는 일반적인 경향은 파악 가능
하지만 개별 수강생에게 어떤 피처가 실제로 영향을 미쳤는지는 알기 어렵습니다.

 

SHAP으로 분석하면?

📢 이 그래프 하나로 어떤 인사이트를 얻을 수 있을까요? 📢

예시 이미지 (GPT)

SHAP Summary Plot을 보면 각 피처의 SHAP 값 분포와 해당 값(색상)의 영향력을 한눈에 볼 수 있습니다.

1. X축: SHAP Value

  • SHAP 값 > 0 : 해당 특성이 수료 확률을 높이는 방향으로 작용
  • SHAP 값 < 0 : 해당 특성이 수료 확률을 낮추는 방향으로 작용

2. Y축: Feature

  • 모델이 중요하다고 판단한 순서대로 위에서 아래로 나열 (가장 중요한 특성이 위에 위치)

3. 색상: Feature Value

  • 빨간색: 해당 특성의 값이 높음
  • 파란색: 해당 특성의 값이 낮음
    • 색과 SHAP 값의 방향을 같이 봐야 해석이 가능

 

해석 요약

피처 SHAP 해석
Attendance 출석률이 높을수록 수료 확률이 명확하게 증가하며, 가장 중요한 특성
Study Hours 학습 시간이 많을수록 수료 가능성이 높음
Project Score 프로젝트 점수 역시 수료에 긍정적 영향
Pre-test Score 사전 지식도 도움은 되지만 영향은 상대적으로 적음
Feedback Sentiment 영향력이 낮지만, 일부 긍정적인 피드백이 수료 확률을 높이는 데 도움이 될 수 있음
Age SHAP 분포도 작고 일관된 경향도 없음, 수료 예측에 주요 요소는 아님

 

실무 적용 예시

SHAP 분석 적용 방안 :

이탈 조기 경고 SHAP으로 이탈 위험 예측 → "슬랙 활동이 적고 프로젝트 점수가 낮은 수강생" 식의 조기 케어 가능

ex. 📢 [수강생 A] 슬랙 활동이 매우 적고, 프로젝트 점수도 낮습니다. 조기 이탈 가능성이 높습니다.

맞춤 피드백 개별 수강생에게 "출석률이 낮아서 수료 가능성이 떨어졌어요" 등 설명형 피드백 제공
교육 설계 개선 여러 SHAP 분석 결과를 바탕으로 수료율에 큰 영향을 준 요소 중심으로 커리큘럼/운영 전략 조정
마케팅 타깃 정의 수료 확률이 높은 지원자 특성을 시각화하여 이상적인 타깃 페르소나 정의 가능

 


 

마무리: SHAP이 주는 인사이트는 단순한 해석을 넘는다

  • 로지스틱 회귀는 전체적인 “경향”을 파악하는 데 강점이 있다면
  • SHAP은 “왜 이 수강생이 이런 결과를 가졌는가”를 명확히 보여줍니다

특히 부트캠프처럼 학습자 개인의 행동 데이터와 맞춤 전략이 중요한 환경에서는 SHAP은 단순한 설명 도구가 아니라 기획, 운영, 마케팅 전략 수립의 핵심 도구가 될 수 있습니다