1. feature importance
1. Xgboost의 feature importance 측정 기준
2. featrue importance의 좋고 나쁨의 기준
2. Shap value
1. 정의
2. 특징
3. 활용(해석)
-모델의 성능도 중요하지만 Y를 예측하는 데 어떤 변수가 어떻게 영향을 끼치는지 해석(활용)하는 것도 중요
-모델의 성능보다 변수의 활용(인자가 뭐냐)에 초점을 맞출 땐 선형회귀를 많이 사용
=> 회귀계수, p-value로 긍정적/부정적 영향, 얼마나 영향을 미치는지, 유의한지 알 수 있음
-복잡한 모델은 해석이 쉽지 않음(목적에 따라 선택)
1) Accuracy가 낮고 설명하기 쉬운 모델(Linear regression, Decision Tree)
=> 해석, 인자를 찾는 게 중요할 때 사용
2) Accuracy가 높고 설명하기 어려운 모델(Ensemble Learning, Neural Network)
=> 성능을 높이는 게 중요할 때 사용
1. feature importance(변수 중요도)
-ensemble learning 모델들은 중요 변수(feature)를 추출할 수 있는 알고리즘이 내장됨
=> 변수의 중요도만 알 수 있고, 얼마나 어떻게 영향을 미치는지(양수/음수, 크기) 알 수 없음
1. Xgboost의 feature importance 측정 기준
-weight: 변수 별 데이터를 분리하는 데 쓰인 횟수
-cover: 변수 별 데이터를 분리하는 데 쓰인 횟수(해당 변수로 인해 분리된 데이터의 수로 가중치)
=> weight보다 합리적인 지표
-gain: feature를 사용했을 때 줄어드는 평균적인 training loss
=> cover와 비슷하지만 더 수치화
-단점: 변수 중요도만 알 수 있고 해석이 불가능, 변수 중요도 측정 기준별로 중요 변수가 달라짐
2. featrue importance의 좋고 나쁨의 기준
-consistency(일치성): 특정 변수의 영향이 많이 가도록 모델을 수정하면, 중요도 측정 시 해당 변수의 중요도가 줄지 않아야 함
=> bagging, 앙상블을 했을 때 각 모델별로 변수의 중요도가 달라지지 않아야 함(같은 데이터면 같은 중요도)
-consistency가 없으면 두 모델의 feature에 대해 비교 힘듦, feature importance가 높다고 중요하다고 말하기 힘듦(해석 무의미)
-대부분의 feature importance 지표는 inconsistency
=> 이 단점을 보완하기 위해 shap value 사용
2. Shap value
-shap value: inconsistency한 문제를 해결하기 위한 지표
1. 정의
-(연합 게임 이론)goal을 성취하기 위해 player들이 협업하여, 전체 payout에 대해 각 player들의 기여도에 따라 payout을 배당
=> goal=prediction, player=feature, payout=feature attribution
-특정 관측치의 j번째 feature로 인한 실제 예측치와 평균 예측치의 평균적인 차이
-목적: 실제 예측값과 평균 예측값의 차이를 변수별 효과로 설명하는 것
-A변수의 기여도를 알아볼 때(예시)
1) A, B, C 변수를 고정(연합)으로 하고, 나머지 변수를 무작위(랜덤)로 뽑아 예측값1 계산
2) B, C만 고정으로 하고, A를 포함한 나머지 변수를 무작위로 뽑아 예측값2 계산
3) A 변수의 marginal contribution = 예측값1 - 예측값2
=> 샘플링된 변수들에 따라 이 값이 달라짐
4) 이 과정을 반복하여 weighted average를 구한 값이 shap value
2. 특징
-consistency함(feature importance의 단점 보완)
=> 모델이 바뀌어도 shap value값이 달라지지 않음(일치성이 있음)
-특정 관측치 별로 feature가 어떻게 영향을 미치는지 개별적으로 볼 수 있음
-다양한 변수들의 조합을 시각화하여 영향력을 파악하기 쉬움
3. 활용(해석)
-feature contribution이 양수이면 평균 예측치에 비해 긍정적인 효과
-feature contribution이 음수이면 평균 예측치에 비해 부정적인 효과
-'feature contribution이 양수인 변수의 값을 높이면 Y가 증가한다'고 해석X(회귀분석도 마찬가지)
=> 예측을 하는 것이지 인과관계를 보는 것이 아님
-'feature contribution이 양수인 변수의 값이 높을수록 Y가 평균치보다 클 확률이 높아진다(경향이 높다)'고 해석
'데이터분석 > 이론' 카테고리의 다른 글
[머신러닝]군집분석(Clustering) - K-means clustering, Hierarchical clustering, DBSCAN 이론 (0) | 2022.03.15 |
---|---|
[머신러닝]앙상블(Ensemble) - Bagging, RandomForest, Boosting, Stacking 이론 (0) | 2022.03.13 |
[머신러닝]앙상블(Ensemble) 이론 (0) | 2022.03.13 |
[머신러닝]의사결정나무(Decision Tree) 이론 (0) | 2022.03.13 |
[머신러닝] SVM(Support Vector Machine) 이론 (0) | 2022.03.12 |