XAI: Coefficient, Feature importance, and SHAP

2026. 3. 24. 14:42·Programming/ML
728x90
728x90

XAI는 eXplainable AI의 약어로,
AI 모델이 왜 이같은 예측(결과)을 내어놓았는지를 설명하는 기술을 가리킴.

 

이 글은 XAI에서 사용되는 도구들인

  • coefficient,
  • feature importance
  • SHAP
    를 비교 설명함.

사실 SHAP를 설명하기 위한 글로,

통계분석이나 classic ML의 사용자들에게 익숙한 coefficient와 feautre importance를 통해

SHAP의 특징을 설명하는 글임.


coefficient

coefficient는 변수에 곱해지는 상수를 가리키는 용어로,
ML에선 다음을 의미함:

  • 보통 선형모델(linear model), 예를 들어
    • Linear Regression이나
    • Logistic Regression에서
  • 변수에 곱해지는 계수를 가리킴 (parameter, weight).

Logistic Regression에서

  • age의 coefficient가 양수이면 age가 커질수록 class 1(=Positive) 일 확률이 커짐.
  • 때문에, coefficient 절댓값이 크면 영향력이 크다는 해석이 가능함.

이같은 해석은 가능하지만 다음을 고려해서 결론을 내려야 함:

  • coefficient가 곱해지는 대상 변수의 feature scale 을 고려해야 한다.
  • one-hot encoding 된 범주형 변수는 기준 범주(reference category)에 대한 상대 비교가 됨
  • 다른 변수와 상호작용이 큰 비선형 모델(feature간의 correlation이 큰 경우)에서는 coefficient로 영향력을 설명하기 어려움.

즉 coefficient는

  • "모델 (주로 선형)에서의 파라미터" 로서
  • 관련 feature가 모델의 결과에 영향을 얼마나 주는지를 파악하는데 도움이 되나
  • feature간 correlation이 크거나, feature간의 feature scale의 차이가 매우 차이가 나는 경우엔
  • 단순 절대값으로 결과에 영향력으로 판단해서는 안 됨.

참고로, Random Forest 같은 tree 모델에서는 아예 coefficient라는 개념 자체가 없다는 점도 유의해야 함.

  • Random Forest 에선 feature importance를 통해
  • 특정 feature가 Random Forest 모델의 결과값에 대한 영향력을 파악할 수 있음.

feature importance

feature importance는 tree 기반 모델이 자주 제공하는 global "중요도 요약값" 이라고 할 수 있음.

이는 tree기반 모델에서 다음을 의미함:

  • 어떤 feature가 tree기반 모델에서 split에 많이 기여한 정도.
  • 즉, split를 통해 얼마나 impurity 감소(gini계수로 impurity정도 계산)에 공헌했는 지를 의미함: purity increament
  • 주로 상위 노드에서 사용되는 feature들이 높은 feature importance를 가짐.

실제 정량적인 예제가 필요하다면 다음을 참고:

2024.11.10 - [Programming/ML] - [ML] Feature Importances for Decision Tree

 

[ML] Feature Importances for Decision Tree

이 문서는 Feature Importance를 Decision Tree에서 Gini Impurity Measure를 이용하여 계산하는 예제를 보여줌.Tree 예시 (depth = 3) [Root] (X1) [5:5] / \ Node1 Node2 (X2) (X3) [4:1] [1:4] / \ / \Leaf1 Leaf2 Leaf3 Leaf4[3:0] [1:1] [0:2] [

dsaint31.tistory.com

 

결국, feature importance는

  • 모델 전체 수준(global)에서
  • 그 feature가 얼마나 많이 사용되었는지를 정량적으로 보여주는 값임.

하지만 다음을 주의해야 함:

  • coefficient의 경우 sign을 통해 어느 방향으로 영향을 주는지를 파악가능한 것과 달리,
  • feature importance는 방향성을 전혀 애기해주지 않음.
  • 개별 sample에 대한 설명이 불가함.
    • 특정 환자에선 age가 결과에 큰 영향을 주고,
    • 다른 환자에선 혈당이 큰 영향을 줄 수 있는데
    • 이를 feature importance로는 구분할 수 없음.
  • 범주형 변수를 one-hot encoding 할 경우, 해당 feature의 영향력이 분산됨 (보통은 다 더해서 다시 확인함).
  • split에 미치는 영향이기 때문에 실제 중요도의 정도와 차이가 있을 수 있음.

SHAP

SHAP은 SHapley Additive exPlanations의 약자로,
게임이론(game theory)의 Shapley value를 머신러닝 모델 해석에 적용한 설명 기법임.

SHAP은
Lundberg와 Lee가 2017년에 발표한 논문
"A Unified Approach to Interpreting Model Predictions"를 통해 널리 소개됨.

이는 각 feature가 예측값에 얼마나 기여했는지를 정량적으로 분해해 설명하는 방법으로 
복잡한 비선형 모델에도 비교적 일관된 방식으로 적용가능하기 때문에 
XAI의 대표 기법 중 하나로 인정됨.

 

SHAP는

  • 각 sample에서
  • 특정 feature가 예측 결과의 값(e.g. binary classification의 경우 postive일 확률값)을 얼마나 증가시켰는지 또는 감소시켰는지를 분해하여 보여줌.
  • 이들에 대한 절대값 평균을 취하여 각 feature가 모델 전체의 결과에 얼마나 기여하는지도 보여줌.

 

SHAP는 모델의 예측값을 다음으로 분해해서 보여줌:

예측값 = "base_value" + "각각의 feature의 기여도의 합"

 

SAHP는

  • 개별 sample에 대해서 모델의 결과에 미친 각 feature의 영향을 정량화할 수 있으며,
  • 이들을 더하면 해당 sample에 대한 모델의 결과값이 됨.

다음과 같은 특징을 가짐:

  • 개별 샘플 수준(local explanation)에 적용하여 feature의 중요도를 비교 가능
    • local explanation 에선 특정 feature가 어느 방향(sign에 의해)으로 영향을 주는지도 파악 가능.
    • 주로 waterfall plot 을 사용함.
  • 전체 데이터 수준(global explanation)에 적용도 가능
    • mean absolute SHAP 를 각 feature로 구하면,
    • 전체 데이터에서 각 feature의 기여도를 파악할 수 있음.
    • 주로 summary plot을 사용함.
  • sign이 의미를 가짐:
    • binary classification의 경우:
    • +면 class 1 방향으로 영향을 주고
    • -면 class 1 반대 방향으로 영향을 줌.
  • 각 샘플의 예측을 feature별 기여도의 합으로 설명 가능.

feature importance와 mean absolute SHAP는
비슷한 순서로 feature들을 정렬할 수도 있으나,
정확히 일치하는 경우가 오히려 적음: 정의 차체가 다름.
단, 기여도가 매우 큰 feature에선
두 경우 모두 큰 값을 가지기 쉬움.

 

Waterfall plot

다음은 waterfall plot으로 SHAP가 개별 sample에서 어떻게 결과가 나왔는지를 설명하는지를 보여준다.

다음은 binary classification 모델에서 특정 샘플이 positive일 확률이 0.414가 나왔는데 이 결과가 어떻게 나왔는지를 각 feature의 기여도록 분해하여 보여줌. 

  • base value 는 $E[F(X)]=0.583$ 으로 feature값을 전혀 모를 때 positive라고 예측할 평균확률임.
  • 맨 아래의 smoking 의 값이 Former (예전 담배를 핌) 라는 것이 positive일 확률을 0.01 정도 올림.
  • sex 가 Male 이라는 값을 가지는 점이 positive일 확률을 0.01 올림.
  • 주거 지역(region)이 incheon 이라는 것이 positive일 확률을 0.02 낮춤.
  • bmi가 17.3 이라는 점이 positive 일 확률을 0.03 낮춤.
  • glucose가 123.4라는 점이 확률을 0.08 올림.
  • age가 20이라는 점이 확률을 0.21 낮춤.
  • 이들을 다 더함으로서 모델은 positive일 확률을 현재 sample $\textbf{x}$에 대해 0.414 로 구함.

Summary plot

다음은 SHAP가 전체 데이터를 사용하여 모델에서 예측에 각 feature가 어떻게 기여했는지를 보여주는 summary plot임.

  • 위에 있을수록 mean absolute SHAP 값이 큰 feature로 결과에 영향력이 더 크다고 볼 수 있음.
  • glucose, age, bmi는 numerical data로 값이 클수록 붉은색의 원이고, 작을수록 푸른색임.
    • 세 feature 모두 큰 값일수록 positive인 확률값을 결과로 나오도록 기여함이 표시됨.
    • 단, glucose가 가장 큰 영향을 미치며, age는 그보다 작은 영향을 보임. 
    • bmi는 방향성은 보이나 영향력은 이 둘에 못 미침.(폭이 매 적음)
  • 회색으로 표시된 smoking과 region, sex는 categorical data 임.
    • smoking 중 일부 class (현재 흡연을 나타내는 current)가 큰 영향을 주기 때문에 positive에 일부 큰 범위에 원이 조냊.
    • sex는 거의 영향을 주지 않으므로 매우 작은 범위의 기여도륵 보임

위의 summary plot과 water plot에 대한 mean absolute SHAP값의 table은 다음과 같음:

   feature  mean_abs_shap
2  glucose       0.129659
0      age       0.102015
4  smoking       0.048772
5   region       0.029500
1      bmi       0.028513
3      sex       0.009546

같이보면 좋은 자료

https://gist.github.com/ds31x/49096c1f1726149206a0b503adb38d57

 

xai_shap.ipynb

xai_shap.ipynb. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

728x90

'Programming > ML' 카테고리의 다른 글

ULMFit : Transfer Learning for NLP  (0) 2026.01.16
Overfitting (과적합)  (0) 2025.11.20
Lasso Regression  (0) 2025.11.08
Ridge Regression  (1) 2025.11.06
Subgradient 와 Gradient Descent  (0) 2025.11.02
'Programming/ML' 카테고리의 다른 글
  • ULMFit : Transfer Learning for NLP
  • Overfitting (과적합)
  • Lasso Regression
  • Ridge Regression
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (790)
      • Private Life (16)
      • Programming (207)
        • DIP (116)
        • ML (36)
      • Computer (121)
        • CE (55)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    signals_and_systems
    Python
    math
    cv2
    fourier transform
    numpy
    SS
    Probability
    Term
    random
    signal_and_system
    Vector
    Optimization
    ML
    Programming
    인허가제도
    function
    linear algebra
    SIGNAL
    opencv
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
XAI: Coefficient, Feature importance, and SHAP
상단으로

티스토리툴바