일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- SQL
- KT 에이블스쿨
- 에트리 인턴
- 한국전자통신연구원
- kt aivle school
- cnn
- Eda
- ML
- arima
- 에이블러
- 시각화
- 지도학습
- 기계학습
- 빅분기
- 하둡
- 다변량분석
- 한국전자통신연구원 인턴
- hadoop
- 가나다영
- dx
- 에이블스쿨
- ETRI
- 소셜네트워크분석
- KT AIVLE
- SQLD
- Ai
- 웹크롤링
- r
- 빅데이터분석기사
- 서평
- 시계열
- matplot
- 프로그래머스
- ggplot2
- 딥러닝
- httr
- 하계인턴
- kaggle
- python
- 머신러닝
Archives
- Today
- Total
소품집
[python] SHAP (SHapley Additive exPlanations), 설명 가능한 인공지능 본문
728x90
1. SHAP Feature Importance
- feature importance plot
- 상위 중요도 기준으로 내림차순 기본 정렬
import shap
shap_values = shap.TreeExplainer(model).shap_values(train_data)
shap.summary_plot(shap_values, train_data, plot_type='bar')
SHAP 에는 저장 기능이 없기 때문에 matplotlib로 저장해야함.
import matplotlib.pyplot as plt
f = plf.figure()
shap.summary_plot(shap_values, X_test)
f.savefig('/경로/파일명.png', bbox_incehs='tight', dpi=600)
2. SHAP Summary Plot
- feature importance + feature effects
- 각 포인트는 기능 및 인스턴스에 대한 Shapley 값
- y축은 기능, x축은 Shapley 값에 의해 결정됨.
shap.summary_plot(shap_values, train_data)
2-2. SHAP Beeswarm plot
- 모델 출력에 어떤 영향을 미치는지를 보여주는 밀도를 표시해줌.
parameter
- max_display = n
- order = shap_values.abs.max(0) : SHAP 값의 최대 절댓값을 기준으로 정렬
변환
- shap_values.abs : 절대값을 plot, red로 고정
shap.plots.beeswarm(shap_values.abs, color='shap_red')
- shap_values.abs.mean(0) : bar plot이 beeswarm plot에 있는 점의 평균 값을 plot.
shap.plots.bar(shap_values.abs.mean(0))
3. SHAP Dependence scatter plot
- 각 독립변수가 종속변수에 미치는 영향을 확인하기 위해 scatter plot으로 확인할 수있음.
# Dependence scatter plot
shap.plots.scatter(shap_values[:'features'], color = shap_values)
참조
https://github.com/slundberg/shap
https://shap.readthedocs.io/en/latest/example_notebooks/api_examples/plots/beeswarm.html
728x90
'AI' 카테고리의 다른 글
학사 졸업 💙 (2) | 2023.02.18 |
---|---|
[TimeSeries] 시계열 교차검증 with Python : TSCV (Time Serise Cross Validation) (0) | 2023.02.15 |
[R] R에서 병렬처리 하기 - doParallel (0) | 2023.02.07 |
[알고리즘] Boruta 알고리즘 기반 변수선택 (4) | 2023.01.15 |
[빅분기] 22년 2회차 빅데이터분석기사 실기 정리 (0) | 2022.11.30 |
Comments