안녕하세요!!
벌써 에이블스쿨의 10주차가 지났습니다.
10주차에는 저번에 데이터 분석 강의를 진행해주신 한기영강사님께서 진행하였습니다.
AI모델 해석/평가는 이틀동안 진행되었고 AI모델을 해석하고 평가할 수 있는 방법에 대해 배웠습니다!!
비즈니스를 위한 인공지능
고객이 AI전문가에게 던지는 두 가지 질문
1. 모델이 왜 그렇게 예측했나요?
2. 모델은 비즈니스 문제를 해결할 수 있을까요??
설명이 필요한 이유?
1. 비즈니스 문제를 해결해야하기 때문
2. 설명이 잘 되는 알고리즘을은 대체적으로 성능이 낮다.
모델 해석 방식
모델전체 | 개별데이터 | |
특정모델 | - 트리기반 모델(DecisionTree, RandomForest, XGB 등) 변수중요도 : Tree plot - 선형회귀, 로지스틱회귀 회귀계수 |
|
모든모델 | - 일반모델의 변수 중요도 PFI - X에 따른 y예측의 변화 PDP |
- X에 따른 y예측의 변화 ICE plot - SHAP |
트리모델의 변수 중요도
알고리즘 별 내부 규칙에 의해, 예측에 대한 변수 별 영향도 측정 값
성능이 낮은 모델에서의 변수 중요도는 의미 없다!
보스턴 집값 데이터 예측
last가 가장 많이 영향을 미치는 것을 확인할 수 있다.
일반모델의 변수 중요도
PFI
알고리즘과 상관 없이 변수 중요도를 파악할 수 있는 방법
Feature 하나의 데이터를 무작위로 섞을 때, model의 score가 얼마나 감소되는지로 계
ICE Plot
개별 행에서 특정 변수의 변화에 따른 예측 값의 변화 시각화
변수의 영향력을 파악하는데 유용함
lstat의 변화에 따른 집값 변화
PDP
ICE Plot의 평균선 -> PDP
두 변수의 조합으로 분석도 가능
shap
예측값의 전체 평균을 중심으로 예측된 값에 어떠한 영향을 주었는지 변수 별 확인
shap라이브러리 사용
!pip install shap
# SHAP 값으로 모델의 예측 설명하기
explainer1 = shap.TreeExplainer(model1)
shap_values1 = explainer1.shap_values(x_train)
shap.initjs()
shap.force_plot(explainer1.expected_value, shap_values1[0, :], x_train.iloc[0,:])
base value : 전체 평균
20.08: 예측값
빨간 부분 : 상승요인
파란 부분: 하락요인
'KT에이블스쿨 > 에이쁠 기자단' 카테고리의 다른 글
[KT 에이쁠 기자단] 12주차 후기(10.23~10.27) - 미니프로젝트 5차 (0) | 2023.11.11 |
---|---|
[KT 에이쁠 기자단] 10,11주차 후기(10.12~10.20) - 미니프로젝트 4차 (0) | 2023.11.11 |
[KT 에이쁠 기자단] 8,9주차 후기(9.26~10.6) - 언어지능 딥러닝 (2) | 2023.10.07 |
[KT 에이쁠 기자단] 7주차 후기(9.11~9.15) - 시각지능 딥러닝, 3차미니프로젝트 (0) | 2023.10.03 |
[KT 에이쁠 기자단] 6주차 후기(9.11~9.15) - 2차 미니프로젝트 (0) | 2023.09.17 |