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
- 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