데이터과학 삼학년

LIME 결과 소수점 자리 핸들링 본문

Explainable AI

LIME 결과 소수점 자리 핸들링

Dan-k 2022. 7. 21. 19:03
반응형

LIME 결과 소수점 자리 핸들링

현황 및 필요성

- LIME의 feature별 임계값 기준이 소숫점 둘째자리까지 표시되게 되어 있음

예)

[('feature1> -0.20', 0.21103299565738834), 
('feature2> -0.02', 0.2084224450246051), 
('feature3<= -0.43', -0.17425035601421432)]

- LIME 임계값의 원값 복원(reverse scaling, inverse_transform)을 통해 모델의 탐지 이유에 대한 추가 설명자료 제공이 필요함

- LIME내 소숫점 설정 핸들링이 따로 parameter로 제공되지는 않음

 

Action

- LIME source code를 직접 분석하여 코드를 custom하게 수정하자!

- 검토 결과, 2개 파일을 수정하면 가능한 것으로 확인

1. lime/discretize.py 수정

https://github.com/marcotcr/lime/blob/master/lime/discretize.py#L66-L70

2. lime/lime_tabular.py

https://github.com/marcotcr/lime/blob/fd7eb2e6f760619c29fca0187c07b82157601b32/lime/lime_tabular.py#L284-L286

 

- VM에 인스톨된 lime 위치 파악하여 source code 수정

import os
import lime
print(inspect.getfile(lime)) 
#'/usr/local/lib/python3.9/dist-packages/lime'

적용 결과

- LIME source code를 소숫점 다섯자리까지 표현하도록 변경후 의도대로 작동 확인

[[('feature1> -0.19212', 0.21103299565738834), 
('feature2> -0.02125', 0.2084224450246051), 
('feature3<= -0.43184', -0.17425035601421432)]

 

728x90
반응형
LIST

'Explainable AI' 카테고리의 다른 글

Feature Interaction  (0) 2022.12.21
Accumulated Local Effects (ALE) Plot  (0) 2022.12.03
ICE (Individual conditional expectation)  (0) 2022.06.01
PDP (Partial Dependence Plot)  (0) 2022.05.28
SHAP (SHapley Additive exPlanations)  (0) 2020.08.19
Comments